Funciones especiales en SciPy

En este artículo, vamos a ver las funciones especiales de Scipy. Las funciones especiales en scipy se utilizan para realizar operaciones matemáticas en los datos dados. La función especial en scipy es un módulo disponible en el paquete scipy. Dentro de esta función especial, los métodos disponibles son:

  • cbrt – que da la raíz cúbica del número dado
  • comb – da las combinaciones de los elementos
  • exp10 – da el número elevado a 10 potencia del número dado
  • exprel – da el error relativo exponencial, (exp(x) – 1)/x.
  • gamma : devuelve el valor calculando z*gamma(z) = gamma(z+1) y gamma(n+1) = n!, para un número natural ‘n’.
  • lambertw : calcula W(z) * exp(W(z)) para cualquier número complejo z, donde W es la función lambertw
  • logsumexp – da el logaritmo de la suma de exponencial de un número dado
  • perm – da las permutaciones de los elementos

Vamos a entender acerca de estas funciones en detalle.

1. cbrt()

Esto se usa para devolver la raíz cúbica del número dado.

Sintaxis: cbrt(número)

Ejemplo: Programa para encontrar la raíz cúbica

Python3

from scipy.special import cbrt
  
# cube root of 64
print(cbrt(64))
  
# cube root of 78
print(cbrt(78))
  
# cube root of 128
print(cbrt(128))

Producción:

4.0
4.272658681697917
5.039684199579493

Ejemplo: programa para encontrar la raíz cúbica en los elementos de array dados.

Python3

from scipy.special import cbrt
  
# cube root of elements in an array
arr = [64, 164, 564, 4, 640]
arr = list(map(cbrt,arr))
print(arr)

Producción:

[4.0, 5.473703674798428, 8.26214922566535, 1.5874010519681994, 8.617738760127535]

2. peine()

Se conoce como combinaciones y devuelve la combinación de un valor dado.

Sintaxis: scipy.special.comb(N, k)

Donde, N es el valor de entrada y k es el número de repeticiones.

Ejemplo 1:

Python3

# import combinations
from scipy.special import comb
  
# combinations of input 4
print(comb(4,1))

Producción:

4.0

Ejemplo 2:

Python3

# import combinations module
from scipy.special import comb
  
# combinations of 4
print([comb(4,1),comb(4,2),comb(4,3),
       comb(4,4),comb(4,5)])
  
# combinations of 6
print([comb(6,1),comb(6,2),comb(6,3),
       comb(6,4),comb(6,5)])

Producción:

[4.0, 6.0, 4.0, 1.0, 0.0]
[6.0, 15.0, 20.0, 15.0, 6.0]

3. exp10()

Este método da el número elevado a 10 potencia del número dado.

Sintaxis: exp10(valor)

Donde valor es el número que se da como entrada.

Ejemplo: Programa para hallar la potencia de 10

Python3

from scipy.special import exp10
  
  
# 10 to the power of 2
print(exp10(2))

Producción:

100.0

Ejemplo: Programa para encontrar las potencias de 10 para un rango

Python3

from scipy.special import exp10
  
# exponent raise to power 10 
# for a range
for i in range(1,10):
  print(exp10(i)

Producción:

10.0
100.0
1000.0
10000.0
100000.0
1000000.0
10000000.0
100000000.0
1000000000.0

4. exprés()

Se conoce como la Función Exponencial de Error Relativo. Devuelve el valor de error para una variable dada. Si x está cerca de cero, entonces exp(x) está cerca de 1.

Sintaxis: scipy.special.exprel(input_data)

Ejemplo 1:

Python3

# import exprel
from scipy.special import exprel
  
  
# calculate exprel of 0
print(exprel(0))

Producción:

1.0

Ejemplo 2:

Python3

# import exprel
from scipy.special import exprel
  
# list of elements 
arr = [0,1,2,3,4,5]
  
print(list(map(exprel,arr)))

Producción:

[1.0, 1.718281828459045, 3.194528049465325, 6.361845641062556, 13.399537508286059, 29.48263182051532]

5. gama()

Se conoce como función Gamma. Es el factorial generalizado ya que z*gamma(z) = gamma(z+1) y gamma(n+1) = n!, para un número natural ‘n’.

Sintaxis: scipy.special.gamma(input_data)

Donde, datos de entrada es el número de entrada.

Ejemplo 1:

Python3

# import gamma function
from scipy.special import gamma
  
  
print(gamma(56))

Producción:

1.2696403353658278e+73

Ejemplo 2:

Python3

# import gamma function
from scipy.special import gamma
  
  
print([gamma(56), gamma(156), gamma(0),
       gamma(1), gamma(5)])

Producción:

[1.2696403353658278e+73, 4.789142901463394e+273, inf, 1.0, 24.0]

6. lambertw()

También se conoce como función de Lambert. Calcula que el valor de W(z) es tal que z = W(z) * exp(W(z)) para cualquier número complejo z, donde W se conoce como la Función de Lambert

Sintaxis: scipy.special.lambertw(input_data)

Ejemplo:

Python3

# import lambert function
from scipy.special import lambertw
  
# calculate W value
print([lambertw(1),lambertw(0),lambertw(56),
       lambertw(68),lambertw(10)])

Producción:

[(0.5671432904097838+0j), 0j, (2.9451813101206707+0j), (3.0910098540499797+0j), (1.7455280027406994+0j)]

7. logsumexp()

Se conoce como función exponencial de suma logarítmica. Devolverá el logaritmo de la suma de la exponencial de los elementos de entrada.

Sintaxis: scipy.special.logsumexp(valor_de_entrada)

donde, valor de entrada son los datos de entrada.

Ejemplo 1:

Python

from scipy.special import logsumexp
  
# logsum exp of numbers from 
# 1 to 10
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(logsumexp(a))

Producción:

10.45862974442671

Ejemplo 2:

Python3

from scipy.special import logsumexp
  
# logsum exp of numbers from
# 1 to 10
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  
# logsum exp of numbers from 
# 10 to 15
b = [10, 11, 12, 13, 14, 15]
print([logsumexp(a), logsumexp(b)])

Producción:

[10.45862974442671, 15.456193316018123]

8. permanente()

La permanente representa la permutación. Devolverá la permutación de los números dados.

Sintaxis: scipy.special.perm(N,k)

donde N es el valor de entrada y k es el número de repeticiones.

Ejemplo:

Python3

# import permutations module
from scipy.special import perm
  
# permutations of 4
print([perm(4, 1), perm(4, 2), perm(4, 3), 
       perm(4, 4), perm(4, 5)])
  
# permutations of 6
print([perm(6, 1), perm(6, 2), perm(6, 3), 
       perm(6, 4), perm(6, 5)])

Producción:

[4.0, 12.0, 24.0, 24.0, 0.0]
[6.0, 30.0, 120.0, 360.0, 720.0]

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *