Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Programm zur Berechnung des logarithmischen Gammas einer bestimmten Zahl

Python-Programm zur Berechnung des logarithmischen Gammas einer bestimmten Zahl

WBOY
WBOYnach vorne
2023-09-04 22:05:05861Durchsuche

Python-Programm zur Berechnung des logarithmischen Gammas einer bestimmten Zahl

In der Mathematik wird die Gammafunktion als Erweiterung der Fakultät einer beliebigen Zahl betrachtet. Da die Fakultät jedoch nur für reelle Zahlen definiert ist, geht die Definition der Fakultät für alle komplexen Zahlen außer negativen ganzen Zahlen mit der Gammafunktion über den Rahmen hinaus. Es wird durch -

dargestellt
Γ(x) = (x-1)!

Die logarithmische Gammafunktion entsteht, weil die Gammafunktion nur bei größeren Zahlen schnell wächst, sodass die Anwendung des Logarithmus auf Gamma sie stark verlangsamt. Es wird auch als „natürlicher Logarithmus-Gamma“ einer bestimmten Zahl bezeichnet.

log(Γ(x)) = log((x-1)!)
In der Programmiersprache Python wird die Log-Gamma-Funktion wie in anderen Programmiersprachen mit der Funktion

math.lgamma()

berechnet. Wir werden uns in diesem Artikel jedoch auch mit einigen anderen Möglichkeiten zur Berechnung des Log-Gammas einer Zahl befassen. Eingabe- und Ausgabeszenarien

Sehen wir uns einige Eingabe-Ausgabe-Szenarien an, um die Log-Gamma-Funktion mithilfe der Methode math.lgamma() zu finden.

Angenommen, die Eingabe in die Log-Gamma-Funktion ist eine positive ganze Zahl -

Input: 12
Result: 17.502307845873887

Angenommen, die Eingabe in die Log-Gamma-Funktion ist eine negative Ganzzahl -

Input: -12
Result: “ValueError: math domain error”

Angenommen, die Eingabe in die Log-Gamma-Funktion ist Null -

Input: 0
Result: “ValueError: math domain error”

Angenommen, die Eingabe in die Log-Gamma-Funktion ist ein negativer Dezimalwert nahe Null -

Input: -0.2
Result: 1.761497590833938

Bei Verwendung der lgamma()-Methode erhalten Sie einen Domänenfehler, da die Funktion für alle komplexen Zahlen minus negative „Ganzzahlen“ definiert ist. Schauen wir uns verschiedene Möglichkeiten an, um das logarithmische Gamma einer bestimmten Zahl zu ermitteln.

Verwenden Sie die Funktion

math.lgamma()

Die Methode lgamma() ist in der Mathematikbibliothek definiert und gibt den natürlichen logarithmischen Gammawert einer bestimmten Zahl zurück. Die Syntax dieser Methode ist -
math.lgamma(x)

wobei x eine beliebige komplexe Zahl außer negativen ganzen Zahlen ist.

Beispiel

Das Python-Beispiel für die Verwendung der Funktion math.lgamma() zum Ermitteln des Log-Gammas lautet wie folgt -

# import math library
import math

#log gamma of positive integer
x1 = 10
print(math.lgamma(x1))

#log gamma of negative complex number
x2 = -1.2
print(math.lgamma(x2))

#log gamma of a positive complex number
x3 = 3.4
print(math.lgamma(x3))

Ausgabe

Die Ausgabe des obigen Python-Codes ist -

12.801827480081467
1.5791760340399836
1.0923280598027416

Verwenden Sie die Funktionen

math.gamma()

und

math.log() Bei einem anderen Ansatz kann der logarithmische Gammawert einer Zahl ermittelt werden, indem zunächst der Gammawert der Zahl mit der Funktion math.gamma() ermittelt wird und dann mit

der Logarithmus auf den Gammawert angewendet wird. b>math.log()

Funktion. Hier unterteilen wir einfach die Funktion lgamma() in Schritte. Beispiel Die Python-Implementierung des obigen Prozesses ist wie folgt -

# import math library
import math

#log gamma of positive integer
x1 = math.gamma(10)
print(math.log(x1))

#log gamma of negative complex number
x2 = math.gamma(-1.2)
print(math.log(x2))

#log gamma of a positive complex number
x3 = math.gamma(3.4)
print(math.log(x3))

Ausgabe

Die erhaltene Ausgabe ist wie folgt -

12.801827480081469
1.5791760340399839
1.0923280598027414

Durch die Anwendung von Logarithmen auf die Fakultät einer Zahl

Eine einfachere Möglichkeit besteht darin, die Fakultät einer bestimmten Zahl zu finden, da die Gammafunktion als Fakultät einer komplexen Zahl definiert ist, und die Fakultät zu berechnen, indem der Logarithmus mit der Methode

math.log()

darauf angewendet wird.

Beispiel In diesem Python-Beispiel ermitteln wir das logarithmische Gamma einer Zahl mithilfe der Fakultät und der Methode math.log(). Der einzige Nachteil dieser Methode besteht darin, dass sie nur mit positiven ganzen Zahlen funktioniert.

# import math library
import math

def factorial(n):
   if n == 1:
      return 1
   else:
      return n*factorial(n-1)
	
#log gamma of positive integer
x1 = 10
y1 = factorial(x1-1)
print(math.log(y1))

x2 = 3
y2 = factorial(x2-1)
print(math.log(y2))

#log gamma of a positive complex number
x3 = 3.4
y3 = factorial(x3-1)
print(math.log(y3))

Ausgabe

Die Ausgabe ist -

12.801827480081469
0.6931471805599453
RecursionError: maximum recursion depth exceeded in comparison

Das obige ist der detaillierte Inhalt vonPython-Programm zur Berechnung des logarithmischen Gammas einer bestimmten Zahl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen