Programme Python pour calculer le gamma logarithmique d'un nombre donné

WBOY
Libérer: 2023-09-04 22:05:05
avant
922 Les gens l'ont consulté

Programme Python pour calculer le gamma logarithmique dun nombre donné

En mathématiques, la fonction gamma est considérée comme le développement de la factorielle d'un nombre donné. Cependant, puisque la factorielle n'est définie que pour les nombres réels, la fonction gamma dépasse le cadre de la définition de la factorielle pour tous les nombres complexes, à l'exception des entiers négatifs. Il est représenté par -

Γ(x) = (x-1)!
Copier après la connexion

La fonction gamma logarithmique survient parce que la fonction gamma ne croît rapidement que pour des nombres plus grands, donc appliquer le logarithme au gamma le ralentira considérablement. Il est également connu sous le nom de logarithme naturel gamma d'un nombre donné.

log(Γ(x)) = log((x-1)!)
Copier après la connexion

Dans le langage de programmation Python, comme dans d'autres langages de programmation, la fonction log-gamma est calculée à l'aide de la fonction math.lgamma(). Cependant, nous examinerons également quelques autres façons de calculer le log gamma d’un nombre dans cet article.

Scénarios d'entrée et de sortie

Examinons quelques scénarios d'entrée-sortie pour trouver la fonction log-gamma à l'aide de la méthode math.lgamma().

Supposons que l'entrée de la fonction log gamma soit un entier positif -

Input: 12
Result: 17.502307845873887
Copier après la connexion

Supposons que l'entrée de la fonction log gamma soit un entier négatif -

Input: -12
Result: “ValueError: math domain error”
Copier après la connexion

Supposons que l'entrée de la fonction log gamma soit nulle -

Input: 0
Result: “ValueError: math domain error”
Copier après la connexion

Supposons que l'entrée de la fonction log gamma soit une valeur décimale négative proche de zéro -

Input: -0.2
Result: 1.761497590833938
Copier après la connexion

Vous obtenez une erreur de domaine lorsque vous utilisez la méthode lgamma() car la fonction est définie pour tous les nombres complexes moins les « entiers » négatifs. Examinons différentes manières de trouver le log gamma d'un nombre donné.

Utilisez la fonction math.lgamma()

La méthode

lgamma() est définie dans la bibliothèque mathématique et renvoie la valeur gamma logarithmique naturelle d'un nombre donné. La syntaxe de cette méthode est -

math.lgamma(x)
Copier après la connexion

où x est n'importe quel nombre complexe à l'exception des entiers négatifs.

Exemple

L'exemple Python d'utilisation de la fonction math.lgamma() pour trouver le journal gamma est le suivant -

# 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))
Copier après la connexion

Sortie

La sortie du code python ci-dessus est -

12.801827480081467
1.5791760340399836
1.0923280598027416
Copier après la connexion

Utilisez les fonctions math.gamma() et math.log()

Dans une autre approche, le gamma logarithmique d'un nombre peut être trouvé en trouvant d'abord le gamma du nombre à l'aide de la fonction math.gamma(), puis en utilisant pour appliquer le logarithme à la valeur gamma. Fonction b>math.log(). Ici, nous divisons simplement la fonction lgamma() en étapes.

Exemple

L'implémentation python du processus ci-dessus est la suivante -

# 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))
Copier après la connexion

Sortie

Le résultat obtenu est le suivant -

12.801827480081469
1.5791760340399839
1.0923280598027414
Copier après la connexion

En appliquant des logarithmes à la factorielle d'un nombre

Un moyen plus simple consiste à trouver la factorielle d'un nombre donné, puisque la fonction gamma est définie comme la factorielle d'un nombre complexe, et à calculer la factorielle en lui appliquant le logarithme à l'aide de la méthode math.log().

Exemple

Dans cet exemple Python, nous trouvons le gamma logarithmique d'un nombre en utilisant la factorielle et la méthode math.log(). Le seul inconvénient de cette méthode est qu’elle ne fonctionne qu’avec des entiers positifs.

# 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))
Copier après la connexion

Sortie

La sortie est -

12.801827480081469
0.6931471805599453
RecursionError: maximum recursion depth exceeded in comparison
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal