Hypergeometric function \({}_1F_2\)#
Non-regularized hypergeometric function \({}_1F_2\)#
- ctxflint.hyperg_1f2(a, b1, b2, z)#
Returns the generalized hypergeometric function \({}_1F_2\).
Returns \(\displaystyle \,_1F_2(a_1;b_1,b_2;x) = \sum_{k=0}^{\infty} \frac{(a_1)_k} {(b_1)_k(b_2)_k} \frac{x^k}{k!}\)
We also have \(\displaystyle \,_1F_2(a_1;b_1,b_2;x) = \frac{\Gamma(b_2)}{\Gamma(a_1)\Gamma(b_2-a_1)} \int_0^1 (1-t)^{b_2-a_1-1} t^{a_1-1} {}_0F_1(b_1, t x) \: \mathrm{d}t\), where \(\Re(b_2) > \Re(a_1) > 0\).
See also MathWorld [1117], MathWorld [294], Wikipedia [1494], NIST [27], Nijimbere [446], Tarasov [540], Mpmath [776].
See also: https://functions.wolfram.com/HypergeometricFunctions/Hypergeometric1F2/07/01/01/
See also: https://functions.wolfram.com/HypergeometricFunctions/Hypergeometric1F2/17/01/01/
See also: https://functions.wolfram.com/HypergeometricFunctions/Hypergeometric1F2/06/02/03/
See also: https://functions.wolfram.com/HypergeometricFunctions/Hypergeometric1F2/25/01/
An example with real input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 40; a1 = '11.0'; b1 = '12.0'; b2 = '32.0'; x = '0.3' >>> \mathrm{d}x = dec.hyp1f2(a1, b1, b2, x); mx = mpm.hyp1f2(a1, b1, b2, x); gx = gmp.hyp1f2(a1, b1, b2, x) >>> fx = fpm.hyp1f2(a1, b1, b2, x); ax = apm.hyp1f2(a1, b1, b2, x) >>> mpm.show([\mathrm{d}x, mx, gx, fx, ax]) dec: 1.008629906366460362226305867117802783739E+0 mpm: 1.008629906366460362226305867117802783739e+0 gmp: 1.008629906366460362226305867117802783739E+00 fpm: 1.00862990636646E+00 apm: 1.008629906366460362226305867117802783739e+0 (1.138e-39%)
An example with complex input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 20; a1 = '11.0 + 2.0j'; b1 = '12.0 + 3.0j'; b2 = '42.0 + 3.0j';z = '3.0 + 4.0j' >>> \mathrm{d}z = dec.hyp1f2(a1, b1, b2, z); mz = mpm.hyp1f2(a1, b1, b2, z); gz = gmp.hyp1f2(a1, b1, b2, z) >>> fz = fpm.hyp1f2(a1, b1, b2, z); az = apm.hyp1f2(a1, b1, b2, z) >>> mpm.show([\mathrm{d}z, mz, gz, fz, az], aligned=True) dec: 1.0752386838476564793E+0 + 8.2118112439611053461E-2j mpm: 1.0752386838476564793e+0 + 8.2118112439611053461e-2j gmp: 1.0752386838476564793E+00 + 8.2118112439611053461E-02j fpm: 1.07523868384766E+00 + 8.21181124396110E-02j apm: 1.0752386838476564793e+0 (7.878e-20%) + 8.2118112439611053461e-2 (6.447e-20%)j
Regularized hypergeometric function \({}_1\widetilde{F}_2\)#
- ctxflint.hyperg_1f2r(a, b1, b2, z)#
Returns the generalized hypergeometric function 1widetilde{F}2(a; b, c; z).
See also MathWorld [1117], MathWorld [294], Wikipedia [1494], NIST [27], Nijimbere [446], Tarasov [540], Mpmath [776].
An example with real input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 40; a1 = '11.0'; b1 = '12.0'; b2 = '32.0'; x = '0.3' >>> \mathrm{d}x = dec.hyp1f2r(a1, b1, b2, x); mx = mpm.hyp1f2r(a1, b1, b2, x); gx = gmp.hyp1f2r(a1, b1, b2, x) >>> fx = fpm.hyp1f2r(a1, b1, b2, x); ax = apm.hyp1f2r(a1, b1, b2, x) >>> mpm.show([\mathrm{d}x, mx, gx, fx, ax]) dec: 3.072941936207392693664766625229320203604E-42 mpm: 3.072941936207392693664766625229320203604e-42 gmp: 3.072941936207392693664766625229320203604E-42 fpm: 3.07294193620739E-42 apm: 3.072941936207392693664766625229320203604e-42 (1.072e-39%)
An example with complex input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 20; a1 = '11.0 + 2.0j'; b1 = '12.0 + 3.0j'; b2 = '42.0 + 3.0j';z = '3.0 + 4.0j' >>> \mathrm{d}z = dec.hyp1f2r(a1, b1, b2, z); mz = mpm.hyp1f2r(a1, b1, b2, z); gz = gmp.hyp1f2r(a1, b1, b2, z) >>> fz = fpm.hyp1f2r(a1, b1, b2, z); az = apm.hyp1f2r(a1, b1, b2, z) >>> mpm.show([\mathrm{d}z, mz, gz, fz, az], aligned=True) dec: 1.2280824173267661851E-57 + 4.9727461410239566810E-58j mpm: 1.2280824173267661851e-57 + 4.9727461410239566810e-58j gmp: 1.2280824173267661851E-57 + 4.9727461410239566810E-58j fpm: 1.22808241732677E-57 + 4.97274614102396E-58j apm: 1.2280824173267661851e-57 (1.319e-19%) + 4.9727461410239566810e-58 (1.085e-19%)j