SciPy - 特殊软件包

特殊包中可用的功能是通用功能,它遵循广播和自动数组循环.

让我们看看一些最常用的特殊功能 :

  • 立方根函数

  • 指数函数

  • 相对误差指数函数

  • 日志和指数函数

  • Lambert函数

  • 排列和组合函数

  • Gamma函数

现在让我们简单了解这些函数.

Cubic Root函数

此立方根函数的语法是 -  scipy.special.cbrt(x).这将获取 x 的元素方块根.

让我们考虑以下示例.

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

上述程序将生成以下输出.

 
 [2.15443469 2.08008382 0.50053277 6.16224015]

指数函数

指数函数的语法是 -  scipy.special.exp10(x).这将计算10 ** x元素.

让我们考虑以下示例.

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

上述程序将生成以下内容输出.

 
 [1.00000000e + 02 1.00000000e + 09]

相对误差指数函数

此函数的语法为 -  scipy.special.exprel(x).它生成相对误差指数,(exp(x) -  1)/x.

x 接近零时,exp(x)接近1,所以exp(x) -  1的数值计算可能会遭受灾难性的精度损失.然后实现exprel(x)以避免精度损失,这在 x 接近零时发生.

让我们考虑以下示例.

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

上述程序将生成以下输出.

 
 [0.88479687 0.95162582 1. 1.05170918 1.13610167]

对数和指数函数

此函数的语法为 -  scipy. special.logsumexp(X).它有助于计算输入元素的指数之和的对数.

让我们考虑以下示例.

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

上述程序将生成以下输出.

 
 9.45862974443

Lambert函数

此函数的语法是 -  scipy.special.lambertw(x).它也被称为Lambert W函数. Lambert W函数W(z)被定义为w * exp(w)的反函数.换句话说,对于任何复数z,W(z)的值是z = W(z)* exp(W(z)).

Lambert W函数是具有无限多个分支的多值函数.每个分支给出方程z = w exp(w)的单独解.这里,分支用整数k索引.

让我们考虑下面的例子.这里,Lambert W函数是w exp(w)的倒数.

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

上述程序将生成以下输出.

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

排列&组合

让我们分别讨论排列和组合,以便清楚地理解它们.

组合 : 组合函数的语法是 -  scipy.special.comb(N,k).让我们考虑以下示例 :

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

上述程序将生成以下输出.

 
 220.0

注意 : 仅在exact = False的情况下接受数组参数.如果k> N,N<0或k <0 0,然后返回0.

排列 : 组合函数的语法是 -  scipy.special.perm(N,k). N个事物的排列一次取k,即N的k-排列.这也称为"部分排列".

让我们考虑下面的例子.

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

上述程序将生成以下输出.

 
 720

Gamma函数

伽玛函数通常被称为广义阶乘,因为z * gamma(z)= gamma(z + 1)和gamma(n + 1)= n!,对于自然数'n'.

组合函数的语法是 -  scipy.special.gamma(x). N个事物的排列一次取k,即N的k-排列.这也称为"部分排列".

组合函数的语法是 -  scipy.special.伽马(X). N个事物的排列一次取k,即N的k-排列.这也称为"部分排列".

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

上述程序将生成以下输出.

 
 [inf 1.77245385 1. 24.]