FloatEllipticFunctions¶

This package implements arbitrary precision numerical elliptic functions. The method is based on descending Landen transform.

ellipticE: (Complex Float, Complex Float) -> Complex Float

ellipticE(z, m) is the incomplete elliptic integral of the second kind.

ellipticE: (Float, Float) -> Float

ellipticE(z, m) is the incomplete elliptic integral of the second kind.

ellipticE: Complex Float -> Complex Float

ellipticE(m) is the complete elliptic integral of the second kind.

ellipticE: Float -> Float

ellipticE(m) is the complete elliptic integral of the second kind.

ellipticF: (Complex Float, Complex Float) -> Complex Float

ellipticF(z, m) is the incomplete elliptic integral of the first kind.

ellipticF: (Float, Float) -> Float

ellipticF(z, m) is the incomplete elliptic integral of the first kind.

ellipticK: Complex Float -> Complex Float

ellipticK(m) is the complete elliptic integral of the first kind.

ellipticK: Float -> Float

ellipticK(m) is the complete elliptic integral of the first kind.

ellipticPi: (Complex Float, Complex Float, Complex Float) -> Complex Float

ellipticPi(z, n, m) is the incomplete elliptic integral of the third kind.

ellipticPi: (Float, Float, Float) -> Float

ellipticPi(z, n, m) is the incomplete elliptic integral of the third kind.

jacobiCn: (Complex Float, Complex Float) -> Complex Float

jacobiCn(z, m) is the Jacobi cn function

jacobiCn: (Float, Float) -> Float

jacobiCn(z, m) is the Jacobi cn function

jacobiDn: (Complex Float, Complex Float) -> Complex Float

jacobiDn(z, m) is the Jacobi dn function

jacobiDn: (Float, Float) -> Float

jacobiDn(z, m) is the Jacobi dn function

jacobiSn: (Complex Float, Complex Float) -> Complex Float

jacobiSn(z, m) is the Jacobi sn function

jacobiSn: (Float, Float) -> Float

jacobiSn(z, m) is the Jacobi sn function

jacobiZeta: (Float, Float) -> Float

jacobiZeta(z, m) is the Jacobi zeta function

kprod: List Complex Float -> Complex Float

Undocumented.

kprod: List Float -> Float

Undocumented.

landen1: (Complex Float, List Complex Float) -> List Complex Float

Undocumented.

landen1: (Float, List Float) -> List Float

Undocumented.

landen2: (Complex Float, List Complex Float, Float) -> List Complex Float

Undocumented.

landen2: (Float, List Float, Float) -> List Float

Undocumented.

landen: (Complex Float, Float) -> List Complex Float

Undocumented.

landen: (Float, Float) -> List Float

Undocumented.

modularInvariantJ: Complex Float -> Complex Float

modularInvariantJ(tau) computes modular invariant j, that is 1728*g2^3/(g2^3 - 27*g3^2) where g2, g3 are invariants corresponding to half periods w1, w2 such that tau = w1/w2.

rabs: Complex Float -> Float

Undocumented.

rabs: Float -> Float

Undocumented.

sn2: (Complex Float, List Complex Float) -> Complex Float

Undocumented.

sn2: (Float, List Float) -> Float

Undocumented.

weierstrassHalfPeriods: (Complex Float, Complex Float) -> List Complex Float

weierstrassHalfPeriods(g2, g3) computes half periods of Weierstrass elliptic functions from invariants g2, g3.

weierstrassInvariants: (Complex Float, Complex Float) -> List Complex Float

weierstrassInvariants(w1, w2) computes invariants g2, g3 of Weierstrass elliptic functions from half periods w1, w2.

weierstrassP: (Complex Float, Complex Float, Complex Float) -> Complex Float

weierstrassP(g2, g3, x) is the Weierstrass P function

weierstrassP: (Float, Float, Float) -> Float

weierstrassP(g2, g3, x) is the Weierstrass P function

weierstrassPPrime: (Complex Float, Complex Float, Complex Float) -> Complex Float

weierstrassPPrime(g2, g3, x) is the derivative of the Weierstrass P function

weierstrassPPrime: (Float, Float, Float) -> Float

weierstrassPPrime(g2, g3, x) is the derivative of the Weierstrass P function