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\) 是波赫哈默尔符号;请参考
poch
。- 参数:
- a, barray_like
实数参数
- xarray_like
实数或复数参数
- outndarray, 可选
函数结果的可选输出数组
- 返回:
- 标量或 ndarray
合流超几何函数的值
注释
对于实数值,此函数使用来自 C++ Boost 库的
hyp1f1
例程 [2],对于复数值,则使用 specfun Fortran 库的 C 翻译版本 [3]。参考文献
[dlmf]NIST 数学函数数字图书馆 https://dlmf.nist.gov/13.2#E2
[2]Boost 开发人员。“Boost C++ 库”。 https://boost.ac.cn/。
[3]Zhang, Jin,“特殊函数的计算”,John Wiley and Sons, Inc, 1996。
示例
>>> import numpy as np >>> import scipy.special as sc
当 x 为零时,其值为 1。
>>> 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])