Heim > Artikel > Backend-Entwicklung > 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
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
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()math.lgamma(x)
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))
Die Ausgabe des obigen Python-Codes ist -
12.801827480081467 1.5791760340399836 1.0923280598027416
math.gamma()
undFunktion. 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))
Die erhaltene Ausgabe ist wie folgt -
12.801827480081469 1.5791760340399839 1.0923280598027414
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()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))
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!