scipy.special.hyp2f1¶
- scipy.special.hyp2f1(a, b, c, z) = <ufunc 'hyp2f1'>¶
高斯超几何函数2F1(a,b;c;z)
- 参数
- a、b、carray_like
论据,应该是实实在在的。
- zarray_like
论据,真实的或复杂的。
- 退货
- hyp2f1标量或ndarray
高斯超几何函数的值。
注意事项
此函数是为以下对象定义的 \(|z| < 1\) 作为
\[\mathm{sup2f1}(a,b,c,z)=\sum_{n=0}^\infty \frac{(A)_n(B)_n}{(C)_n}\frac{z^n}{n!},\]并通过解析延拓定义在复z平面的睡觉上 [1]. 这里 \((\cdot)_n\) 是POCHHAMER符号;请参见
poch
。什么时候 \(n\) 是整数,则结果是一次多项式 \(n\) 。的复数值的实现
z
中对此进行了说明 [2].参考文献
- 1
美国国家标准与技术研究院数学函数数字类库https://dlmf.nist.gov/15.2
- 2
张俊明,金俊明,“特殊函数的计算”,Wiley 1996。
- 3
Cphes数学函数库,http://www.netlib.org/cephes/
示例
>>> 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.9272952180016123