scipy.special.eval_chebyt
scipy.special.eval_chebyt(n, x, out=None) = <ufunc 'eval_chebyt'>
在某点评估第一类切比雪夫多项式。
第一类切比雪夫多项式可以通过高斯超几何函数 ({}_2F_1) 定义为
[T_n(x) = {}_2F_1(n, -n; 1/2; (1 - x)/2).]
当 (n) 是整数时,结果是一个次数为 (n) 的多项式。详情参见 [AS] 中的 22.5.47。
参数:
narray_like
多项式的次数。如果不是整数,则通过与高斯超几何函数的关系确定结果。
xarray_like
要评估切比雪夫多项式的点
outndarray,可选
为函数值的可选输出数组
返回:
Tscalar 或 ndarray
切比雪夫多项式的值
另请参阅
roots_chebyt
第一类切比雪夫多项式的根和积分权重
chebyu
切比雪夫多项式对象
eval_chebyu
评估第二类切比雪夫多项式
hyp2f1
高斯超几何函数
numpy.polynomial.chebyshev.Chebyshev
切比雪夫级数
注意
在 x 范围为 [-1, 1]
时,这个例程至少对 10000
阶的数值是稳定的。
参考资料
[AS]
Milton Abramowitz 和 Irene A. Stegun 编。数学函数、图表与数学表格手册。纽约:多佛尔出版社,1972 年。
scipy.special.eval_chebyu
scipy.special.eval_chebyu(n, x, out=None) = <ufunc 'eval_chebyu'>
在某一点评估第二类切比雪夫多项式
第二类切比雪夫多项式可以通过高斯超几何函数 ({}_2F_1) 定义为
[U_n(x) = (n + 1) {}_2F_1(-n, n + 2; 3/2; (1 - x)/2).]
当 (n) 是整数时,结果是一个 (n) 次多项式。详情请参见《数学函数、公式、图表手册》22.5.48 中的 [AS]。
参数:
narray_like
多项式的度。如果不是整数,则结果通过与高斯超几何函数的关系确定。
xarray_like
评估切比雪夫多项式的点
outndarray,可选
函数值的可选输出数组
返回:
U标量或 ndarray
切比雪夫多项式的值
另请参见
roots_chebyu
第二类切比雪夫多项式的根和积分权重
chebyu
切比雪夫多项式对象
eval_chebyt
评估第一类切比雪夫多项式
hyp2f1
高斯超几何函数
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编。《数学函数、公式、图表手册》。纽约:多佛尔出版社,1972 年。
scipy.special.eval_chebyc
scipy.special.eval_chebyc(n, x, out=None) = <ufunc 'eval_chebyc'>
在[-2, 2]上求切比雪夫一类多项式的点。
这些多项式定义为
[C_n(x) = 2 T_n(x/2)]
其中(T_n)是切比雪夫一类多项式。详情参见[AS]的 22.5.11。
参数:
n数组样
多项式的度。如果不是整数,结果通过与eval_chebyt
的关系来确定。
x数组样
评价切比雪夫多项式的点
outndarray, 可选
函数值的可选输出数组
返回:
C标量或 ndarray
切比雪夫多项式的值
另见
roots_chebyc
切比雪夫一类多项式在[-2, 2]上的根和积分权重
chebyc
切比雪夫多项式对象
numpy.polynomial.chebyshev.Chebyshev
切比雪夫级数
eval_chebyt
评价切比雪夫一类多项式
参考资料
[AS]
米尔顿·阿布拉莫维奇和爱琳·A·斯特根, 编辑。数学函数手册,包括公式,图表和数学表格。纽约:多佛尔,1972 年。
示例
>>> import numpy as np
>>> import scipy.special as sc
它们是切比雪夫一类多项式的等比例版本
>>> x = np.linspace(-2, 2, 6)
>>> sc.eval_chebyc(3, x)
array([-2\. , 1.872, 1.136, -1.136, -1.872, 2\. ])
>>> 2 * sc.eval_chebyt(3, x / 2)
array([-2\. , 1.872, 1.136, -1.136, -1.872, 2\. ])
scipy.special.eval_chebys
scipy.special.eval_chebys(n, x, out=None) = <ufunc 'eval_chebys'>
在[-2, 2]上评估第二类切比雪夫多项式的点。
这些多项式定义为
[S_n(x) = U_n(x/2)]
其中(U_n)是第二类切比雪夫多项式。详见[AS]中的 22.5.13。
参数:
narray_like
多项式的次数。如果不是整数,则结果通过与eval_chebyu
的关系确定。
xarray_like
要评估切比雪夫多项式的点
outndarray, 可选
函数值的可选输出数组
返回:
S标量或 ndarray
切比雪夫多项式的值
另请参阅
roots_chebys
第二类切比雪夫多项式在[-2, 2]上的根和积分权重
chebys
第二类切比雪夫多项式对象
eval_chebyu
评估第二类切比雪夫多项式
参考文献
[AS]
米尔顿·阿布拉莫维茨和艾琳·A·斯蒂甘,编。带有公式、图表和数学表的数学函数手册。纽约:多佛,1972 年。
示例
>>> import numpy as np
>>> import scipy.special as sc
它们是第二类切比雪夫多项式的缩放版本。
>>> x = np.linspace(-2, 2, 6)
>>> sc.eval_chebys(3, x)
array([-4\. , 0.672, 0.736, -0.736, -0.672, 4\. ])
>>> sc.eval_chebyu(3, x / 2)
array([-4\. , 0.672, 0.736, -0.736, -0.672, 4\. ])
scipy.special.eval_jacobi
scipy.special.eval_jacobi(n, alpha, beta, x, out=None) = <ufunc 'eval_jacobi'>
在特定点评估 Jacobi 多项式。
Jacobi 多项式可以通过 Gauss 超几何函数 ({}_2F_1) 定义为
[P_n^{(\alpha, \beta)}(x) = \frac{(\alpha + 1)_n}{\Gamma(n + 1)} {}_2F_1(-n, 1 + \alpha + \beta + n; \alpha + 1; (1 - z)/2)]
其中 ((\cdot)_n) 是 Pochhammer 符号;参见 poch
。当 (n) 是整数时,结果是次数为 (n) 的多项式。详见 [AS] 的 22.5.42。
参数:
narray_like
多项式的次数。如果不是整数,则通过与 Gauss 超几何函数的关系确定结果。
alphaarray_like
参数
betaarray_like
参数
xarray_like
评估多项式的点
outndarray,可选
函数值的可选输出数组
返回:
Pscalar 或 ndarray
Jacobi 多项式的值
另见
roots_jacobi
Jacobi 多项式的根和积分权重
jacobi
Jacobi 多项式对象
hyp2f1
Gauss 超几何函数
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。《数学函数手册:公式、图表和数学表》。纽约:多佛尔出版社,1972 年。
scipy.special.eval_laguerre
scipy.special.eval_laguerre(n, x, out=None) = <ufunc 'eval_laguerre'>
在某一点评估拉盖尔多项式。
拉盖尔多项式可以通过广义超几何函数({}_1F_1)定义为
[L_n(x) = {}_1F_1(-n, 1, x).]
详细内容请参阅[AS]中的 22.5.16 和 22.5.54。当(n)是整数时,结果是一个(n)次多项式。
参数:
narray_like
多项式的度。如果不是整数,则结果通过与广义超几何函数的关系确定。
xarray_like
评估拉盖尔多项式的点
outndarray, optional
函数值的可选输出数组
返回值:
L标量或 ndarray
拉盖尔多项式的值
另请参见
roots_laguerre
拉盖尔多项式的根和积分权重
laguerre
拉盖尔多项式对象
numpy.polynomial.laguerre.Laguerre
拉盖尔级数
eval_genlaguerre
评估广义拉盖尔多项式
参考资料
[AS]
Milton Abramowitz 和 Irene A. Stegun 编,《数学函数手册:公式、图表和数学表》。纽约:多佛出版社,1972 年。
scipy.special.eval_genlaguerre
scipy.special.eval_genlaguerre(n, alpha, x, out=None) = <ufunc 'eval_genlaguerre'>
在某一点评估广义拉盖尔多项式。
广义拉盖尔多项式可以通过共轭超几何函数({}_1F_1)定义,如下所示:
[L_n^{(\alpha)}(x) = \binom{n + \alpha}{n} {}_1F_1(-n, \alpha + 1, x).]
当 (n) 是整数时,结果是次数为 (n) 的多项式。详细信息请参见《AS》(#r66458ca93e03-as)第 22.5.54 节。拉盖尔多项式是 (\alpha = 0) 时的特殊情况。
参数:
n数组样式
多项式的次数。如果不是整数,则结果通过与共轭超几何函数的关系确定。
alpha数组样式
参数;必须有alpha > -1
x数组样式
评估广义拉盖尔多项式的点
out ndarray,可选
函数值的可选输出数组
返回:
L标量或 ndarray
广义拉盖尔多项式的值
另见
roots_genlaguerre
广义拉盖尔多项式的根和积分权重
genlaguerre
广义拉盖尔多项式对象
hyp1f1
共轭超几何函数
eval_laguerre
评估拉盖尔多项式
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑。Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. 纽约:Dover, 1972。
scipy.special.eval_hermite
scipy.special.eval_hermite(n, x, out=None) = <ufunc 'eval_hermite'>
在某一点评估物理学家的埃尔米特多项式。
由…定义
[H_n(x) = (-1)^n e^{x²} \frac{dn}{dxn} e^{-x²};]
(H_n)是一个次数为(n)的多项式。详见[AS] 22.11.7。
参数:
narray_like
多项式的次数
xarray_like
评估埃尔米特多项式的点
outndarray,可选
函数值的可选输出数组
返回:
H标量或 ndarray
埃尔米特多项式的值
另请参见
roots_hermite
物理学家埃尔米特多项式的根和积分权重
hermite
物理学家的埃尔米特多项式对象
numpy.polynomial.hermite.Hermite
物理学家埃尔米特级数
eval_hermitenorm
评估概率学家的埃尔米特多项式
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑。数学函数、图表和数学表格手册。纽约:多佛出版社,1972 年。
scipy.special.eval_hermitenorm
scipy.special.eval_hermitenorm(n, x, out=None) = <ufunc 'eval_hermitenorm'>
在某一点评估概率学家(标准化的)Hermite 多项式。
由以下定义
[He_n(x) = (-1)^n e^{x²/2} \frac{dn}{dxn} e^{-x²/2};]
(He_n) 是一个 (n) 次多项式。详情见 [AS] 的 22.11.8 节。
参数:
n 类似数组
多项式的度数
x 类似数组
评估 Hermite 多项式的点
out ndarray,可选
函数值的可选输出数组
返回:
He 标量或者 ndarray
Hermite 多项式的值
参见
概率学家的 Hermite 多项式的根和积分权重
概率学家的 Hermite 多项式对象
numpy.polynomial.hermite_e.HermiteE
概率学家的 Hermite 级数
评估物理学家的 Hermite 多项式
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑。 Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972.
scipy.special.eval_gegenbauer
scipy.special.eval_gegenbauer(n, alpha, x, out=None) = <ufunc 'eval_gegenbauer'>
在某点评估 Gegenbauer 多项式。
Gegenbauer 多项式可以通过 Gauss 超几何函数 ({}_2F_1) 定义为
[C_n^{(\alpha)} = \frac{(2\alpha)_n}{\Gamma(n + 1)} {}_2F_1(-n, 2\alpha + n; \alpha + 1/2; (1 - z)/2).]
当 (n) 是整数时,结果是一个 (n) 次多项式。详见 [AS] 的 22.5.46 节。
参数:
narray_like
多项式的阶数。如果不是整数,结果由与 Gauss 超几何函数的关系确定。
alphaarray_like
参数
xarray_like
用于评估 Gegenbauer 多项式的点
outndarray,可选
函数值的可选输出数组
返回:
C标量或 ndarray
Gegenbauer 多项式的值
另见
Gegenbauer 多项式的根和积分权重
Gegenbauer 多项式对象
Gauss 超几何函数
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables。纽约:Dover,1972。
scipy.special.eval_sh_legendre
scipy.special.eval_sh_legendre(n, x, out=None) = <ufunc 'eval_sh_legendre'>
在某一点评估移位勒让德多项式。
这些多项式定义为
[P_n^*(x) = P_n(2x - 1)]
其中(P_n)是勒让德多项式。详情请参见[AS]中的 2.2.11。
参数:
narray_like
多项式的阶数。如果不是整数,则通过与eval_legendre
的关系确定其值。
xarray_like
用于评估移位勒让德多项式的点
outndarray,可选
可选输出数组的函数值
返回:
P标量或 ndarray
移位勒让德多项式的值
另请参阅
移位勒让德多项式的根和积分权重
移位勒让德多项式对象
评估勒让德多项式
numpy.polynomial.legendre.Legendre
勒让德级数
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. 纽约:Dover,1972 年。
scipy.special.eval_sh_chebyt
scipy.special.eval_sh_chebyt(n, x, out=None) = <ufunc 'eval_sh_chebyt'>
在某一点评估 shifted Chebyshev polynomial 的第一种
这些多项式被定义为
[T_n^*(x) = T_n(2x - 1)]
其中(T_n)是第一种 Chebyshev 多项式。详细信息请参见[AS]的 22.5.14 节。
参数:
n array_like
多项式的次数。如果不是整数,则通过与eval_chebyt
的关系确定结果。
x array_like
用于评估 shifted Chebyshev polynomial 的点
out ndarray,可选
用于函数值的可选输出数组
返回:
T 标量或 ndarray
shifted Chebyshev polynomial 的值
另请参见
shifted Chebyshev polynomials of the first kind 的根和积分权重
shifted Chebyshev polynomial 对象
评估第一类 Chebyshev 多项式
numpy.polynomial.chebyshev.Chebyshev
Chebyshev 级数
参考文献
米尔顿·阿布拉莫维奇和艾琳·斯特根(Milton Abramowitz and Irene A. Stegun)编辑。《数学函数手册:公式、图表和数学表格》。纽约:多佛尔出版社,1972 年。
scipy.special.eval_sh_chebyu
scipy.special.eval_sh_chebyu(n, x, out=None) = <ufunc 'eval_sh_chebyu'>
在某一点评估第二类移位切比雪夫多项式。
这些多项式定义为
[U_n^*(x) = U_n(2x - 1)]
其中(U_n)是第一类切比雪夫多项式。详见[AS]中的 22.5.15。
参数:
n类似数组
多项式的次数。如果不是整数,则通过与eval_chebyu
的关系确定结果。
x类似数组
评估移位切比雪夫多项式的点
out数组,可选
函数值的可选输出数组
返回:
U标量或类似数组
移位切比雪夫多项式的值
另请参阅
roots_sh_chebyu
第二类移位切比雪夫多项式的根和积分权重
sh_chebyu
移位切比雪夫多项式对象
eval_chebyu
评估第二类切比雪夫多项式
参考文献
[AS]
米尔顿·阿布拉莫维奇和艾琳·A·斯特根,编。《数学函数手册:公式、图表和数学表》。纽约:多佛尔,1972 年。
scipy.special.eval_sh_jacobi
scipy.special.eval_sh_jacobi(n, p, q, x, out=None) = <ufunc 'eval_sh_jacobi'>
在某一点评估偏移雅各比多项式。
由…定义
[G_n^{(p, q)}(x) = \binom{2n + p - 1}{n}^{-1} P_n^{(p - q, q - 1)}(2x - 1),]
其中(P_n^{(\cdot, \cdot)})是第 n 个雅各比多项式。有关详细信息,请参见[AS]的 22.5.2 节。
参数:
n整数
多项式的次数。如果不是整数,则通过与binom
和eval_jacobi
的关系确定结果。
p浮点数
参数
q浮点数
参数
outndarray,可选
函数值的可选输出数组
返回:
G标量或 ndarray
偏移雅各比多项式的值。
另请参见
roots_sh_jacobi
偏移雅各比多项式的根和积分权重
sh_jacobi
偏移雅各比多项式对象
eval_jacobi
评估雅各比多项式
参考文献
[AS]
米尔顿·阿布拉莫维茨和艾琳·A·斯特根,编。《数学函数手册:公式、图表和数学表格》。纽约:多佛尔出版社,1972 年。
scipy.special.roots_legendre
scipy.special.roots_legendre(n, mu=False)
高斯-勒让德积分。
计算高斯-勒让德积分的样本点和权重[GL]。样本点是第 n 次 Legendre 多项式(P_n(x))的根。这些样本点和权重能够正确地在区间([-1, 1])上用权函数(w(x) = 1)积分次数小于等于(2n - 1)的多项式。有关更多详细信息,请参见[AS]中的 2.2.10。
参数:
nint
积分阶数
mubool, optional
如果为 True,则返回权重的总和,可选。
返回结果:
xndarray
样本点
wndarray
权重
mufloat
权重的总和。
另请参阅
scipy.integrate.quadrature
scipy.integrate.fixed_quad
numpy.polynomial.legendre.leggauss
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun,主编。数学函数手册,公式,图表和数学表格。纽约:多佛尔出版社,1972 年。
[GL] (1,2)
高斯-勒让德积分,维基百科,en.wikipedia.org/wiki/Gauss%E2%80%93Legendre_quadrature
示例
>>> import numpy as np
>>> from scipy.special import roots_legendre, eval_legendre
>>> roots, weights = roots_legendre(9)
roots
保存根,而weights
保存高斯-勒让德积分的权重。
>>> roots
array([-0.96816024, -0.83603111, -0.61337143, -0.32425342, 0\. ,
0.32425342, 0.61337143, 0.83603111, 0.96816024])
>>> weights
array([0.08127439, 0.18064816, 0.2606107 , 0.31234708, 0.33023936,
0.31234708, 0.2606107 , 0.18064816, 0.08127439])
验证我们通过评估roots
处的第 9 次 Legendre 多项式来获得根。所有值都近似为零:
>>> eval_legendre(9, roots)
array([-8.88178420e-16, -2.22044605e-16, 1.11022302e-16, 1.11022302e-16,
0.00000000e+00, -5.55111512e-17, -1.94289029e-16, 1.38777878e-16,
-8.32667268e-17])
在这里,我们将展示如何使用上述值来估算使用高斯-勒让德积分从 1 到 2 的积分的方法 f(t) = t + 1/t [GL]。首先定义函数和积分限制。
>>> def f(t):
... return t + 1/t
...
>>> a = 1
>>> b = 2
我们将使用integral(f(t), t=a, t=b)
来表示从 t=a 到 t=b 的函数 f 的定积分。roots
中的样本点来自区间[-1, 1],因此我们将通过简单的变量更改重新编写积分:
x = 2/(b - a) * t - (a + b)/(b - a)
带逆:
t = (b - a)/2 * x + (a + 2)/2
然后:
integral(f(t), a, b) =
(b - a)/2 * integral(f((b-a)/2*x + (a+b)/2), x=-1, x=1)
我们可以用roots_legendre
返回的值来近似后一个积分。
将上述计算得到的根从[-1, 1]映射到[a, b]。
>>> t = (b - a)/2 * roots + (a + b)/2
将积分近似为函数值的加权和。
>>> (b - a)/2 * f(t).dot(weights)
2.1931471805599276
将其与精确结果进行比较,即 3/2 + log(2):
>>> 1.5 + np.log(2)
2.1931471805599454
scipy.special.roots_chebyt
scipy.special.roots_chebyt(n, mu=False)
Gauss-Chebyshev(第一类)积分法。
用于计算 Gauss-Chebyshev 积分法的样本点和权重。样本点是第一类 n 次切比雪夫多项式 (T_n(x)) 的根。这些样本点和权重可以正确地在区间 ([-1, 1]) 上以权重函数 (w(x) = 1/\sqrt{1 - x²}) 积分度为 (2n - 1) 或更低的多项式。详见 [AS] 中的 22.2.4。
参数:
nint
积分阶数
mubool,可选
如果为 True,则返回权重的总和,可选。
返回:
xndarray
样本点
wndarray
权重
mufloat
权重的总和
参见
numpy.polynomial.chebyshev.chebgauss
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编,Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables。纽约:Dover,1972。
scipy.special.roots_chebyu
scipy.special.roots_chebyu(n, mu=False)
Gauss-Chebyshev(第二类)积分。
计算 Gauss-Chebyshev 积分的样本点和权重。这些样本点是第二类第(n)次 Chebyshev 多项式 (U_n(x)) 的根。这些样本点和权重可以正确地在区间 ([-1, 1]) 上对权函数 (w(x) = \sqrt{1 - x²}) 下的不超过 (2n - 1) 阶的多项式进行积分。详细信息请参见[AS]的第 22.2.5 节。
参数:
n整数
积分阶数
mu布尔值,可选项
如果为 True,返回权重之和,可选项。
返回值:
xndarray
样本点
wndarray
权重
mu浮点数
权重之和
参见
scipy.integrate.quadrature
scipy.integrate.fixed_quad
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972.
scipy.special.roots_chebyc
scipy.special.roots_chebyc(n, mu=False)
Gauss-Chebyshev(第一类)求积法。
计算 Gauss-Chebyshev 求积的样本点和权重。样本点是第一类第 (n) 阶切比雪夫多项式 (C_n(x)) 的根。这些样本点和权重能正确地积分不超过 (2n - 1) 阶的多项式,区间为 ([-2, 2]),权函数为 (w(x) = 1 / \sqrt{1 - (x/2)²})。更多详情请见《AS》中的第 22.2.6 节(#r7d5a5e4f4911-as)。
参数:
n int
求积次序
mu bool,可选
如果为 True,返回权重的总和,可选。
返回:
x ndarray
样本点
w ndarray
权重
mu float
权重的总和
另请参见
scipy.integrate.quadrature
scipy.integrate.fixed_quad
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。《数学函数手册:公式、图表和数学表》。纽约:多佛出版社,1972 年。
scipy.special.roots_chebys
scipy.special.roots_chebys(n, mu=False)
高斯切比雪夫(第二类)积分。
计算高斯切比雪夫积分的样本点和权重。样本点是第二类第 (n) 度切比雪夫多项式 (S_n(x)) 的根。这些样本点和权重可以正确地在区间 ([-2, 2]) 上积分 (2n - 1) 次及以下的多项式,权重函数为 (w(x) = \sqrt{1 - (x/2)²})。详见 [AS] 的 22.2.7 节。
参数:
nint
积分阶数
mubool,可选
如果为 True,则返回权重的总和,可选。
返回:
xndarray
样本点
wndarray
权重
mufloat
权重总和
另请参阅
scipy.integrate.quadrature
scipy.integrate.fixed_quad
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑的《数学函数、公式、图表及数学表格手册》。纽约:Dover 出版社,1972 年。
scipy.special.roots_jacobi
scipy.special.roots_jacobi(n, alpha, beta, mu=False)
高斯-雅各比积分。
计算高斯-雅各比积分的样本点和权重。样本点为第 n 阶雅各比多项式的根 (P^{\alpha, \beta}_n(x))。这些样本点和权重可以正确地积分次数不超过 (2n - 1) 的多项式,权重函数为 (w(x) = (1 - x)^{\alpha} (1 + x)^{\beta})。详见 [AS] 中的 22.2.1 节。
参数:
nint
积分阶数
alphafloat
alpha 必须 > -1
betafloat
beta 必须 > -1
mubool,可选
如果为 True,则返回权重之和,可选。
返回:
xndarray
样本点
wndarray
权重
mufloat
权重之和
另请参阅
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。《Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables》。纽约:Dover,1972 年。
scipy.special.roots_laguerre
scipy.special.roots_laguerre(n, mu=False)
高斯-拉盖尔积分。
计算高斯-拉盖尔积分的样本点和权重。样本点是第 n 阶拉盖尔多项式 (L_n(x)) 的根。这些样本点和权重可以正确地在权重函数 (w(x) = e^{-x}) 下积分度数小于等于 (2n - 1) 的多项式,积分区间为 ([0, \infty])。详情请参阅《AS》(#r837212c90989-as) 中的 22.2.13。
参数:
nint
积分阶数
mubool,可选
如果为 True,则返回权重的总和,可选。
返回:
xndarray
样本点
wndarray
权重
mufloat
权重的总和
另请参阅
scipy.integrate.quadrature
scipy.integrate.fixed_quad
numpy.polynomial.laguerre.laggauss
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编,Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972.
scipy.special.roots_genlaguerre
scipy.special.roots_genlaguerre(n, alpha, mu=False)
高斯广义拉盖尔积分。
计算高斯广义拉盖尔积分的样本点和权重。样本点是第 n 次广义拉盖尔多项式的根,(L^{\alpha}_n(x))。这些样本点和权重能正确地对小于或等于次数(2n - 1)的多项式在区间([0, \infty])上的积分,权重函数为(w(x) = x^{\alpha} e^{-x})。详情请见[AS]的 22.3.9 节。
参数:
n整数
积分阶数
alpha浮点数
alpha 必须 > -1
mu布尔值,可选
如果为真,则返回权重之和,可选。
返回:
x数组
样本点
w数组
权重
mu浮点数
权重之和
另请参阅
scipy.integrate.quadrature
scipy.integrate.fixed_quad
参考文献
[AS]
米尔顿·阿布拉莫维奇和艾琳·A·斯特根 编著。《数学函数手册:公式、图表和数学表》。纽约:多佛出版社,1972 年。
scipy.special.roots_hermite
scipy.special.roots_hermite(n, mu=False)
Gauss-Hermite(物理学家的)求积。
计算高斯-厄米特求积的样本点和权重。样本点是第 n 次厄米特多项式(H_n(x))的根。这些样本点和权重可以正确地在权函数为(w(x) = e^{-x²})的情况下对小于等于(2n - 1)次多项式在区间([-\infty, \infty])上积分。详情请参见[AS]中的 22.2.14 节。
参数:
n整数
求积阶数
mu布尔型, 可选
如果为真,可选地返回权重的总和。
返回值:
x数组
样本点
w数组
权重
mu浮点型
权重的总和
另请参见
scipy.integrate.quadrature
scipy.integrate.fixed_quad
numpy.polynomial.hermite.hermgauss
(在 NumPy v2.0.dev0 中)
roots_hermitenorm
注意事项
对于小的 n(最多 150),使用 Golub-Welsch 算法的修改版本。节点由特征值问题计算,并通过牛顿迭代的一步进行改进。权重由众所周知的解析公式计算。
对于大于 150 的 n,应用一种最佳渐近算法,以数值稳定的方式计算节点和权重。该算法具有线性运行时间,使得对非常大的 n(数千或更多)的计算成为可能。
参考文献
[townsend.trogdon.olver-2014]
Townsend, A. 和 Trogdon, T. 和 Olver, S. (2014) 整个实数线上高斯求积节点和权重的快速计算. arXiv:1410.5286.
[townsend.trogdon.olver-2015]
Townsend, A. 和 Trogdon, T. 和 Olver, S. (2015) 整个实数线上高斯求积节点和权重的快速计算. IMA 数值分析杂志 DOI:10.1093/imanum/drv002.
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. 纽约: Dover, 1972.
scipy.special.roots_hermitenorm
scipy.special.roots_hermitenorm(n, mu=False)
高斯-埃尔米特(统计学家)积分。
计算高斯-埃尔米特积分的样本点和权重。样本点是第 n 次埃尔米特多项式的根,(He_n(x))。这些样本点和权重可以正确地对小于等于(2n - 1)次多项式在区间([-\infty, \infty])上进行积分,权重函数为(w(x) = e^{-x²/2})。更多细节请参见[AS]中的 22.2.15。
参数:
nint
积分阶数
mubool,可选
如果为 True,则返回权重之和,可选。
返回:
xndarray
样本点
wndarray
权重
mufloat
权重之和
另请参阅
scipy.integrate.quadrature
scipy.integrate.fixed_quad
numpy.polynomial.hermite_e.hermegauss
注意事项
对于小的 n 值,最多到 150,使用了 Golub-Welsch 算法的修改版本。节点是从特征值问题中计算出来的,并通过牛顿迭代的一步进行改进。权重是根据众所周知的解析公式计算出来的。
对于大于 150 的 n 值,使用了一种优化的渐近算法,以数值稳定的方式计算节点和权重。该算法具有线性运行时间,使得对于非常大的 n 值(几千或更多)的计算成为可能。
参考资料
[AS]
Milton Abramowitz 和 Irene A. Stegun,编。《带有公式、图表和数学表的数学函数手册》。纽约:多佛出版社,1972 年。
scipy.special.roots_gegenbauer
scipy.special.roots_gegenbauer(n, alpha, mu=False)
Gauss-Gegenbauer 积分。
计算 Gauss-Gegenbauer 积分的样本点和权重。样本点是第 n 阶 Gegenbauer 多项式 (C^{\alpha}_n(x)) 的根。这些样本点和权重可以正确地在区间 ([-1, 1]) 上,使用权重函数 (w(x) = (1 - x²)^{\alpha - 1/2}),积分阶数为 (2n - 1) 或更低。更多详细信息请参见《数学函数手册》第 22.2.3 节 [AS]。
参数:
nint
积分阶数
alphafloat
alpha 必须 > -0.5
mubool,可选
如果为 True,则返回权重的总和,可选。
返回:
xndarray
样本点
wndarray
权重
mufloat
权重的总和
另请参阅
scipy.integrate.quadrature
scipy.integrate.fixed_quad
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。《数学函数手册》。纽约:多佛出版社,1972 年。
scipy.special.roots_sh_legendre
scipy.special.roots_sh_legendre(n, mu=False)
Gauss-Legendre(移位)积分。
计算 Gauss-Legendre 积分的采样点和权重。采样点是第 n 次移位 Legendre 多项式 (P^*_n(x)) 的根。这些采样点和权重能够正确地在区间 ([0, 1]) 上以权重函数 (w(x) = 1.0) 积分度数不超过 (2n - 1) 的多项式。详情请参见 [AS] 中的 2.2.11。
参数:
n整数类型
积分阶数
mu布尔类型,可选
如果为 True,则返回权重的总和,可选。
返回:
x 数组类型
采样点
w 数组类型
权重
mu浮点数类型
权重总和
另请参见
scipy.integrate.quadrature
scipy.integrate.fixed_quad
参考文献
[AS]
密尔顿·阿布拉莫维茨(Milton Abramowitz)和艾琳·A·斯特根(Irene A. Stegun)编著。《数学函数手册:公式、图表和数学表格》。纽约:多佛出版社,1972 年。
scipy.special.roots_sh_chebyt
scipy.special.roots_sh_chebyt(n, mu=False)
高斯切比雪夫(第一类,偏移)积分。
计算高斯切比雪夫积分的样本点和权重。样本点是第一类偏移切比雪夫多项式 (T_n(x)) 的根,其阶数为 (n)。这些样本点和权重能够正确地在区间 ([0, 1]) 上以权重函数 (w(x) = 1/\sqrt{x - x²}) 积分不超过阶数为 (2n - 1) 的多项式。详细内容请参见[AS]中的第 22.2.8 节。
参数:
nint
积分阶数
mubool,可选
如果为 True,返回权重之和,可选。
返回值:
xndarray
样本点
wndarray
权重
mufloat
权重之和
另请参见
scipy.integrate.quadrature
scipy.integrate.fixed_quad
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑。数学函数手册,公式,图表和数学表。纽约:多佛尔出版社,1972 年。
scipy.special.roots_sh_chebyu
scipy.special.roots_sh_chebyu(n, mu=False)
Gauss-Chebyshev(第二类,位移)积分。
计算 Gauss-Chebyshev 积分的样本点和权重。样本点是第 n 阶位移切比雪夫多项式 (U_n(x)) 的根。这些样本点和权重可以正确地积分不超过 (2n - 1) 阶的多项式,权函数为 (w(x) = \sqrt{x - x²}),在区间 ([0, 1]) 内。详见 [AS] 第 22.2.9 节。
Parameters:
nint
积分阶数
mubool, optional
如果为真,返回权重的总和,可选。
Returns:
xndarray
样本点
wndarray
权重
mufloat
权重的总和
See also
scipy.integrate.quadrature
scipy.integrate.fixed_quad
References
[AS]
Milton Abramowitz 和 Irene A. Stegun 编。Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables。New York: Dover, 1972。
scipy.special.roots_sh_jacobi
scipy.special.roots_sh_jacobi(n, p1, q1, mu=False)
高斯-雅各比(移位)积分法。
计算高斯-雅各比(移位)积分法的样本点和权重。样本点是第 n 阶移位雅各比多项式 (G^{p,q}_n(x)) 的根。这些样本点和权重能正确地对 (2n - 1) 阶或以下的多项式在区间 ([0, 1]) 上进行积分,权重函数为 (w(x) = (1 - x)^{p-q} x^{q-1})。详见《AS》第 22.2.2 节的详细说明。
参数:
nint
积分阶数
p1float
(p1 - q1)必须 > -1
q1float
q1 必须 > 0
mubool,可选
如果为 True,返回权重的和,可选。
返回:
xndarray
样本点
wndarray
权重
mufloat
权重的和
另请参阅
scipy.integrate.quadrature
scipy.integrate.fixed_quad
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编辑。《数学函数手册:公式、图表和数学表》。纽约:Dover,1972 年。
scipy.special.legendre
scipy.special.legendre(n, monic=False)
勒让德多项式。
定义为解决方案
[\frac{d}{dx}\left[(1 - x²)\frac{d}{dx}P_n(x)\right] + n(n + 1)P_n(x) = 0;]
(P_n(x)) 是一个 (n) 次多项式。
参数:
n int
多项式的度。
monic bool,可选
如果 True,将领导系数缩放为 1。默认为 False。
返回:
P orthopoly1d
勒让德多项式。
注意
多项式 (P_n) 在 ([-1, 1]) 上是正交的,权函数为 1。
示例
生成第三阶勒让德多项式 1/2*(5x³ + 0x² - 3x + 0):
>>> from scipy.special import legendre
>>> legendre(3)
poly1d([ 2.5, 0\. , -1.5, 0\. ])
scipy.special.chebyt
原文链接:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.chebyt.html#scipy.special.chebyt
scipy.special.chebyt(n, monic=False)
第一类切比雪夫多项式。
定义为解
[(1 - x²)\frac{d²}{dx²}T_n - x\frac{d}{dx}T_n + n²T_n = 0;]
(T_n) 是一个 (n) 次多项式。
参数:
nint
多项式的次数。
monicbool, 可选
如果 True,将领先系数缩放为 1。默认为 False。
返回:
Torthopoly1d
第一类切比雪夫多项式。
另请参阅
chebyu
第二类切比雪夫多项式。
注释
多项式 (T_n) 在 ([-1, 1]) 上与权重函数 ((1 - x²)^{-1/2}) 正交。
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. 纽约:Dover,1972。
示例
第一类切比雪夫多项式的阶数 (n) 可以通过特定的 (n \times n) 矩阵的行列式得到。例如,我们可以检查从以下 (3 \times 3) 矩阵的行列式得到的点恰好在 (T_3) 上:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.linalg import det
>>> from scipy.special import chebyt
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-2.0, 2.0)
>>> ax.set_title(r'Chebyshev polynomial $T_3$')
>>> ax.plot(x, chebyt(3)(x), label=rf'$T_3$')
>>> for p in np.arange(-1.0, 1.0, 0.1):
... ax.plot(p,
... det(np.array([[p, 1, 0], [1, 2*p, 1], [0, 1, 2*p]])),
... 'rx')
>>> plt.legend(loc='best')
>>> plt.show()
它们也与雅各比多项式 (P_n^{(-0.5, -0.5)}) 有关系:
[P_n^{(-0.5, -0.5)}(x) = \frac{1}{4^n} \binom{2n}{n} T_n(x)]
让我们验证当 (n = 3) 时:
>>> from scipy.special import binom
>>> from scipy.special import jacobi
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> np.allclose(jacobi(3, -0.5, -0.5)(x),
... 1/64 * binom(6, 3) * chebyt(3)(x))
True
我们可以绘制一些值的切比雪夫多项式 (T_n):
>>> x = np.arange(-1.5, 1.5, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-4.0, 4.0)
>>> ax.set_title(r'Chebyshev polynomials $T_n$')
>>> for n in np.arange(2,5):
... ax.plot(x, chebyt(n)(x), label=rf'$T_n={n}$')
>>> plt.legend(loc='best')
>>> plt.show()
scipy.special.chebyu
原文:
docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.chebyu.html#scipy.special.chebyu
scipy.special.chebyu(n, monic=False)
第二类 Chebyshev 多项式。
定义为以下方程的解
[(1 - x²)\frac{d²}{dx²}U_n - 3x\frac{d}{dx}U_n + n(n + 2)U_n = 0;]
(U_n)是一个阶数为(n)的多项式。
参数:
nint
多项式的阶数。
monicbool,可选
如果True,将主导系数标度为 1。默认为False。
返回:
Uorthopoly1d
第二类 Chebyshev 多项式。
另见
chebyt
第一类 Chebyshev 多项式。
注意
多项式(U_n)在([-1, 1])上与权重函数((1 - x²)^{1/2})正交。
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。《数学函数、公式、图表和数学表》手册。纽约:多佛尔,1972 年。
示例
第二类 Chebyshev 多项式的阶数为(n),可以通过特定的(n \times n)矩阵的行列式来获得。例如,我们可以检查从以下(3 \times 3)矩阵行列式获得的点恰好位于(U_3)上:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.linalg import det
>>> from scipy.special import chebyu
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-2.0, 2.0)
>>> ax.set_title(r'Chebyshev polynomial $U_3$')
>>> ax.plot(x, chebyu(3)(x), label=rf'$U_3$')
>>> for p in np.arange(-1.0, 1.0, 0.1):
... ax.plot(p,
... det(np.array([[2*p, 1, 0], [1, 2*p, 1], [0, 1, 2*p]])),
... 'rx')
>>> plt.legend(loc='best')
>>> plt.show()
它们满足递推关系:
[U_{2n-1}(x) = 2 T_n(x)U_{n-1}(x)]
其中(T_n)是第一类 Chebyshev 多项式。让我们验证一下(n = 2)的情况:
>>> from scipy.special import chebyt
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> np.allclose(chebyu(3)(x), 2 * chebyt(2)(x) * chebyu(1)(x))
True
我们可以绘制一些值得注意的 Chebyshev 多项式(U_n):
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-1.5, 1.5)
>>> ax.set_title(r'Chebyshev polynomials $U_n$')
>>> for n in np.arange(1,5):
... ax.plot(x, chebyu(n)(x), label=rf'$U_n={n}$')
>>> plt.legend(loc='best')
>>> plt.show()
/reference/generated/scipy.special.chebyu.html#scipy.special.chebyu`](https://docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.special.chebyu.html#scipy.special.chebyu)
scipy.special.chebyu(n, monic=False)
第二类 Chebyshev 多项式。
定义为以下方程的解
[(1 - x²)\frac{d²}{dx²}U_n - 3x\frac{d}{dx}U_n + n(n + 2)U_n = 0;]
(U_n)是一个阶数为(n)的多项式。
参数:
nint
多项式的阶数。
monicbool,可选
如果True,将主导系数标度为 1。默认为False。
返回:
Uorthopoly1d
第二类 Chebyshev 多项式。
另见
chebyt
第一类 Chebyshev 多项式。
注意
多项式(U_n)在([-1, 1])上与权重函数((1 - x²)^{1/2})正交。
参考文献
[AS]
Milton Abramowitz 和 Irene A. Stegun 编著。《数学函数、公式、图表和数学表》手册。纽约:多佛尔,1972 年。
示例
第二类 Chebyshev 多项式的阶数为(n),可以通过特定的(n \times n)矩阵的行列式来获得。例如,我们可以检查从以下(3 \times 3)矩阵行列式获得的点恰好位于(U_3)上:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.linalg import det
>>> from scipy.special import chebyu
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-2.0, 2.0)
>>> ax.set_title(r'Chebyshev polynomial $U_3$')
>>> ax.plot(x, chebyu(3)(x), label=rf'$U_3$')
>>> for p in np.arange(-1.0, 1.0, 0.1):
... ax.plot(p,
... det(np.array([[2*p, 1, 0], [1, 2*p, 1], [0, 1, 2*p]])),
... 'rx')
>>> plt.legend(loc='best')
>>> plt.show()
[外链图片转存中…(img-liJyDJHE-1719634405580)]
它们满足递推关系:
[U_{2n-1}(x) = 2 T_n(x)U_{n-1}(x)]
其中(T_n)是第一类 Chebyshev 多项式。让我们验证一下(n = 2)的情况:
>>> from scipy.special import chebyt
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> np.allclose(chebyu(3)(x), 2 * chebyt(2)(x) * chebyu(1)(x))
True
我们可以绘制一些值得注意的 Chebyshev 多项式(U_n):
>>> x = np.arange(-1.0, 1.0, 0.01)
>>> fig, ax = plt.subplots()
>>> ax.set_ylim(-1.5, 1.5)
>>> ax.set_title(r'Chebyshev polynomials $U_n$')
>>> for n in np.arange(1,5):
... ax.plot(x, chebyu(n)(x), label=rf'$U_n={n}$')
>>> plt.legend(loc='best')
>>> plt.show()
[外链图片转存中…(img-slEecQOj-1719634405581)]