Additional elliptic integrals#
Legendre complete elliptic integral \(B(k)\)#
- math53.elliptic_b(k)#
Returns the Legendre complete elliptic integral \(\displaystyle B(k) = \int_0^{\pi/2} \frac{ \cos^2(t) \mathrm{d}t}{\sqrt{1-k^2 \sin^2(t)}} = \frac{E(k)-\sqrt{1-k^2} K(k)}{k^2}\). See also Wikipedia [1406], MathWorld [1025], NIST [178], BoostMath [143], Ehrhardt [309] (3.2.1.4).
An example in Python
>>> from xlcalcnet import xreal >>> xreal.CompEllintB(0.5) xreal('5.2359877559829887307E-1') >>> xreal.CompEllintB(0.5) xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.CompEllintB(0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.CompEllintB(0.5) Gpr('5.3518479027559984754E-1')
Legendre complete elliptic integral \(D(k)\)#
- math53.elliptic_d(m)#
Returns the Legendre complete elliptic integral \(\displaystyle D(k) = \int_0^{\pi/2} \frac{ \sin^2(t) \mathrm{d}t}{\sqrt{1-k^2 \sin^2(t)}} = \frac{K(k) - E(k)}{k^2}\). See also Wikipedia [1406], MathWorld [1025], NIST [178], BoostMath [143], Ehrhardt [309] (3.2.1.5).
An example in Python
>>> from xlcalcnet import xreal >>> xreal.CompEllintD(0.5) xreal('5.2359877559829887307E-1') >>> xreal.CompEllintD(0.5) xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.CompEllintD(0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.CompEllintD(0.5) Gpr('5.3518479027559984754E-1')
Legendre incomplete elliptic integral \(B(\phi, k)\)#
- math53.elliptic_b_inc(phi, m)#
Returns the Legendre complete elliptic integral , \(\displaystyle B(k) = \int_0^{\phi} \frac{ \cos^2(t) \mathrm{d}t}{\sqrt{1-k^2 \sin^2(t)}} = \frac{E(\phi, k)-\sqrt{1-k^2} F(\phi, k)}{k^2}\). See also Wikipedia [1406], MathWorld [1025], NIST [178], BoostMath [143], Ehrhardt [309] (3.2.1.9).
An example in Python
>>> from xlcalcnet import xreal >>> xreal.EllintB(0.12, 0.5) xreal('5.2359877559829887307E-1') >>> xreal.EllintB(0.12, 0.5) xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.EllintB(0.12, 0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.EllintB(0.12, 0.5) Gpr('5.3518479027559984754E-1')
Legendre incomplete elliptic integral \(D(\phi, k)\)#
- math53.elliptic_d_inc(phi, m)#
Returns the Legendre complete elliptic integral , \(\displaystyle D(k) = \int_0^{\phi} \frac{ \sin^2(t) \mathrm{d}t}{\sqrt{1-k^2 \sin^2(t)}} = \frac{F(\phi, k)-E(\phi, k)}{k^2}\). See also Wikipedia [1406], MathWorld [1025], NIST [178], BoostMath [140], Ehrhardt [309] (3.2.1.10).
An example in Python
>>> from xlcalcnet import xreal >>> xreal.EllintD(0.12, 0.5) xreal('5.2359877559829887307E-1') >>> xreal.EllintD(0.12, 0.5) xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.EllintD(0.12, 0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.EllintD(0.12, 0.5) Gpr('5.3518479027559984754E-1')
Heuman’s Lambda function, \(\Lambda_0(\phi,k)\)#
- math53.heuman_lambda(phi, k)#
Returns Heuman’s Lambda function \(\Lambda_0(\phi,k)\). See also MathWorld [1032], BoostMath [147], Ehrhardt [309] (3.2.6).
\[\Lambda_0(\phi,k) = \frac{F(\phi, \sqrt{1-k^2})}{K(\sqrt{1-k^2})} + \frac{2}{\pi} K(k) Z(\phi, \sqrt{1-k^2}) , \quad |k| \le 1.\]An example in Python
>>> from xlcalcnet import xreal >>> xreal.HeumanLambda(0.8, 0.5) xreal('5.2359877559829887307E-1') >>> xreal.HeumanLambda(0.8, '0.51') xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.HeumanLambda(0.8, 0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.HeumanLambda(0.8, '0.51') Gpr('5.3518479027559984754E-1')
An example with real input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 40; phi = '0.3'; m = '0.7' >>> \mathrm{d}x = dec.heuman_lambda(phi, m); mx = mpm.heuman_lambda(phi, m); gx = gmp.heuman_lambda(phi, m) >>> fx = fpm.heuman_lambda(phi, m); ax = apm.heuman_lambda(phi, m) >>> mpm.show([\mathrm{d}x, mx, gx, fx, ax]) dec: 2.346706205795989147266165089161797155226E-1 mpm: 2.346706205795989147266165089161797155226e-1 gmp: 2.346706205795989147266165089161797155226E-01 fpm: 2.34670620579599E-01 apm: 2.346706205795989147266165089161797156135e-1 (4.07e-34%)
An example with complex input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 20; phi = '7.0 + 3.0j'; m = '11.0 + 3.0j' >>> \mathrm{d}z = dec.heuman_lambda(phi, m); mz = mpm.heuman_lambda(phi, m); gz = gmp.heuman_lambda(phi, m) >>> fz = fpm.heuman_lambda(phi, m); az = apm.heuman_lambda(phi, m) >>> mpm.show([\mathrm{d}z, mz, gz, fz, az], aligned=True) dec: -1.1345920286482140753E+1 - 6.3944316931048323564E+0j mpm: -1.1345920286482140753e+1 - 6.3944316931048323564e+0j gmp: -1.1345920286482140753E+01 - 6.3944316931048323564E+00j fpm: -1.13459202864821E+01 - 6.39443169310483E+00j apm: -1.1345920286482157538e+1 (-5.813e-13%) - 6.3944316931048395085e+0 (-5.749e-13%)j
Jacobi Zeta function, \(Z(\phi,k)\)#
- math53.jacobi_zeta(phi, k)#
Returns the Jacobi Zeta function \(Z(\phi,k)\). See also MathWorld [1040], BoostMath [158], Ehrhardt [309] (3.2.7).
\[Z(\phi,k) = E(\phi,k) - \frac{E(k)}{K(k)} F(\phi,k), \quad |k| \le 1.\]An example in Python
>>> from xlcalcnet import xreal >>> xreal.JacobiZeta(0.8, 0.5) xreal('5.2359877559829887307E-1') >>> xreal.JacobiZeta(0.8, '0.51') xreal('5.3518479027559984754E-1')
An example in Visual Basic
>>> from xlcalcnet import Gpr >>> Gpr.JacobiZeta(0.8, 0.5) Gpr('5.2359877559829887307E-1') >>> Gpr.JacobiZeta(0.8, '0.51') Gpr('5.3518479027559984754E-1')
An example with real input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 40; phi = '0.3'; m = '0.7' >>> \mathrm{d}x = dec.jacobi_zeta(phi, m); mx = mpm.jacobi_zeta(phi, m); gx = gmp.jacobi_zeta(phi, m) >>> fx = fpm.jacobi_zeta(phi, m); ax = apm.jacobi_zeta(phi, m) >>> mpm.show([\mathrm{d}x, mx, gx, fx, ax]) dec: 1.154857111268923923475571636423888535609E-1 mpm: 1.154857111268923923475571636423888535609e-1 gmp: 1.154857111268923923475571636423888535609E-01 fpm: 1.15485711126892E-01 apm: 1.154857111268923923475571636423888535611e-1 (3.902e-37%)
An example with complex input:
>>> from xlcalcnet import dec, mpm, gmp, fpm, apm >>> mpm.dps = 20; phi = '7.0 + 3.0j'; m = '11.0 + 3.0j' >>> \mathrm{d}z = dec.jacobi_zeta(phi, m); mz = mpm.jacobi_zeta(phi, m); gz = gmp.jacobi_zeta(phi, m) >>> fz = fpm.jacobi_zeta(phi, m); az = apm.jacobi_zeta(phi, m) >>> mpm.show([\mathrm{d}z, mz, gz, fz, az], aligned=True) dec: 1.7328120796787527800E+1 + 2.7272085822071339357E+1j mpm: 1.7328120796787527800e+1 + 2.7272085822071339357e+1j gmp: 1.7328120796787527800E+01 + 2.7272085822071339357E+01j fpm: 1.73281207967875E+01 + 2.72720858220713E+01j apm: 1.7328120796787527800e+1 (1.063e-16%) + 2.7272085822071339356e+1 (8.617e-17%)j