Scorer functions#
Scorer function \(\mathrm{Gi}(x)\)#
- math53.scorer_gi(x)#
Returns the Scorer function Gi, which gives a particular solution to the inhomogeneous Airy differential equation \(f''(x) - x f(x) = 1/\pi\).
See also: MathWorld [1128], Wikipedia [1510], Ehrhardt [309] (3.1.7.7), NIST [461], Mpmath [788].
The Scorer function Gi is defined as
\[\text{Gi}(x) = \frac{1}{\pi} \int_0^\infty \sin \left(xt - \frac{1}{3}t^3 \right) \mathrm{d}t.\]Another particular solution is given by the Scorer Hi-function. The two functions are related as \(\mathrm{Gi}(z) + \mathrm{Hi}(z) = \mathrm{Bi}(z)\).
We also have
\[\text{Gi}(z) = \tfrac{1}{3} \text{Bi}(z) - \frac{ z^2}{2\pi} \: {}_1F_2\left(1; \tfrac{4}{3}, \tfrac{5}{3}; \tfrac{1}{9}z^3 \right)\]An example in Python
>>> from xlcalcnet import xreal >>> xreal.AiryGi(0.5) xreal('5.2359877559829887307E-1') >>> xreal.AiryGi('0.51') xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.AiryGi(0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.AiryGi('0.51') Gpr('5.3518479027559984754E-1')
An example with real input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 40; x = -3 >>> \mathrm{d}x = dec.scorergi(x); mx = mpm.scorergi(x); gx = gmp.scorergi(x) >>> fx = fpm.scorergi(x); ax = apm.scorergi(x) >>> mpm.show([\mathrm{d}x, mx, gx, fx, ax], aligned=True) dec: -2.990547183713964238015818976238353474193E-1 mpm: -2.990547183713964238015818976238353474193e-1 gmp: -2.990547183713964238015818976238353474193E-01 fpm: -2.99054718371396E-01 apm: -2.990547183713964238015818976238353474192e-1 (-4.827e-37%)
An example with complex input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 20; z = '3 + 4j' >>> \mathrm{d}z = dec.scorergi(z); mz = mpm.scorergi(z); gz = gmp.scorergi(z) >>> fz = fpm.scorergi(z); az = apm.scorergi(z) >>> mpm.show([\mathrm{d}z, mz, gz, fz, az], aligned=True) dec: 8.4889448371208839089E-2 - 3.5862043476779870404E-2j mpm: 8.4889448371208839089e-2 - 3.5862043476779870404e-2j gmp: 8.4889448371208839089E-02 - 3.5862043476779870404E-02j fpm: 8.48894483712088E-02 - 3.58620434767799E-02j apm: 8.4889448371208839123e-2 (6.78e-15%) - 3.5862043476779870473e-2 (-1.391e-14%)j
Scorer function \(\mathrm{Hi}(x)\)#
- math53.scorer_hi(x)#
Returns the Scorer function Hi, which gives a particular solution to the inhomogeneous Airy differential equation \(f''(x) - x f(x) = 1/\pi\).
See also: MathWorld [1129], Wikipedia [1510], Ehrhardt [309] (3.1.7.8), Mpmath [789].
Returns the Scorer function Hi, defined as
\[\text{Hi}(x) = \frac{1}{\pi} \int_0^\infty \exp \left(xt - \frac{1}{3}t^3 \right) \mathrm{d}t\]We also have
\[\text{Hi}(z) = \tfrac{2}{3} \text{Bi}(z) + \frac{ z^2}{2\pi} \: {}_1F_2\left(1; \tfrac{4}{3}, \tfrac{5}{3}; \tfrac{1}{9}z^3 \right)\]An example in Python
>>> from xlcalcnet import xreal >>> xreal.AiryHi(0.5) xreal('5.2359877559829887307E-1') >>> xreal.AiryHi('0.51') xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.AiryHi(0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.AiryHi('0.51') Gpr('5.3518479027559984754E-1')
An example with real input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 40; x = -3 >>> \mathrm{d}x = dec.scorerhi(x); mx = mpm.scorerhi(x); gx = gmp.scorerhi(x) >>> fx = fpm.scorerhi(x); ax = apm.scorerhi(x) >>> mpm.show([\mathrm{d}x, mx, gx, fx, ax], aligned=True) dec: 1.007650919964698805809370430513469907205E-1 mpm: 1.007650919964698805809370430513469907205e-1 gmp: 1.007650919964698805809370430513469907205E-01 fpm: 1.00765091996470E-01 apm: 1.007650919964698805809370430513469906431e-1 (1.334e-33%)
An example with complex input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 20; z = '3 + 4j' >>> \mathrm{d}z = dec.scorerhi(z); mz = mpm.scorerhi(z); gz = gmp.scorerhi(z) >>> fz = fpm.scorerhi(z); az = apm.scorerhi(z) >>> mpm.show([\mathrm{d}z, mz, gz, fz, az], aligned=True) dec: 9.5150834628338203598E-1 + 1.0872383260084919901E+0j mpm: 9.5150834628338203598e-1 + 1.0872383260084919901e+0j gmp: 9.5150834628338203598E-01 + 1.0872383260084919901E+00j fpm: 9.51508346283382E-01 + 1.08723832600849E+00j apm: 9.5150834628338203594e-1 (6.049e-16%) + 1.0872383260084919901e+0 (4.588e-16%)j
First derivative of the Scorer function \(\mathrm{Gi}(x)\), \(\mathrm{Gi}'(x)\)#
- math53.scorer_gi_prime(x)#
Returns \(\mathrm{Gi}'(x)\), the first derivative of the Airy (Scorer) function \(\mathrm{Gi}(x)\).
See also: MathWorld [1128], Wikipedia [1510], Ehrhardt [309] (3.1.7.7), NIST [461], Mpmath [788].
The function is calculated as
\[\text{Gi}'(z) = \tfrac{1}{3} \text{Bi}'(z) - \frac{1}{40\pi} \left[ 40 z \cdot {}_1F_2\left(1; \tfrac{4}{3}, \tfrac{5}{3}; \tfrac{1}{9}z^3 \right) + 3 z^4 \cdot {}_1F_2\left(2; \tfrac{7}{3}, \tfrac{8}{3}; \tfrac{1}{9}z^3 \right) \right ]\]We also have \(\mathrm{Gi}'(x) = \mathrm{Bi}'(x) - \mathrm{Hi}'(x)\).
An example in Python
>>> from xlcalcnet import xreal >>> xreal.AiryGi(0.5) xreal('5.2359877559829887307E-1') >>> xreal.AiryGi('0.51') xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.AiryGi(0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.AiryGi('0.51') Gpr('5.3518479027559984754E-1')
An example with real input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 40; x = -3 >>> \mathrm{d}x = dec.scorergi(x); mx = mpm.scorergi(x); gx = gmp.scorergi(x) >>> fx = fpm.scorergi(x); ax = apm.scorergi(x) >>> mpm.show([\mathrm{d}x, mx, gx, fx, ax], aligned=True) dec: -2.990547183713964238015818976238353474193E-1 mpm: -2.990547183713964238015818976238353474193e-1 gmp: -2.990547183713964238015818976238353474193E-01 fpm: -2.99054718371396E-01 apm: -2.990547183713964238015818976238353474192e-1 (-4.827e-37%)
An example with complex input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 20; z = '3 + 4j' >>> \mathrm{d}z = dec.scorergi(z); mz = mpm.scorergi(z); gz = gmp.scorergi(z) >>> fz = fpm.scorergi(z); az = apm.scorergi(z) >>> mpm.show([\mathrm{d}z, mz, gz, fz, az], aligned=True) dec: 8.4889448371208839089E-2 - 3.5862043476779870404E-2j mpm: 8.4889448371208839089e-2 - 3.5862043476779870404e-2j gmp: 8.4889448371208839089E-02 - 3.5862043476779870404E-02j fpm: 8.48894483712088E-02 - 3.58620434767799E-02j apm: 8.4889448371208839123e-2 (6.78e-15%) - 3.5862043476779870473e-2 (-1.391e-14%)j
First derivative of the Scorer function \(\mathrm{Hi}(x)\), \(\mathrm{Hi}'(x)\)#
- math53.scorer_hi_prime(x)#
Returns \(\mathrm{Hi}'(x)\), the first derivative of the Airy (Scorer) function \(\mathrm{Hi}(x)\).
See also: MathWorld [1129], Wikipedia [1510], Ehrhardt [309] (3.1.7.8), Mpmath [789].
The function is calculated as
\[\text{Hi}'(z) = \tfrac{2}{3} \text{Bi}'(z) + \frac{1}{40\pi} \left[ 40 z \cdot {}_1F_2\left(1; \tfrac{4}{3}, \tfrac{5}{3}; \tfrac{1}{9}z^3 \right) + 3 z^4 \cdot {}_1F_2\left(2; \tfrac{7}{3}, \tfrac{8}{3}; \tfrac{1}{9}z^3 \right) \right ]\]It can also be represented as an integral:
\[\text{Hi}'(x) = \frac{1}{\pi} \int_0^\infty t \exp \left(xt - \tfrac{1}{3}t^3 \right) \mathrm{d}t\]An example in Python
>>> from xlcalcnet import xreal >>> xreal.AiryHi(0.5) xreal('5.2359877559829887307E-1') >>> xreal.AiryHi('0.51') xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.AiryHi(0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.AiryHi('0.51') Gpr('5.3518479027559984754E-1')
An example with real input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 40; x = -3 >>> \mathrm{d}x = dec.scorerhi(x); mx = mpm.scorerhi(x); gx = gmp.scorerhi(x) >>> fx = fpm.scorerhi(x); ax = apm.scorerhi(x) >>> mpm.show([\mathrm{d}x, mx, gx, fx, ax], aligned=True) dec: 1.007650919964698805809370430513469907205E-1 mpm: 1.007650919964698805809370430513469907205e-1 gmp: 1.007650919964698805809370430513469907205E-01 fpm: 1.00765091996470E-01 apm: 1.007650919964698805809370430513469906431e-1 (1.334e-33%)
An example with complex input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 20; z = '3 + 4j' >>> \mathrm{d}z = dec.scorerhi(z); mz = mpm.scorerhi(z); gz = gmp.scorerhi(z) >>> fz = fpm.scorerhi(z); az = apm.scorerhi(z) >>> mpm.show([\mathrm{d}z, mz, gz, fz, az], aligned=True) dec: 9.5150834628338203598E-1 + 1.0872383260084919901E+0j mpm: 9.5150834628338203598e-1 + 1.0872383260084919901e+0j gmp: 9.5150834628338203598E-01 + 1.0872383260084919901E+00j fpm: 9.51508346283382E-01 + 1.08723832600849E+00j apm: 9.5150834628338203594e-1 (6.049e-16%) + 1.0872383260084919901e+0 (4.588e-16%)j