SciPy - Forfait spécial
Les fonctions disponibles dans le package spécial sont des fonctions universelles, qui suivent la diffusion et le bouclage automatique du tableau.
Examinons quelques-unes des fonctions spéciales les plus fréquemment utilisées -
- Fonction racine cubique
- Fonction exponentielle
- Fonction exponentielle d'erreur relative
- Fonction exponentielle de la somme du journal
- Fonction Lambert
- Fonction permutations et combinaisons
- Fonction gamma
Voyons maintenant chacune de ces fonctions en bref.
Fonction racine cubique
La syntaxe de cette fonction racine cubique est - scipy.special.cbrt (x). Cela récupérera la racine cubique élément par élément dex.
Prenons l'exemple suivant.
from scipy.special import cbrt
res = cbrt([10, 9, 0.1254, 234])
print res
Le programme ci-dessus générera la sortie suivante.
[ 2.15443469 2.08008382 0.50053277 6.16224015]
Fonction exponentielle
La syntaxe de la fonction exponentielle est - scipy.special.exp10 (x). Cela calculera 10 ** x élément par élément.
Prenons l'exemple suivant.
from scipy.special import exp10
res = exp10([2, 9])
print res
Le programme ci-dessus générera la sortie suivante.
[1.00000000e+02 1.00000000e+09]
Fonction exponentielle d'erreur relative
La syntaxe de cette fonction est - scipy.special.exprel (x). Il génère l'erreur relative exponentielle, (exp (x) - 1) / x.
Quand xest proche de zéro, exp (x) est proche de 1, donc le calcul numérique de exp (x) - 1 peut souffrir d'une perte de précision catastrophique. Ensuite, exprel (x) est implémenté pour éviter la perte de précision, qui se produit lorsquex est proche de zéro.
Prenons l'exemple suivant.
from scipy.special import exprel
res = exprel([-0.25, -0.1, 0, 0.1, 0.25])
print res
Le programme ci-dessus générera la sortie suivante.
[0.88479687 0.95162582 1. 1.05170918 1.13610167]
Fonction exponentielle de la somme du journal
La syntaxe de cette fonction est - scipy.special.logsumexp (x). Il aide à calculer le journal de la somme des exponentielles des éléments d'entrée.
Prenons l'exemple suivant.
from scipy.special import logsumexp
import numpy as np
a = np.arange(10)
res = logsumexp(a)
print res
Le programme ci-dessus générera la sortie suivante.
9.45862974443
Fonction Lambert
La syntaxe de cette fonction est - scipy.special.lambertw (x). Elle est également appelée fonction Lambert W. La fonction Lambert W W (z) est définie comme la fonction inverse de w * exp (w). En d'autres termes, la valeur de W (z) est telle que z = W (z) * exp (W (z)) pour tout nombre complexe z.
La fonction Lambert W est une fonction à valeurs multiples avec une infinité de branches. Chaque branche donne une solution distincte de l'équation z = w exp (w). Ici, les branches sont indexées par l'entier k.
Prenons l'exemple suivant. Ici, la fonction Lambert W est l'inverse de w exp (w).
from scipy.special import lambertw
w = lambertw(1)
print w
print w * np.exp(w)
Le programme ci-dessus générera la sortie suivante.
(0.56714329041+0j)
(1+0j)
Permutations et combinaisons
Discutons séparément des permutations et des combinaisons pour les comprendre clairement.
Combinations- La syntaxe de la fonction de combinaisons est - scipy.special.comb (N, k). Prenons l'exemple suivant -
from scipy.special import comb
res = comb(10, 3, exact = False,repetition=True)
print res
Le programme ci-dessus générera la sortie suivante.
220.0
Note- Les arguments de tableau ne sont acceptés que pour le cas exact = Faux. Si k> N, N <0 ou k <0, alors un 0 est renvoyé.
Permutations- La syntaxe de la fonction de combinaisons est - scipy.special.perm (N, k). Permutations de N choses prises k à la fois, c'est-à-dire k-permutations de N. Ceci est également connu sous le nom de «permutations partielles».
Prenons l'exemple suivant.
from scipy.special import perm
res = perm(10, 3, exact = True)
print res
Le programme ci-dessus générera la sortie suivante.
720
Fonction gamma
La fonction gamma est souvent appelée factorielle généralisée puisque z * gamma (z) = gamma (z + 1) et gamma (n + 1) = n !, pour un entier naturel 'n'.
La syntaxe de la fonction de combinaisons est - scipy.special.gamma (x). Permutations de N choses prises k à la fois, c'est-à-dire k-permutations de N. Ceci est également connu sous le nom de «permutations partielles».
La syntaxe de la fonction de combinaisons est - scipy.special.gamma (x). Permutations de N choses prises k à la fois, c'est-à-dire k-permutations de N. Ceci est également connu sous le nom de «permutations partielles».
from scipy.special import gamma
res = gamma([0, 0.5, 1, 5])
print res
Le programme ci-dessus générera la sortie suivante.
[inf 1.77245385 1. 24.]