SciPy-1-12-中文文档-四十八-

122 阅读19分钟

SciPy 1.12 中文文档(四十八)

原文:docs.scipy.org/doc/scipy-1.12.0/index.html

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]) 上。

参见

chebyu

第二类切比雪夫多项式

注释

多项式 (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() 

../../_images/scipy-special-jacobi-1.png

scipy.special.laguerre

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.laguerre.html#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

拉盖尔多项式。

参见

genlaguerre

广义(关联)拉盖尔多项式。

注释

多项式 (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() 

../../_images/scipy-special-laguerre-1.png

scipy.special.genlaguerre

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.genlaguerre.html#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

广义拉盖尔多项式。

另请参阅

laguerre

拉盖尔多项式。

hyp1f1

松矛超几何函数

注释

对于固定的 (\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() 

../../_images/scipy-special-genlaguerre-1.png

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() 

../../_images/scipy-special-hermite-1.png

scipy.special.hermitenorm

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.hermitenorm.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.gegenbauer.html#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() 

../../_images/scipy-special-gegenbauer-1.png

scipy.special.sh_legendre

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.sh_legendre.html#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

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.sh_chebyt.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.sh_chebyu.html#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

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.sh_jacobi.html#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]

  1. 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 

ab 是负整数时,它是一个多项式。

>>> 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]) 

它在 ab 中是对称的。

>>> 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

超几何函数的值

另请参阅

hyperu

另一个超几何函数

hyp0f1

收敛的超几何极限函数

hyp2f1

高斯超几何函数

参考文献

[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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pbdv_seq.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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pbvv_seq.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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pbdn_seq.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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_a.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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_b.html#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_amathieu_cemmathieu_sem

scipy.special.mathieu_even_coef

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_even_coef.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_odd_coef.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_cem.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_amathieu_bmathieu_sem

scipy.special.mathieu_sem

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_sem.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_modcem1.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_modcem2.html#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

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_modsem1.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.mathieu_modsem2.html#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

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pro_ang1.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pro_rad1.html#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

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.pro_rad2.html#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

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.obl_ang1.html#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

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.obl_rad1.html#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

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.obl_rad2.html#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