SciPy - Paquete especial

Las funciones disponibles en el paquete especial son funciones universales, que siguen a la transmisión y al bucle de matriz automático.

Veamos algunas de las funciones especiales que se utilizan con más frecuencia:

  • Función de raíz cúbica
  • Funcion exponencial
  • Función exponencial de error relativo
  • Función exponencial log suma
  • Función de Lambert
  • Función de permutaciones y combinaciones
  • Función gamma

Entendamos ahora brevemente cada una de estas funciones.

Función de raíz cúbica

La sintaxis de esta función de raíz cúbica es: scipy.special.cbrt (x). Esto obtendrá la raíz cúbica de elementos dex.

Consideremos el siguiente ejemplo.

from scipy.special import cbrt
res = cbrt([10, 9, 0.1254, 234])
print res

El programa anterior generará la siguiente salida.

[ 2.15443469 2.08008382 0.50053277 6.16224015]

Funcion exponencial

La sintaxis de la función exponencial es - scipy.special.exp10 (x). Esto calculará 10 ** x elemento sabio.

Consideremos el siguiente ejemplo.

from scipy.special import exp10
res = exp10([2, 9])
print res

El programa anterior generará la siguiente salida.

[1.00000000e+02  1.00000000e+09]

Función exponencial de error relativo

La sintaxis de esta función es - scipy.special.exprel (x). Genera el error relativo exponencial, (exp (x) - 1) / x.

Cuando xestá cerca de cero, exp (x) está cerca de 1, por lo que el cálculo numérico de exp (x) - 1 puede sufrir una pérdida catastrófica de precisión. Luego se implementa exprel (x) para evitar la pérdida de precisión, que ocurre cuandox está cerca de cero.

Consideremos el siguiente ejemplo.

from scipy.special import exprel
res = exprel([-0.25, -0.1, 0, 0.1, 0.25])
print res

El programa anterior generará la siguiente salida.

[0.88479687 0.95162582 1.   1.05170918 1.13610167]

Función exponencial log suma

La sintaxis de esta función es - scipy.special.logsumexp (x). Ayuda a calcular el logaritmo de la suma de exponenciales de los elementos de entrada.

Consideremos el siguiente ejemplo.

from scipy.special import logsumexp
import numpy as np
a = np.arange(10)
res = logsumexp(a)
print res

El programa anterior generará la siguiente salida.

9.45862974443

Función de Lambert

La sintaxis de esta función es - scipy.special.lambertw (x). También se llama función de Lambert W. La función W de Lambert W (z) se define como la función inversa de w * exp (w). En otras palabras, el valor de W (z) es tal que z = W (z) * exp (W (z)) para cualquier número complejo z.

La función Lambert W es una función multivalor con infinitas ramas. Cada rama da una solución separada de la ecuación z = w exp (w). Aquí, las ramas están indexadas por el entero k.

Consideremos el siguiente ejemplo. Aquí, la función W de Lambert es la inversa de w exp (w).

from scipy.special import lambertw
w = lambertw(1)
print w
print w * np.exp(w)

El programa anterior generará la siguiente salida.

(0.56714329041+0j)
(1+0j)

Permutaciones y combinaciones

Analicemos las permutaciones y combinaciones por separado para comprenderlas con claridad.

Combinations- La sintaxis para la función de combinaciones es - scipy.special.comb (N, k). Consideremos el siguiente ejemplo:

from scipy.special import comb
res = comb(10, 3, exact = False,repetition=True)
print res

El programa anterior generará la siguiente salida.

220.0

Note- Los argumentos de matriz se aceptan solo para el caso exacto = falso. Si k> N, N <0 o k <0, se devuelve un 0.

Permutations- La sintaxis para la función de combinaciones es - scipy.special.perm (N, k). Permutaciones de N cosas tomadas k a la vez, es decir, k-permutaciones de N. Esto también se conoce como “permutaciones parciales”.

Consideremos el siguiente ejemplo.

from scipy.special import perm
res = perm(10, 3, exact = True)
print res

El programa anterior generará la siguiente salida.

720

Función gamma

La función gamma a menudo se denomina factorial generalizado, ya que z * gamma (z) = gamma (z + 1) y gamma (n + 1) = n !, para un número natural 'n'.

La sintaxis de la función de combinaciones es - scipy.special.gamma (x). Permutaciones de N cosas tomadas k a la vez, es decir, k-permutaciones de N. Esto también se conoce como “permutaciones parciales”.

La sintaxis de la función de combinaciones es - scipy.special.gamma (x). Permutaciones de N cosas tomadas k a la vez, es decir, k-permutaciones de N. Esto también se conoce como “permutaciones parciales”.

from scipy.special import gamma
res = gamma([0, 0.5, 1, 5])
print res

El programa anterior generará la siguiente salida.

[inf  1.77245385  1.  24.]