SciPy - pakiet specjalny
Funkcje dostępne w specjalnym pakiecie to funkcje uniwersalne, które następują po rozgłoszeniu i automatycznym zapętleniu tablicy.
Przyjrzyjmy się niektórym z najczęściej używanych funkcji specjalnych -
- Funkcja pierwiastka sześciennego
- Funkcja wykładnicza
- Funkcja wykładnicza błędu względnego
- Funkcja wykładnicza sumy dziennika
- Funkcja Lamberta
- Funkcja permutacji i kombinacji
- Funkcja gamma
Przyjrzyjmy się teraz pokrótce każdej z tych funkcji.
Funkcja pierwiastka sześciennego
Składnia tej sześciennej funkcji pierwiastkowej to - scipy.special.cbrt (x). Spowoduje to pobranie pierwiastka sześciennego z uwzględnieniem elementówx.
Rozważmy następujący przykład.
from scipy.special import cbrt
res = cbrt([10, 9, 0.1254, 234])
print res
Powyższy program wygeneruje następujące dane wyjściowe.
[ 2.15443469 2.08008382 0.50053277 6.16224015]
Funkcja wykładnicza
Składnia funkcji wykładniczej to - scipy.special.exp10 (x). To obliczy 10 ** x element mądry.
Rozważmy następujący przykład.
from scipy.special import exp10
res = exp10([2, 9])
print res
Powyższy program wygeneruje następujące dane wyjściowe.
[1.00000000e+02 1.00000000e+09]
Funkcja wykładnicza błędu względnego
Składnia tej funkcji to - scipy.special.exprel (x). Generuje wykładniczy błąd względny (exp (x) - 1) / x.
Gdy xjest bliskie zeru, exp (x) jest bliskie 1, więc numeryczne obliczenie exp (x) - 1 może ucierpieć z powodu katastrofalnej utraty precyzji. Następnie implementowany jest exprel (x), aby uniknąć utraty precyzji, która występuje, gdyx jest bliski zeru.
Rozważmy następujący przykład.
from scipy.special import exprel
res = exprel([-0.25, -0.1, 0, 0.1, 0.25])
print res
Powyższy program wygeneruje następujące dane wyjściowe.
[0.88479687 0.95162582 1. 1.05170918 1.13610167]
Funkcja wykładnicza sumy dziennika
Składnia tej funkcji to - scipy.special.logsumexp (x). Pomaga obliczyć logarytm sumy wykładniczej elementów wejściowych.
Rozważmy następujący przykład.
from scipy.special import logsumexp
import numpy as np
a = np.arange(10)
res = logsumexp(a)
print res
Powyższy program wygeneruje następujące dane wyjściowe.
9.45862974443
Funkcja Lamberta
Składnia tej funkcji to - scipy.special.lambertw (x). Jest również nazywany funkcją Lamberta W. Funkcja Lamberta W W (z) jest zdefiniowana jako funkcja odwrotna funkcji w * exp (w). Innymi słowy, wartość W (z) jest taka, że z = W (z) * exp (W (z)) dla dowolnej liczby zespolonej z.
Funkcja Lamberta W jest funkcją wielowartościową z nieskończenie wieloma gałęziami. Każda gałąź daje oddzielne rozwiązanie równania z = w exp (w). Tutaj gałęzie są indeksowane przez liczbę całkowitą k.
Rozważmy następujący przykład. Tutaj funkcja Lamberta W jest odwrotnością w exp (w).
from scipy.special import lambertw
w = lambertw(1)
print w
print w * np.exp(w)
Powyższy program wygeneruje następujące dane wyjściowe.
(0.56714329041+0j)
(1+0j)
Permutacje i kombinacje
Omówmy oddzielnie permutacje i kombinacje, aby je dobrze zrozumieć.
Combinations- Składnia funkcji kombinacji to - scipy.special.comb (N, k). Rozważmy następujący przykład -
from scipy.special import comb
res = comb(10, 3, exact = False,repetition=True)
print res
Powyższy program wygeneruje następujące dane wyjściowe.
220.0
Note- Argumenty tablicowe są akceptowane tylko w przypadku dokładnego = fałszywego przypadku. Jeśli k> N, N <0 lub k <0, to zwracane jest 0.
Permutations- Składnia funkcji kombinacji to - scipy.special.perm (N, k). Permutacje N rzeczy przyjmowanych k na raz, tj. K-permutacje N. Jest to również znane jako „permutacje częściowe”.
Rozważmy następujący przykład.
from scipy.special import perm
res = perm(10, 3, exact = True)
print res
Powyższy program wygeneruje następujące dane wyjściowe.
720
Funkcja gamma
Funkcja gamma jest często określana jako uogólniona silnia, ponieważ z * gamma (z) = gamma (z + 1) i gamma (n + 1) = n !, dla liczby naturalnej „n”.
Składnia funkcji kombinacji to - scipy.special.gamma (x). Permutacje N rzeczy przyjmowane k na raz, tj. K-permutacje N. Jest to również znane jako „permutacje częściowe”.
Składnia funkcji kombinacji to - scipy.special.gamma (x). Permutacje N rzeczy przyjmowane k na raz, tj. K-permutacje N. Jest to również znane jako „permutacje częściowe”.
from scipy.special import gamma
res = gamma([0, 0.5, 1, 5])
print res
Powyższy program wygeneruje następujące dane wyjściowe.
[inf 1.77245385 1. 24.]