SciPy 1.12 中文文档(四十八)
scipy.special.chebyc
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.chebyc.html#scipy.special.chebyc
scipy.special.chebyc(n, monic=False)
在([-2, 2])上的第一类切比雪夫多项式。
定义为 (C_n(x) = 2T_n(x/2)),其中 (T_n) 是第 n 个第一类切比雪夫多项式。
参数:
nint
多项式的次数。
monic布尔值,可选
如果 True,将首项系数缩放为 1。默认为 False。
返回:
Corthopoly1d
在([-2, 2])上的第一类切比雪夫多项式。
参见
chebyt
第一类切比雪夫多项式。
笔记
多项式 (C_n(x)) 在([-2, 2])上按权函数 (1/\sqrt{1 - (x/2)²}) 正交。
参考文献
[1]
Abramowitz 和 Stegun,《数学函数手册》第二十二章。National Bureau of Standards,1972。
scipy.special.chebys
原文链接:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.chebys.html#scipy.special.chebys
scipy.special.chebys(n, monic=False)
第二类切比雪夫多项式在 ([-2, 2]) 上。
定义为 (S_n(x) = U_n(x/2)),其中 (U_n) 是第二类切比雪夫多项式。
参数:
nint
多项式的次数。
monicbool,可选
如果为 True,将首项系数缩放为 1。默认为 False。
返回:
Sorthopoly1d
第二类切比雪夫多项式在 ([-2, 2]) 上。
参见
第二类切比雪夫多项式
注释
多项式 (S_n(x)) 在 ([-2, 2]) 上与权函数 (\sqrt{1 - (x/2)}²) 正交。
参考文献
[1]
Abramowitz 和 Stegun,《数学函数手册》第二十二章。国家标准局,1972 年。
scipy.special.jacobi
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.jacobi.html#scipy.special.jacobi
scipy.special.jacobi(n, alpha, beta, monic=False)
雅各比多项式。
定义为解决方案
[(1 - x²)\frac{d²}{dx²}P_n^{(\alpha, \beta)} + (\beta - \alpha - (\alpha + \beta + 2)x) \frac{d}{dx}P_n^{(\alpha, \beta)} + n(n + \alpha + \beta + 1)P_n^{(\alpha, \beta)} = 0]
对于 (\alpha, \beta > -1);(P_n^{(\alpha, \beta)}) 是一个次数为 (n) 的多项式。
参数:
nint
多项式的次数。
alphafloat
参数,必须大于 -1。
betafloat
参数,必须大于 -1。
monicbool, optional
如果 True,将领导系数缩放为 1。默认为 False。
返回:
Porthopoly1d
雅各比多项式。
注意事项
对于固定的 (\alpha, \beta),多项式 (P_n^{(\alpha, \beta)}) 在 ([-1, 1]) 上以权函数 ((1 - x)^\alpha(1 + x)^\beta) 正交。
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑。Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972.
示例
雅各比多项式满足递推关系:
[P_n^{(\alpha, \beta-1)}(x) - P_n^{(\alpha-1, \beta)}(x) = P_{n-1}^{(\alpha, \beta)}(x)]
例如,可以验证 (\alpha = \beta = 2) 且 (n = 1) 在区间 ([-1, 1]) 上:
>>> import numpy as np
>>> from scipy.special import jacobi
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> np.allclose(jacobi(0, 2, 2)(x),
... jacobi(1, 2, 1)(x) - jacobi(1, 1, 2)(x))
True
不同 (\alpha) 值下雅各比多项式 (P_5^{(\alpha, -0.5)}) 的绘图:
>>> import matplotlib.pyplot as plt
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-2.0, 2.0)
>>> ax.set_title(r'Jacobi polynomials $P_5^{(\alpha, -0.5)}$')
>>> for alpha in np.arange(0, 4, 1):
... ax.plot(x, jacobi(5, alpha, -0.5)(x), label=rf'$\alpha={alpha}$')
>>> plt.legend(loc='best')
>>> plt.show()
scipy.special.laguerre
scipy.special.laguerre(n, monic=False)
拉盖尔多项式。
定义为以下方程的解:
[x\frac{d²}{dx²}L_n + (1 - x)\frac{d}{dx}L_n + nL_n = 0;]
(L_n) 是一个次数为 (n) 的多项式。
参数:
nint
多项式的次数。
monicbool,可选
如果 True,将主导系数缩放为 1。默认为 False。
返回:
Lorthopoly1d
拉盖尔多项式。
参见
广义(关联)拉盖尔多项式。
注释
多项式 (L_n) 在 ([0, \infty)) 上以权重函数 (e^{-x}) 正交。
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑。Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. 纽约:Dover, 1972。
示例
拉盖尔多项式 (L_n) 是广义拉盖尔多项式 (L_n^{(\alpha)}) 的特例,其中 (\alpha = 0)。让我们在区间 ([-1, 1]) 上验证它:
>>> import numpy as np
>>> from scipy.special import genlaguerre
>>> from scipy.special import laguerre
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> np.allclose(genlaguerre(3, 0)(x), laguerre(3)(x))
True
多项式 (L_n) 还满足递推关系:
[(n + 1)L_{n+1}(x) = (2n +1 -x)L_n(x) - nL_{n-1}(x)]
对于 (n = 3),在 ([0, 1]) 上可以轻松验证:
>>> x = np.arange(0.0, 1.0, 0.01)
>>> np.allclose(4 * laguerre(4)(x),
... (7 - x) * laguerre(3)(x) - 3 * laguerre(2)(x))
True
这是前几个拉盖尔多项式 (L_n) 的图示:
>>> import matplotlib.pyplot as plt
>>> x = np.arange(-1.0, 5.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-5.0, 5.0)
>>> ax.set_title(r'Laguerre polynomials $L_n$')
>>> for n in np.arange(0, 5):
... ax.plot(x, laguerre(n)(x), label=rf'$L_{n}$')
>>> plt.legend(loc='best')
>>> plt.show()
scipy.special.genlaguerre
scipy.special.genlaguerre(n, alpha, monic=False)
广义(关联)拉盖尔多项式。
定义为以下方程的解
[x\frac{d²}{dx²}L_n^{(\alpha)} + (\alpha + 1 - x)\frac{d}{dx}L_n^{(\alpha)} + nL_n^{(\alpha)} = 0,]
其中 (\alpha > -1);(L_n^{(\alpha)}) 是一个阶数为 (n) 的多项式。
参数:
nint
多项式的阶数。
alphafloat
参数,必须大于 -1。
monicbool, 可选
如果 True,则将首项系数缩放为 1。默认为 False。
返回:
Lorthopoly1d
广义拉盖尔多项式。
另请参阅
拉盖尔多项式。
松矛超几何函数
注释
对于固定的 (\alpha),多项式 (L_n^{(\alpha)}) 在 ([0, \infty)) 上具有权重函数 (e^{-x}x^\alpha) 的正交性。
拉盖尔多项式是 (\alpha = 0) 的特殊情况。
References
[AS]
米尔顿·阿布拉莫维茨和艾琳·A·斯蒂根 编。《数学函数、公式、图表和数学表》。纽约:多佛,1972 年。
示例
广义拉盖尔多项式与松矛超几何函数 ({}_1F_1) 密切相关:
[L_n^{(\alpha)} = \binom{n + \alpha}{n} {}_1F_1(-n, \alpha +1, x)]
例如,对于 (n = \alpha = 3),可以在区间 ([-1, 1]) 内验证:
>>> import numpy as np
>>> from scipy.special import binom
>>> from scipy.special import genlaguerre
>>> from scipy.special import hyp1f1
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> np.allclose(genlaguerre(3, 3)(x), binom(6, 3) * hyp1f1(-3, 4, x))
True
这是广义拉盖尔多项式 (L_3^{(\alpha)}) 的一些值的绘图:
>>> import matplotlib.pyplot as plt
>>> x = np.arange(-4.0, 12.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-5.0, 10.0)
>>> ax.set_title(r'Generalized Laguerre polynomials $L_3^{\alpha}$')
>>> for alpha in np.arange(0, 5):
... ax.plot(x, genlaguerre(3, alpha)(x), label=rf'$L_3^{(alpha)}$')
>>> plt.legend(loc='best')
>>> plt.show()
scipy.special.hermite
原文链接:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.hermite.html#scipy.special.hermite
scipy.special.hermite(n, monic=False)
物理学家的厄米多项式。
定义为
[H_n(x) = (-1)^ne^{x²}\frac{d^n}{dx^n}e^{-x²};]
(H_n) 是一个次数为 (n) 的多项式。
参数:
nint
多项式的次数。
monicbool,可选
如果 True,将主导系数缩放为 1。默认为 False。
返回:
Horthopoly1d
厄米多项式。
注释
多项式 (H_n) 在 ((-\infty, \infty)) 上按权函数 (e^{-x²}) 正交。
示例
>>> from scipy import special
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> p_monic = special.hermite(3, monic=True)
>>> p_monic
poly1d([ 1\. , 0\. , -1.5, 0\. ])
>>> p_monic(1)
-0.49999999999999983
>>> x = np.linspace(-3, 3, 400)
>>> y = p_monic(x)
>>> plt.plot(x, y)
>>> plt.title("Monic Hermite polynomial of degree 3")
>>> plt.xlabel("x")
>>> plt.ylabel("H_3(x)")
>>> plt.show()
scipy.special.hermitenorm
scipy.special.hermitenorm(n, monic=False)
正交化(概率学家)厄米多项式。
定义为
[He_n(x) = (-1)^ne^{x²/2}\frac{d^n}{dx^n}e^{-x²/2};]
(He_n) 是一个次数为 (n) 的多项式。
参数:
n 整型
多项式的次数。
monic 布尔型,可选
如果 True,则将主导系数缩放为 1. 默认值为 False。
返回:
He orthopoly1d
厄米多项式。
注意事项
多项式 (He_n) 在 ((-\infty, \infty)) 范围内与权函数 (e^{-x²/2}) 正交。
scipy.special.gegenbauer
scipy.special.gegenbauer(n, alpha, monic=False)
超球面 (ultraspherical) 多项式。
定义为
[(1 - x²)\frac{d²}{dx²}C_n^{(\alpha)} - (2\alpha + 1)x\frac{d}{dx}C_n^{(\alpha)} + n(n + 2\alpha)C_n^{(\alpha)} = 0]
对于(\alpha > -1/2);(C_n^{(\alpha)}) 是一个(n)次多项式。
参数:
n整数
多项式的次数。
alpha浮点数
参数,必须大于-0.5。
monic布尔值,可选
如果为True,将主导系数缩放为 1。默认为False。
返回:
Corthopoly1d
超球面多项式。
注意
多项式(C_n^{(\alpha)}) 在([-1,1])上以权函数((1 - x²)^{(\alpha - 1/2)})正交。
例子
>>> import numpy as np
>>> from scipy import special
>>> import matplotlib.pyplot as plt
我们可以使用gegenbauer函数初始化一个变量p作为一个超球面多项式,并在点x = 1处评估。
>>> p = special.gegenbauer(3, 0.5, monic=False)
>>> p
poly1d([ 2.5, 0\. , -1.5, 0\. ])
>>> p(1)
1.0
要在区间((-3, 3))中的各点(x)评估p,只需将数组x传递给p如下:
>>> x = np.linspace(-3, 3, 400)
>>> y = p(x)
我们可以使用matplotlib.pyplot来可视化x, y。
>>> fig, ax = plt.subplots()
>>> ax.plot(x, y)
>>> ax.set_title("Gegenbauer (ultraspherical) polynomial of degree 3")
>>> ax.set_xlabel("x")
>>> ax.set_ylabel("G_3(x)")
>>> plt.show()
scipy.special.sh_legendre
scipy.special.sh_legendre(n, monic=False)
移位 Legendre 多项式。
定义为 (P^*_n(x) = P_n(2x - 1)),其中 (P_n) 是第 n 个 Legendre 多项式。
参数:
nint
多项式的次数。
monic布尔值,可选
如果True,将主导系数缩放为 1。默认为False。
返回:
P orthopoly1d
移位 Legendre 多项式。
注意事项
多项式 (P^*_n) 在区间 ([0, 1]) 上以权重函数 1 正交。
scipy.special.sh_chebyt
scipy.special.sh_chebyt(n, monic=False)
第一类移位 Chebyshev 多项式。
定义为(T^*_n(x) = T_n(2x - 1)),其中(T_n)为第一类 Chebyshev 多项式的第 n 项。
参数:
nint
多项式的次数。
monicbool,可选
如果True,将主导系数缩放为 1。默认为False。
返回:
Torthopoly1d
第一类移位 Chebyshev 多项式。
注意事项
多项式(T^*_n)在区间([0, 1])上以权函数((x - x²)^{-1/2})为正交。
scipy.special.sh_chebyu
scipy.special.sh_chebyu(n, monic=False)
第二类平移切比雪夫多项式。
定义为 (U^*_n(x) = U_n(2x - 1)),其中 (U_n) 是第二类切比雪夫多项式的第 n 个。
参数:
nint
多项式的次数。
monicbool,可选
如果为 True,则将领导系数标准化为 1。默认为 False。
返回值:
Uorthopoly1d
第二类平移切比雪夫多项式。
注意事项
多项式 (U^*_n) 在区间 ([0, 1]) 上是按权函数 ((x - x²)^{1/2}) 正交的。
scipy.special.sh_jacobi
scipy.special.sh_jacobi(n, p, q, monic=False)
移位雅各比多项式。
由...定义
[G_n^{(p, q)}(x) = \binom{2n + p - 1}{n}^{-1}P_n^{(p - q, q - 1)}(2x - 1),]
其中(P_n^{(\cdot, \cdot)})是第 n 个雅各比多项式。
参数:
n整数
多项式的次数。
p浮点数
参数,必须满足(p > q - 1)。
q浮点数
参数,必须大于 0。
monic布尔型,可选的
如果True,则将主导系数缩放为 1。默认为False。
返回:
Gorthopoly1d
移位雅各比多项式。
笔记
对于固定的(p, q),多项式(G_n^{(p, q)})在区间([0, 1])上按照权函数((1 - x)^{p - q}x^{q - 1})正交。
scipy.special.hyp2f1
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.hyp2f1.html#scipy.special.hyp2f1
scipy.special.hyp2f1(a, b, c, z, out=None) = <ufunc 'hyp2f1'>
高斯超几何函数 2F1(a, b; c; z)
参数:
a, b, carray_like
参数,应为实值。
zarray_like
参数,实数或复数。
outndarray, optional
函数值的可选输出数组
返回:
hyp2f1标量或 ndarray
高斯超几何函数的值。
另见
hyp0f1
一阶超几何函数。
hyp1f1
库默的(共轭超几何)函数。
注意
这个函数在 (|z| < 1) 时定义为
[\mathrm{hyp2f1}(a, b, c, z) = \sum_{n=0}^\infty \frac{(a)_n (b)_n}{(c)_n}\frac{z^n}{n!},]
并通过解析延拓定义在复平面的其余部分 [1]。这里的 ((\cdot)_n) 是 Pochhammer 符号;参见 poch。当 (n) 是整数时,结果是一个 (n) 次多项式。
复数 z 的实现描述在 [2] 中,除了 z 在以下区域:
[0.9 <= \left|z\right| < 1.1, \left|1 - z\right| >= 0.9, \mathrm{real}(z) >= 0]
其中的实现遵循 [4]。
参考文献
[1]
NIST 数学函数数字图书馆 dlmf.nist.gov/15.2
[2]
- Zhang 和 J.M. Jin,“特殊函数的计算”,Wiley 1996
[3]
Cephes 数学函数库,www.netlib.org/cephes/
[4]
J.L. Lopez 和 N.M. Temme,“高斯超几何函数的新级数展开”,Adv Comput Math 39, 349-365 (2013). doi.org/10.1007/s10444-012-9283-y
示例
>>> import numpy as np
>>> import scipy.special as sc
当 c 是负整数时,它有极点。
>>> sc.hyp2f1(1, 1, -2, 1)
inf
当 a 或 b 是负整数时,它是一个多项式。
>>> a, b, c = -1, 1, 1.5
>>> z = np.linspace(0, 1, 5)
>>> sc.hyp2f1(a, b, c, z)
array([1\. , 0.83333333, 0.66666667, 0.5 , 0.33333333])
>>> 1 + a * b * z / c
array([1\. , 0.83333333, 0.66666667, 0.5 , 0.33333333])
它在 a 和 b 中是对称的。
>>> a = np.linspace(0, 1, 5)
>>> b = np.linspace(0, 1, 5)
>>> sc.hyp2f1(a, b, 1, 0.5)
array([1\. , 1.03997334, 1.1803406 , 1.47074441, 2\. ])
>>> sc.hyp2f1(b, a, 1, 0.5)
array([1\. , 1.03997334, 1.1803406 , 1.47074441, 2\. ])
它包含许多其他函数作为特殊情况。
>>> z = 0.5
>>> sc.hyp2f1(1, 1, 2, z)
1.3862943611198901
>>> -np.log(1 - z) / z
1.3862943611198906
>>> sc.hyp2f1(0.5, 1, 1.5, z**2)
1.098612288668109
>>> np.log((1 + z) / (1 - z)) / (2 * z)
1.0986122886681098
>>> sc.hyp2f1(0.5, 1, 1.5, -z**2)
0.9272952180016117
>>> np.arctan(z) / z
0.9272952180016122
scipy.special.hyp1f1
原文链接:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.hyp1f1.html#scipy.special.hyp1f1
scipy.special.hyp1f1(a, b, x, out=None) = <ufunc 'hyp1f1'>
第一类的超几何函数 1F1。
该级数定义了超几何函数
[{}1F_1(a; b; x) = \sum{k = 0}^\infty \frac{(a)_k}{(b)_k k!} x^k.]
更多详细信息请参见[dlmf]。这里的((\cdot)_k)是 Pochhammer 符号;参见poch。
参数:
a, barray_like
实参数
xarray_like
实数或复数参数
outndarray,可选
函数结果的可选输出数组
返回:
标量或 ndarray
超几何函数的值
另请参阅
另一个超几何函数
收敛的超几何极限函数
高斯超几何函数
参考文献
[dlmf]
NIST 数字数学函数库dlmf.nist.gov/13.2#E2
例子
>>> import numpy as np
>>> import scipy.special as sc
当 x 为零时,它等于一:
>>> sc.hyp1f1(0.5, 0.5, 0)
1.0
当 b 是非正整数时,它是奇异的。
>>> sc.hyp1f1(0.5, -1, 0)
inf
当 a 是非正整数时,它是一个多项式。
>>> a, b, x = -1, 0.5, np.array([1.0, 2.0, 3.0, 4.0])
>>> sc.hyp1f1(a, b, x)
array([-1., -3., -5., -7.])
>>> 1 + (a / b) * x
array([-1., -3., -5., -7.])
当 a = b 时,它缩小为指数函数。
>>> sc.hyp1f1(2, 2, [1, 2, 3, 4])
array([ 2.71828183, 7.3890561 , 20.08553692, 54.59815003])
>>> np.exp([1, 2, 3, 4])
array([ 2.71828183, 7.3890561 , 20.08553692, 54.59815003])
scipy.special.hyperu
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.hyperu.html#scipy.special.hyperu
scipy.special.hyperu(a, b, x, out=None) = <ufunc 'hyperu'>
U 分歧超几何函数
它被定义为方程的解
[x \frac{d²w}{dx²} + (b - x) \frac{dw}{dx} - aw = 0]
满足属性的
[U(a, b, x) \sim x^{-a}]
当(x \to \infty)时。详情请参阅NIST 数字数学函数库。
参数:
a, b数组型
实值参数
x数组型
实值参数
out ndarray, 可选
函数值的可选输出数组
返回:
标量或 ndarray
U的值
参考
[dlmf]
NIST 数字数学函数库 dlmf.nist.gov/13.2#E6
示例
>>> import numpy as np
>>> import scipy.special as sc
它在负x轴上有一个分支切割。
>>> x = np.linspace(-0.1, -10, 5)
>>> sc.hyperu(1, 1, x)
array([nan, nan, nan, nan, nan])
当x趋向于无穷大时,它逼近于零。
>>> x = np.array([1, 10, 100])
>>> sc.hyperu(1, 1, x)
array([0.59634736, 0.09156333, 0.00990194])
它满足库默(Kummer)变换。
>>> a, b, x = 2, 1, 1
>>> sc.hyperu(a, b, x)
0.1926947246463881
>>> x**(1 - b) * sc.hyperu(a - b + 1, 2 - b, x)
0.1926947246463881
scipy.special.hyp0f1
原文链接:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.hyp0f1.html#scipy.special.hyp0f1
scipy.special.hyp0f1(v, z, out=None) = <ufunc 'hyp0f1'>
拉盖尔超几何极限函数 0F1。
参数:
v类似数组
实数值参数
z类似数组
实数或复数值的参数
out数组, 可选项
用于存放函数结果的可选输出数组
返回:
标量或者数组
拉盖尔超几何极限函数
注意事项
此函数定义为:
[0F_1(v, z) = \sum{k=0}^{\infty}\frac{z^k}{(v)_k k!}.]
它也是 (_1F_1(q; v; z/q)) 当 (q \to \infty) 时的极限,并且满足微分方程 (f''(z) + vf'(z) = f(z))。详见 [1] 获取更多信息。
参考文献
[1]
Wolfram MathWorld, “拉盖尔超几何极限函数”, mathworld.wolfram.com/ConfluentHypergeometricLimitFunction.html
例子
>>> import numpy as np
>>> import scipy.special as sc
当z为零时它为一。
>>> sc.hyp0f1(1, 0)
1.0
当q趋近无穷时,它是拉盖尔超几何函数的极限。
>>> q = np.array([1, 10, 100, 1000])
>>> v = 1
>>> z = 1
>>> sc.hyp1f1(q, v, z / q)
array([2.71828183, 2.31481985, 2.28303778, 2.27992985])
>>> sc.hyp0f1(v, z)
2.2795853023360673
它与贝塞尔函数相关。
>>> n = 1
>>> x = np.linspace(0, 1, 5)
>>> sc.jv(n, x)
array([0\. , 0.12402598, 0.24226846, 0.3492436 , 0.44005059])
>>> (0.5 * x)**n / sc.factorial(n) * sc.hyp0f1(n + 1, -0.25 * x**2)
array([0\. , 0.12402598, 0.24226846, 0.3492436 , 0.44005059])
scipy.special.pbdv
原文链接:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pbdv.html#scipy.special.pbdv
scipy.special.pbdv(v, x, out=None) = <ufunc 'pbdv'>
抛物线柱函数 D
返回值 (d, dp):抛物线柱函数 Dv(x) 的值为 d,其导数 Dv’(x) 的值为 dp。
参数:
v:array_like
实参数
x:array_like
实数参数
out:ndarray,可选
函数结果的可选输出数组
返回:
d:标量或者 ndarray
函数的值
dp:标量或者 ndarray
对于 x 的导数值
scipy.special.pbvv
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pbvv.html#scipy.special.pbvv
scipy.special.pbvv(v, x, out=None) = <ufunc 'pbvv'>
抛物柱函数 V
返回参数 v 的抛物柱函数 Vv(x) 和其导数 Vv’(x)。
参数:
v类似数组
实数参数
x类似数组
实数参数
out ndarray,可选
用于存放函数结果的可选输出数组
返回:
v标量或者 ndarray
函数值
vp 标量或者 ndarray
对 x 的导数
scipy.special.pbwa
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pbwa.html#scipy.special.pbwa
scipy.special.pbwa(a, x, out=None) = <ufunc 'pbwa'>
抛物柱函数 W。
该函数是微分方程的一个特解
[y'' + \left(\frac{1}{4}x² - a\right)y = 0,]
完整定义请参见第 12.14 节中的[1]。
参数:
aarray_like
实参数
xarray_like
实参数
outndarray,可选
可选的输出数组,用于存放函数结果
返回:
w标量或 ndarray
函数的值
wp标量或 ndarray
x 处导数的值
注释
该函数是由张和金的 Fortran 例程封装而成的[2]。该实现仅在|a|, |x| < 5范围内准确,超出此范围将返回 NaN。
引用
[1]
数学函数的数字图书馆, 14.30. dlmf.nist.gov/14.30
[2]
张, 善杰 和 金, 建明. “特殊函数的计算”, 约翰·威利与儿子出版社, 1996. people.sc.fsu.edu/~jburkardt/f_src/special_functions/special_functions.html
scipy.special.pbdv_seq
scipy.special.pbdv_seq(v, x)
抛物型缸函数 Dv(x) 及其导数。
参数:
vfloat
抛物型缸函数的阶数
xfloat
在函数及其导数上评估的数值
返回:
dvndarray
D_vi(x) 的值, 其中 vi=v-int(v), vi=1+v-int(v), …, vi=v.
dpndarray
导数 D_vi’(x), 其中 vi=v-int(v), vi=1+v-int(v), …, vi=v.
参考文献
[1]
张, 善杰 和 金, 建明. “特殊函数的计算”, 约翰·威利和儿子, 1996, 第十三章. people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
scipy.special.pbvv_seq
scipy.special.pbvv_seq(v, x)
抛物线缸函数 Vv(x) 及其导数。
参数:
v浮点数
抛物线缸函数的阶数
x浮点数
在其上评估函数和导数的值
返回:
dv ndarray
V_vi(x) 的值,其中 vi=v-int(v),vi=1+v-int(v),…,vi=v。
dp ndarray
导数 V_vi’(x),其中 vi=v-int(v),vi=1+v-int(v),…,vi=v。
参考文献
[1]
张姗杰和金建明。“特殊函数的计算”,约翰·威利与儿子,1996 年,第十三章。people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
scipy.special.pbdn_seq
scipy.special.pbdn_seq(n, z)
抛物柱函数 Dn(z) 及其导数。
参数:
nint
抛物柱函数的阶数
zcomplex
函数和其导数计算所用的值
返回值:
dvndarray
D_i(z) 的值,其中 i=0, …, i=n。
dpndarray
D_i’(z) 的导数,其中 i=0, …, i=n。
参考资料
[1]
张善杰和金建明的《特殊函数的计算》,John Wiley and Sons, 1996 年,第十三章。people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
scipy.special.mathieu_a
scipy.special.mathieu_a(m, q, out=None) = <ufunc 'mathieu_a'>
偶数马修函数的特征值
参数:
marray_like
函数的阶数
qarray_like
函数的参数
outndarray,可选
可选的输出数组,用于函数结果
返回:
标量或者 ndarray
马修方程偶数解 ce_m(z, q) 的特征值。
另见
mathieu_b, mathieu_cem, mathieu_sem
scipy.special.mathieu_b
scipy.special.mathieu_b(m, q, out=None) = <ufunc 'mathieu_b'>
奇数马修函数的特征值
参数:
m:array_like
函数的阶数
q:array_like
函数的参数
out:ndarray,可选
可选的输出数组,用于函数结果
返回:
标量或者 ndarray
数学方程中奇数解se_m(z, q)的特征值。
另请参阅
mathieu_a,mathieu_cem,mathieu_sem
scipy.special.mathieu_even_coef
scipy.special.mathieu_even_coef(m, q)
偶数 Mathieu 和修正 Mathieu 函数的傅立叶系数。
Mathieu 微分方程的偶数解的傅立叶级数形式为
[\mathrm{ce}{2n}(z, q) = \sum{k=0}^{\infty} A_{(2n)}^{(2k)} \cos 2kz][\mathrm{ce}{2n+1}(z, q) = \sum{k=0}^{\infty} A_{(2n+1)}^{(2k+1)} \cos (2k+1)z]
此函数返回偶数输入 m=2n 的系数 (A_{(2n)}^{(2k)}),以及奇数输入 m=2n+1 的系数 (A_{(2n+1)}^{(2k+1)})。
参数:
m整数
数学函数的阶数。必须是非负的。
q浮点数 (>=0)
数学函数的参数。必须是非负的。
返回:
Ak ndarray
对应于偶数或奇数 m 的偶数或奇数傅立叶系数。
参考文献
[1]
张善杰和金建明著。“特殊函数的计算”,John Wiley and Sons 出版,1996 年。people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
[2]
NIST 数学函数数字图书馆 dlmf.nist.gov/28.4#i
scipy.special.mathieu_odd_coef
scipy.special.mathieu_odd_coef(m, q)
偶数 Mathieu 和修改后的 Mathieu 函数的傅里叶系数。
Mathieu 微分方程的奇数解的傅里叶级数形式如下:
[\mathrm{se}{2n+1}(z, q) = \sum{k=0}^{\infty} B_{(2n+1)}^{(2k+1)} \sin (2k+1)z][\mathrm{se}{2n+2}(z, q) = \sum{k=0}^{\infty} B_{(2n+2)}^{(2k+2)} \sin (2k+2)z]
此函数返回偶数输入 m=2n+2 的系数 (B_{(2n+2)}^{(2k+2)}),以及奇数输入 m=2n+1 的系数 (B_{(2n+1)}^{(2k+1)})。
参数:
mint
Mathieu 函数的阶数。必须是非负数。
qfloat (>=0)
Mathieu 函数的参数。必须是非负数。
返回:
Bkndarray
偶数或奇数 m 对应的傅里叶系数。
参考文献
[1]
Zhang, Shanjie 和 Jin, Jianming. “特殊函数的计算”, John Wiley and Sons, 1996. people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html
scipy.special.mathieu_cem
scipy.special.mathieu_cem(m, q, x, out=None) = <ufunc 'mathieu_cem'>
Even Mathieu 函数及其导数
返回阶数为 m,参数为 q 的偶数 Mathieu 函数 ce_m(x, q) 在 x 处(以度数给出)的值。同时返回相对于 x 的导数。
参数:
m:array_like
函数的阶数
q:array_like
函数的参数
x:array_like
函数的参数,以度为单位给出,而非弧度
out:ndarray 或元组,可选
可选的输出数组用于函数结果
返回:
y:标量或者 ndarray
函数的值
yp:标量或者 ndarray
对 x 的导数值
另请参见:
mathieu_a、mathieu_b、mathieu_sem
scipy.special.mathieu_sem
scipy.special.mathieu_sem(m, q, x, out=None) = <ufunc 'mathieu_sem'>
奇数马修函数及其导数
返回阶为 m 和参数 q 的奇数马修函数,评估在 x 上(以度给出)。还返回相对于 x 的导数 se_m(x, q)。
参数:
m array_like
函数的顺序
q array_like
函数的参数
x array_like
函数的自变量,以度给出,不是弧度。
out 的元组 ndarray,可选
函数结果的可选输出数组
返回:
y 标量或 ndarray
函数的值
yp 标量或 ndarray
导数相对于 x 的值
另请参阅
mathieu_a, mathieu_b, mathieu_cem
scipy.special.mathieu_modcem1
scipy.special.mathieu_modcem1(m, q, x, out=None) = <ufunc 'mathieu_modcem1'>
一阶改良马修函数及其导数
计算一阶改良马修函数的偶函数Mc1m(x, q)及其在x处的导数,其中m为阶数,q为参数。
参数:
marray_like
函数的阶数
qarray_like
函数的参数
xarray_like
函数的自变量,以度数给出,非弧度
out元组的 ndarray,可选
函数结果的可选输出数组
返回:
yscalar or ndarray
函数值
ypscalar or ndarray
导数值 vs x
另见
mathieu_modsem1
scipy.special.mathieu_modcem2
scipy.special.mathieu_modcem2(m, q, x, out=None) = <ufunc 'mathieu_modcem2'>
第二类偶修正 Mathieu 函数及其导数
评估第二类偶修正 Mathieu 函数 Mc2m(x, q) 及其在 x(以度给出)处的导数,对于阶数 m 和参数 q。
参数:
m:array_like
函数的阶数
q:array_like
函数的参数
x:array_like
函数的参数,以度给出,非弧度
out:ndarray 的元组,可选
函数结果的可选输出数组
返回值:
y:标量或 ndarray
函数值
yp:标量或 ndarray
对 x 的导数值
另见
mathieu_modsem2
scipy.special.mathieu_modsem1
scipy.special.mathieu_modsem1(m, q, x, out=None) = <ufunc 'mathieu_modsem1'>
一阶奇数修正马修函数及其导数
评估一阶奇数修正马修函数,Ms1m(x, q),及其在x(以度给出)处的导数,对于阶数m和参数q。
参数:
m类似数组
函数的阶数
q类似数组
函数参数
x类似数组
函数参数,以度给出,非弧度
outndarray 的元组,可选
函数结果的可选输出数组
返回:
y标量或类似数组
函数值
yp标量或类似数组
函数导数值对 x
参见
mathieu_modcem1
scipy.special.mathieu_modsem2
scipy.special.mathieu_modsem2(m, q, x, out=None) = <ufunc 'mathieu_modsem2'>
第二类奇异修正 Mathieu 函数及其导数
对于给定的阶数m和参数q,在x(以度为单位给出)处评估第二类奇异修正 Mathieu 函数 Ms2m(x, q)及其导数。
参数:
m类似数组
函数的阶数
q类似数组
函数的参数
x类似数组
函数的自变量,以度为单位,而非弧度
out的元组,类似数组,可选
函数结果的可选输出数组
返回:
y标量或者数组
函数的值
yp标量或者数组
导数值与x的比较
另请参见
mathieu_modcem2
scipy.special.pro_ang1
scipy.special.pro_ang1(m, n, c, x, out=None) = <ufunc 'pro_ang1'>
第一类长椭球函数及其导数
计算第一类长椭球函数及其在 x 方向上的导数(对于模式参数 m>=0 和 n>=m,椭球参数 c 以及 |x| < 1.0)。
参数:
m:array_like
非负模式参数 m
n:array_like
模式参数 n (>= m)
c:array_like
椭球参数
x:array_like
实数参数(|x| < 1.0)
out:ndarray,可选
可选的输出数组用于存储函数结果
返回:
s:标量或者 ndarray
函数的返回值
sp:标量或者 ndarray
对于 x 的导数值
scipy.special.pro_rad1
scipy.special.pro_rad1(m, n, c, x, out=None) = <ufunc 'pro_rad1'>
长形椭球径向函数及其导数的第一类
计算椭球参数为c,模参数 m>=0 和 n>=m,且|x| < 1.0时的长形椭球径向函数及其导数(相对于x)。
参数:
m数组样式
非负模参数 m
n数组样式
模参数 n(>= m)
c数组样式
椭球参数
x数组样式
实参数 (|x| < 1.0)
outndarray,可选
用于函数结果的可选输出数组
返回:
s标量或 ndarray
函数的值
sp标量或 ndarray
相对于 x 的导数的值
scipy.special.pro_rad2
scipy.special.pro_rad2(m, n, c, x, out=None) = <ufunc 'pro_rad2'>
第二类椭圆球面径向函数及其导数
计算第二类椭圆球面径向函数及其导数(关于 x),对于模参数 m>=0 和 n>=m,椭圆球面参数 c 和 |x| < 1.0。
参数:
m 数组或类似对象
非负模参数 m
n 数组或类似对象
模参数 n (>= m)
c 数组或类似对象
椭圆球面参数
cv 数组或类似对象
特征值
x 数组或类似对象
实参数 (|x| < 1.0)
out ndarray,可选
可选输出数组,用于函数结果
返回:
s 标量或 ndarray
函数的值
sp 标量或 ndarray
导数的值 vs x
scipy.special.obl_ang1
scipy.special.obl_ang1(m, n, c, x, out=None) = <ufunc 'obl_ang1'>
第一类椭球体角函数及其导数
计算第一类椭球体角函数及其关于 x 的导数(对于模参数 m>=0 和 n>=m,椭球体参数 c 和 |x| < 1.0)。
参数:
m 类似数组
模参数 m(非负)
n 类似数组
模参数 n(>= m)
c 类似数组
球形参数
x 类似数组
参数 x(|x| < 1.0)
out ndarray,可选
函数结果的可选输出数组
返回值:
s 标量或 ndarray
函数的值
sp 标量或 ndarray
对于 x 的导数值
另请参阅
obl_ang1_cv
scipy.special.obl_rad1
scipy.special.obl_rad1(m, n, c, x, out=None) = <ufunc 'obl_rad1'>
椭圆体第一类径向函数及其导数
计算模参数 m>=0 和 n>=m,椭圆体参数 c 和 |x| < 1.0 下的椭圆体第一类径向函数及其导数(关于 x)
参数:
m 数组类型
模参数 m(非负)
n 数组类型
模参数 n(>= m)
c 数组类型
椭圆体参数
x 数组类型
参数 x(|x| < 1.0)
out 数组,可选
可选输出数组用于函数结果
返回:
s 标量或者数组类型
函数值
sp 标量或者数组类型
关于 x 的导数值
另请参见
obl_rad1_cv
scipy.special.obl_rad2
scipy.special.obl_rad2(m, n, c, x, out=None) = <ufunc 'obl_rad2'>
第二类椭圆球面径向函数及其导数。
计算第二类椭圆球面径向函数及其对 x 的导数,对于模式参数 m>=0 和 n>=m,椭圆参数 c 和 |x| < 1.0。
参数:
m 数组类型
参数 m(非负)
n 数组类型
参数 n(>= m)
c 数组类型
椭圆参数
x 数组类型
参数 x(|x| < 1.0)
out ndarray,可选
函数结果的可选输出数组
返回值:
s标量或者 ndarray
函数的值
sp 标量或者 ndarray
导数 vs x 的值
参见
obl_rad2_cv