特殊函数 (scipy.special
)#
下面几乎所有的函数都接受 NumPy 数组作为输入参数,同时也接受单个数字。这意味着它们遵循广播和自动数组循环规则。从技术上讲,它们是 NumPy 通用函数。在章节描述中,不接受 NumPy 数组的函数会标有警告。
参见
scipy.special.cython_special
– 特殊函数的类型化 Cython 版本
错误处理#
错误处理通过返回 NaN 或其他适当值来处理。一些特殊函数例程在发生错误时可以发出警告或引发异常。默认情况下,这是禁用的;要查询和控制当前错误处理状态,提供了以下函数。
可用功能#
Airy 函数#
椭圆函数和积分#
|
雅可比椭圆函数 |
|
第一类完全椭圆积分。 |
|
围绕 m = 1 的第一类完全椭圆积分 |
|
第一类不完全椭圆积分 |
|
第二类完全椭圆积分 |
|
第二类不完全椭圆积分 |
|
退化的对称椭圆积分。 |
|
第二类对称椭圆积分。 |
|
第一类完全对称椭圆积分。 |
|
完全对称的第二类椭圆积分。 |
|
第三类对称椭圆积分。 |
贝塞尔函数#
|
第一类贝塞尔函数的实数阶和复数参数。 |
|
指数缩放的贝塞尔函数,第一类,阶数 v。 |
|
整数阶和实数参数的第二类贝塞尔函数。 |
|
第二类贝塞尔函数的实数阶和复数参数。 |
|
实数阶的第二类指数缩放贝塞尔函数。 |
|
整数阶 n 的第二类修正贝塞尔函数 |
|
实数阶 v 的第二类修正贝塞尔函数 |
|
指数缩放的第二类修正贝塞尔函数。 |
|
实数阶的第一类修正贝塞尔函数。 |
|
第一类指数缩放修正贝塞尔函数。 |
|
第一类汉克尔函数 |
|
指数缩放的第一类汉克尔函数 |
|
第二类汉克尔函数 |
|
指数缩放的第二类汉克尔函数 |
|
赖特的广义贝塞尔函数。 |
|
Wright 广义贝塞尔函数的自然对数,参见 |
以下函数不接受 NumPy 数组(它不是一个通用函数):
|
Jahnke-Emden Lambda 函数, Lambdav(x)。 |
贝塞尔函数的零点#
以下函数不接受 NumPy 数组(它们不是通用函数):
|
计算整数阶贝塞尔函数 Jn 和 Jn' 的零点。 |
|
计算贝塞尔函数 Jn(x)、Jn'(x)、Yn(x) 和 Yn'(x) 的 nt 个零点。 |
|
计算整数阶贝塞尔函数 Jn 的零点。 |
|
计算整数阶贝塞尔函数导数 Jn' 的零点。 |
|
计算整数阶贝塞尔函数 Yn(x) 的零点。 |
|
计算整数阶贝塞尔函数导数 Yn'(x) 的零点。 |
|
计算贝塞尔函数 Y0(z) 的 nt 个零点,并在每个零点处计算其导数。 |
|
计算贝塞尔函数 Y1(z) 的 nt 个零点,并在每个零点处计算其导数。 |
|
计算贝塞尔导数 Y1'(z) 的 nt 个零点,并在每个零点处计算其值。 |
常见贝塞尔函数的更快版本#
|
第一类贝塞尔函数,0阶。 |
|
第一类贝塞尔函数,阶数为1。 |
|
零阶第二类贝塞尔函数。 |
|
第二类一阶贝塞尔函数。 |
|
0阶修正贝塞尔函数。 |
|
指数缩放的零阶修正贝塞尔函数。 |
|
一阶修正贝塞尔函数。 |
|
指数缩放的1阶修正贝塞尔函数。 |
|
第二类修正贝塞尔函数,0阶,\(K_0\)。 |
|
指数缩放的修正贝塞尔函数 K 阶 0 |
|
第二类一阶修正贝塞尔函数,\(K_1(x)\)。 |
|
指数缩放的修正贝塞尔函数 K 阶 1 |
贝塞尔函数的积分#
|
第一类贝塞尔函数零阶的积分。 |
|
与第一类0阶贝塞尔函数相关的积分。 |
|
零阶修正贝塞尔函数的积分。 |
|
与阶数为0的修正贝塞尔函数相关的积分。 |
|
第一类贝塞尔函数的加权积分。 |
贝塞尔函数的导数#
球贝塞尔函数#
|
第一类球贝塞尔函数或其导数。 |
|
第二类球贝塞尔函数或其导数。 |
|
第一类修正球贝塞尔函数或其导数。 |
|
第二类修正球贝塞尔函数或其导数。 |
Riccati-Bessel 函数#
以下函数不接受 NumPy 数组(它们不是通用函数):
|
计算第一类 Ricatti-Bessel 函数及其导数。 |
|
计算第二类 Ricatti-Bessel 函数及其导数。 |
Struve 函数#
|
Struve 函数。 |
|
修正的 Struve 函数。 |
|
Struve 函数在阶数为 0 时的积分。 |
|
与阶数为0的Struve函数相关的积分。 |
|
修正的 Struve 函数在阶数为 0 时的积分。 |
原始统计函数#
参见
scipy.stats
: 这些函数的友好版本。
二项分布#
Beta 分布#
F 分布#
Gamma 分布#
负二项分布#
非中心 F 分布#
|
非中心F分布的累积分布函数。 |
|
计算非中心F分布的自由度(分母)。 |
|
计算非中心F分布的自由度(分子)。 |
|
非中心F分布的CDF相对于 f 的逆函数。 |
|
计算非中心 F 分布的非中心参数。 |
非中心 t 分布#
正态分布#
泊松分布#
学生 t 分布#
卡方分布#
非中心卡方分布#
Kolmogorov 分布#
|
Kolmogorov-Smirnov 互补累积分布函数 |
|
与 |
|
Kolmogorov 分布的互补累积分布(生存函数)函数。 |
|
Kolmogorov 分布的逆生存函数 |
Box-Cox 变换#
|
计算 Box-Cox 变换。 |
|
计算 1 + x 的 Box-Cox 变换。 |
|
计算 Box-Cox 变换的逆变换。 |
|
计算 Box-Cox 变换的逆变换。 |
Sigmoidal 函数#
杂项#
信息论函数#
|
用于计算熵的逐元素函数。 |
|
用于计算相对熵的逐元素函数。 |
|
用于计算Kullback-Leibler散度的逐元素函数。 |
|
Huber 损失函数。 |
|
伪Huber损失函数。 |
误差函数和菲涅尔积分#
|
返回复数参数的误差函数。 |
|
互补误差函数, |
|
缩放互补误差函数, |
|
虚数误差函数, |
|
误差函数的反函数。 |
|
互补误差函数的逆函数。 |
|
Faddeeva 函数 |
|
道森积分。 |
|
菲涅尔积分。 |
|
计算正弦和余弦菲涅尔积分 S(z) 和 C(z) 的 nt 个复数零点。 |
|
修正菲涅尔正积分 |
|
修正菲涅尔负积分 |
|
Voigt 轮廓。 |
以下函数不接受 NumPy 数组(它们不是通用函数):
|
计算第一象限中前 nt 个零点,按绝对值排序。 |
|
计算余弦菲涅尔积分 C(z) 的 nt 个复数零点。 |
|
计算正弦菲涅尔积分 S(z) 的 nt 个复数零点。 |
勒让德函数#
椭球谐波#
|
椭球调和函数 E^p_n(l) |
|
椭球调和函数 F^p_n(l) |
|
椭球谐波归一化常数 gamma^p_n |
正交多项式#
以下函数用于计算正交多项式的值:
|
计算度数为 n 和阶数为 k 的广义(相关)拉盖尔多项式。 |
|
在一点处评估勒让德多项式。 |
|
在一点处计算第一类切比雪夫多项式。 |
|
在某个点上评估第二类切比雪夫多项式。 |
|
在 [-2, 2] 区间内,计算第一类切比雪夫多项式在某点的值。 |
|
在 [-2, 2] 区间内评估第二类切比雪夫多项式在某点的值。 |
|
在一点处评估 Jacobi 多项式。 |
|
在一点处评估Laguerre多项式。 |
|
在某个点评估广义Laguerre多项式。 |
|
在一点处评估物理学家的埃尔米特多项式。 |
|
在一点处评估概率论者(归一化)的埃尔米特多项式。 |
|
在某个点评估Gegenbauer多项式。 |
|
在一点处评估移位的勒让德多项式。 |
|
在一点处评估第一类移位切比雪夫多项式。 |
|
在某个点上评估第二类移位切比雪夫多项式。 |
|
在某个点上评估平移的雅可比多项式。 |
以下函数用于计算正交多项式的根和积分权重:
|
高斯-勒让德积分。 |
|
高斯-切比雪夫(第一类)积分。 |
|
高斯-切比雪夫(第二类)积分。 |
|
高斯-切比雪夫(第一类)积分。 |
|
高斯-切比雪夫(第二类)积分。 |
|
高斯-雅可比积分。 |
|
高斯-拉盖尔积分。 |
|
高斯-广义拉盖尔积分法。 |
|
Gauss-Hermite (物理学家的) 求积法。 |
|
高斯-埃尔米特(统计学家的)求积法。 |
|
高斯-盖根鲍尔积分。 |
|
高斯-勒让德(平移)积分法。 |
|
高斯-切比雪夫(第一类,移位)积分。 |
|
高斯-切比雪夫(第二类,平移)积分。 |
|
高斯-雅可比(平移)积分法。 |
下面的函数依次返回 orthopoly1d
对象中的多项式系数,这些对象的功能类似于 numpy.poly1d
。orthopoly1d
类还有一个属性 weights
,它返回适当形式的 Gaussian 积分的根、权重和总权重。这些以 n x 3
数组的形式返回,根在第一列,权重在第二列,总权重在最后一列。请注意,在进行算术运算时,orthopoly1d
对象会被转换为 poly1d
,并且会丢失原始正交多项式的信息。
|
勒让德多项式。 |
|
第一类切比雪夫多项式。 |
|
第二类切比雪夫多项式。 |
|
第一类切比雪夫多项式在 \([-2, 2]\) 上。 |
|
第二类切比雪夫多项式在 \([-2, 2]\) 上。 |
|
雅可比多项式。 |
|
拉盖尔多项式。 |
|
广义(相关)拉盖尔多项式。 |
|
物理学家版本的埃尔米特多项式。 |
|
归一化(概率论者)的埃尔米特多项式。 |
|
Gegenbauer(超球面)多项式。 |
|
移位勒让德多项式。 |
|
第一类移位切比雪夫多项式。 |
|
第二类移位切比雪夫多项式。 |
|
移位雅可比多项式。 |
警告
使用多项式系数计算高阶多项式(大约 order > 20
)的值在数值上是不稳定的。为了评估多项式的值,应使用 eval_*
函数。
超几何函数#
抛物柱面函数#
以下函数不接受 NumPy 数组(它们不是通用函数):
球状波函数#
|
第一类长球面角函数及其导数 |
|
第一类长球面径向函数及其导数 |
|
第二类长球面径向函数及其导数 |
|
扁球面角函数的第一类及其导数 |
|
扁球面第一类径向函数及其导数 |
|
扁球面第二类径向函数及其导数。 |
|
长椭球面函数的特征值 |
|
扁球面函数特征值 |
|
扁椭球波函数的特征值。 |
|
扁球面波函数的特征值。 |
以下函数需要预先计算的特征值:
|
长椭球面角函数 pro_ang1 用于预计算特征值 |
|
长椭球面径向函数 pro_rad1 用于预计算特征值 |
|
长椭球面径向函数 pro_rad2 用于预计算特征值 |
|
扁球面角函数 obl_ang1 用于预计算特征值 |
|
扁球面径向函数 obl_rad1 用于预计算特征值 |
|
扁球面径向函数 obl_rad2 用于预计算特征值 |
开尔文函数#
|
Kelvin 函数作为复数 |
|
计算所有 Kelvin 函数的 nt 个零点。 |
|
Kelvin 函数 ber。 |
|
Kelvin 函数 bei。 |
|
Kelvin 函数 ber 的导数。 |
|
Kelvin 函数 bei 的导数。 |
|
Kelvin 函数 ker. |
|
Kelvin 函数 kei。 |
|
Kelvin 函数 ker 的导数。 |
|
Kelvin 函数 kei 的导数。 |
以下函数不接受 NumPy 数组(它们不是通用函数):
|
计算 Kelvin 函数 ber 的 nt 个零点。 |
|
计算 Kelvin 函数 bei 的 nt 个零点。 |
|
计算 Kelvin 函数 ber 的导数的 nt 个零点。 |
|
计算Kelvin函数bei的导数的nt个零点。 |
|
计算 Kelvin 函数的 ker 的 nt 个零点。 |
|
计算 Kelvin 函数 kei 的 nt 个零点。 |
|
计算 Kelvin 函数 ker 的导数的 nt 个零点。 |
|
计算 Kelvin 函数 kei 的导数的 nt 个零点。 |
组合数学#
其他特殊功能#
|
计算 a 和 b 的算术-几何平均值。 |
|
伯努利数 B0..Bn(包含)。 |
|
二项式系数被视为两个实变量的函数。 |
|
周期性 sinc 函数,也称为 Dirichlet 函数。 |
|
欧拉数 E(0), E(1), ..., E(n)。 |
|
广义指数积分 En。 |
|
指数积分 E1。 |
|
指数积分 Ei。 |
|
一个数或一组数的阶乘。 |
|
双阶乘。 |
|
n 的 k 阶多因子,n(!!...!). |
|
双曲正弦和余弦积分。 |
|
正弦和余弦积分。 |
|
计算 softmax 函数。 |
|
计算 softmax 函数的对数。 |
|
Spence 函数,也称为双对数函数。 |
|
黎曼或赫尔维茨 zeta 函数。 |
|
黎曼zeta函数减1。 |
便捷函数#
|
x 的逐元素立方根。 |
|
逐元素计算 |
|
逐元素计算 |
|
将角度转换为弧度。 |
|
给定角度 x 的余弦值,单位为度。 |
|
给定角度 x 的正弦值(以度为单位)。 |
|
给定角度 x 的正切值(以度为单位)。 |
|
给定角度 x 的余切值(以度为单位)。 |
|
计算 x 接近零时的 log(1 + x)。 |
|
计算 |
|
cos(x) - 1 用于 x 接近零时。 |
|
计算 |
|
四舍五入到最近的整数。 |
|
计算 |
|
计算 |
|
计算输入元素的指数和对数。 |
|
相对误差指数, |
|
返回归一化的sinc函数。 |