Elliptic Integrals and Elliptic Functions

Even more so than for other special functions, you need to be very careful about the arguments you give to elliptic integrals and elliptic functions. There are several incompatible conventions in common use, and often these conventions are distinguished only by the specific names given to arguments or by the presence of separators other than commas between arguments.

Common argument conventions for elliptic integrals and elliptic functions.

Converting between different argument conventions.

Elliptic Integrals

Elliptic integrals.

Integrals of the form ∫R(x,y)dx, where R is a rational function, and (y^2) is a cubic or quartic polynomial in x, are known as elliptic integrals. Any elliptic integral can be expressed in terms of the three standard kinds of Legendre–Jacobi elliptic integrals.

The elliptic integral of the first kind (RefLink[EllipticF, paclet:ref/EllipticF])[ϕ,m] is given for -π/2<ϕ<π/2 by F(ϕ|m)==(∫_0^ϕ)(([1-m(sin^2)(θ)])^(-1/2))dθ==(∫_0^(sin(ϕ)))(([(1-(t^2))(1-m(t^2))])^(-1/2))dt. This elliptic integral arises in solving the equations of motion for a simple pendulum. It is sometimes known as an incomplete elliptic integral of the first kind.

Note that the arguments of the elliptic integrals are sometimes given in the opposite order from what is used in the Wolfram Language.

The complete elliptic integral of the first kind (RefLink[EllipticK, paclet:ref/EllipticK])[m] is given by K(m)==F((π/2)|m). Note that K is used to denote the complete elliptic integral of the first kind, while F is used for its incomplete form. In many applications, the parameter m is not given explicitly, and K(m) is denoted simply by K. The complementary complete elliptic integral of the first kind K'(m) is given by K(1-m). It is often denoted K'. K and iK' give the "real" and "imaginary" quarter-periods of the corresponding Jacobi elliptic functions discussed in "Elliptic Functions".

The elliptic integral of the second kind (RefLink[EllipticE, paclet:ref/EllipticE])[ϕ,m] is given for -π/2<ϕ<π/2 by E(ϕ|m)==(∫_0^ϕ)(([1-m(sin^2)(θ)])^(1/2))dθ==(∫_0^(sin(ϕ)))(((1-(t^2)))^(-1/2))(((1-m(t^2)))^(1/2))dt.

The complete elliptic integral of the second kind (RefLink[EllipticE, paclet:ref/EllipticE])[m] is given by E(m)==E((π/2)|m). It is often denoted E. The complementary form is E'(m)==E(1-m).

The Jacobi zeta function (RefLink[JacobiZeta, paclet:ref/JacobiZeta])[ϕ,m] is given by Z(ϕ|m)==E(ϕ|m)-E(m)F(ϕ|m)/K(m).

The Heuman lambda function is given by (Subscript[Λ, 0])(ϕ|m)==F(ϕ|1-m)/K(1-m)+(2/π)K(m)Z(ϕ|1-m).

The elliptic integral of the third kind (RefLink[EllipticPi, paclet:ref/EllipticPi])[n,ϕ,m] is given by Π(n;ϕ|m)==(∫_0^ϕ)(((1-n(sin^2)(θ)))^(-1))(([1-m(sin^2)(θ)])^(-1/2))dθ.

The complete elliptic integral of the third kind (RefLink[EllipticPi, paclet:ref/EllipticPi])[n,m] is given by Π(n|m)==Π(n;(π/2)|m).

Here is a plot of the complete elliptic integral of the second kind E(m):

Plot[EllipticE[m],{m,0,1}]

Here is K(α) with α==(30^◦):

EllipticK[Sin[30 Degree]^2]//N

The elliptic integrals have a complicated structure in the complex plane:

Plot3D[Im[EllipticF[px+I py,2]],{px,0.5,2.5},{py,-1,1},PlotPoints->60]

Elliptic Functions

Elliptic and related functions.

Rational functions involving square roots of quadratic forms can be integrated in terms of inverse trigonometric functions. The trigonometric functions can thus be defined as inverses of the functions obtained from these integrals.

By analogy, elliptic functions are defined as inverses of the functions obtained from elliptic integrals.

The amplitude for Jacobi elliptic functions (RefLink[JacobiAmplitude, paclet:ref/JacobiAmplitude])[u,m] is the inverse of the elliptic integral of the first kind. If u==F(ϕ|m), then ϕ==am(u|m). In working with Jacobi elliptic functions, the argument m is often dropped, so am(u|m) is written as am(u).

The Jacobi elliptic functions (RefLink[JacobiSN, paclet:ref/JacobiSN])[u,m] and (RefLink[JacobiCN, paclet:ref/JacobiCN])[u,m] are given respectively by sn(u)==sin(ϕ) and cn(u)==cos(ϕ), where ϕ==am(u|m). In addition, (RefLink[JacobiDN, paclet:ref/JacobiDN])[u,m] is given by dn(u)==(Sqrt[1-m(sin^2)(ϕ)])==Δ(ϕ).

There are a total of twelve Jacobi elliptic functions JacobiPQ[u,m], with the letters P and Q chosen from the set S, (RefLink[C, paclet:ref/C]), (RefLink[D, paclet:ref/D]) and (RefLink[N, paclet:ref/N]). Each Jacobi elliptic function JacobiPQ[u,m] satisfies the relation pq(u)==pn(u)/qn(u), where for these purposes nn(u)==1.

There are many relations between the Jacobi elliptic functions, somewhat analogous to those between trigonometric functions. In limiting cases, in fact, the Jacobi elliptic functions reduce to trigonometric functions. So, for example, sn(u|0)==sin(u), sn(u|1)==tanh(u), cn(u|0)==cos(u), cn(u|1)==sech(u), dn(u|0)==1 and dn(u|1)==sech(u).

The notation Pq(u) is often used for the integrals (∫_0^u)(pq^2)(t)dt. These integrals can be expressed in terms of the Jacobi zeta function defined in "Elliptic Integrals".

One of the most important properties of elliptic functions is that they are doubly periodic in the complex values of their arguments. Ordinary trigonometric functions are singly periodic, in the sense that f(z+sω)==f(z) for any integer s. The elliptic functions are doubly periodic, so that f(z+rω+(sω)')==f(z) for any pair of integers r and s.

The Jacobi elliptic functions sn(u|m), etc. are doubly periodic in the complex u plane. Their periods include ω==4K(m) and ω'==4iK(1-m), where K is the complete elliptic integral of the first kind.

The choice of "p" and "q" in the notation pq(u|m) for Jacobi elliptic functions can be understood in terms of the values of the functions at the quarter periods K and iK'.

This shows two complete periods in each direction of the absolute value of the Jacobi elliptic function sn(u|(1/3)):

ContourPlot[Abs[JacobiSN[ux+I uy,1/3]],{ux,0,4 EllipticK[1/3]},{uy,0,4 EllipticK[2/3]}]

Also built into the Wolfram Language are the inverse Jacobi elliptic functions (RefLink[InverseJacobiSN, paclet:ref/InverseJacobiSN])[v,m], (RefLink[InverseJacobiCN, paclet:ref/InverseJacobiCN])[v,m], etc. The inverse function (sn^(-1))(v|m), for example, gives the value of u for which v==sn(u|m). The inverse Jacobi elliptic functions are related to elliptic integrals.

The four theta functions (Subscript[ϑ, a])(u,q) are obtained from (RefLink[EllipticTheta, paclet:ref/EllipticTheta])[a,u,q] by taking a to be 1, 2, 3, or 4. The functions are defined by (Subscript[ϑ, 1])(u,q)==2(q^(1/4))(∑_(n==0)^∞)(((-1))^n)(q^(n(n+1)))sin[(2n+1)u], (Subscript[ϑ, 2])(u,q)==2(q^(1/4))(∑_(n==0)^∞)(q^(n(n+1)))cos[(2n+1)u], (Subscript[ϑ, 3])(u,q)==1+2(∑_(n==1)^∞)(q^(n^2))cos(2nu), (Subscript[ϑ, 4])(u,q)==1+2(∑_(n==1)^∞)(((-1))^n)(q^(n^2))cos(2nu). The theta functions are often written as (Subscript[ϑ, a])(u) with the parameter q not explicitly given. The theta functions are sometimes written in the form ϑ(u|m), where m is related to q by q==exp[-πK(1-m)/K(m)]. In addition, q is sometimes replaced by τ, given by q==(e^(iπτ)). All the theta functions satisfy a diffusion-like differential equation (∂^2)ϑ(u,τ)/∂(u^2)==4πi ∂ϑ(u,τ)/∂τ.

The Siegel theta function (RefLink[SiegelTheta, paclet:ref/SiegelTheta])[τ,s] with Riemann square modular matrix τ of dimension p and vector s generalizes the elliptic theta functions to complex dimension p. It is defined by Θ(τ,s)==(∑_n)exp(i π(n.τ.n+2n.s)), where n runs over all p-dimensional integer vectors. The Siegel theta function with characteristic (RefLink[SiegelTheta, paclet:ref/SiegelTheta])[ν,τ,s] is defined by Θ(ν,τ,s)==(∑_n)exp(i π((n+α).τ.(n+α)+2(n+α).(s+β))), where the characteristic ν is a pair of p-dimensional vectors {α,β}.

The Jacobi elliptic functions can be expressed as ratios of the theta functions.

An alternative notation for theta functions is Θ(u|m)==(Subscript[ϑ, 4])(v|m), (Subscript[Θ, 1])(u|m)==(Subscript[ϑ, 3])(v|m), H(u|m)==(Subscript[ϑ, 1])(v), (Subscript[H, 1])(u|m)==(Subscript[ϑ, 2])(v), where v==πu/2K(m).

The Neville theta functions can be defined in terms of the theta functions as (Subscript[ϑ, s])(u)==2K(m)(Subscript[ϑ, 1])(v|m)/ (Subscript[πϑ, 1]^′)(0|m), (Subscript[ϑ, c])(u)==(Subscript[ϑ, 2])(v|m)/(Subscript[ϑ, 2])(0|m), (Subscript[ϑ, d])(u)==(Subscript[ϑ, 3])(v|m)/(Subscript[ϑ, 3])(0|m), (Subscript[ϑ, n])(u)==(Subscript[ϑ, 4])(v|m)/(Subscript[ϑ, 4])(0|m), where v==πu/2K(m). The Jacobi elliptic functions can be represented as ratios of the Neville theta functions.

The Weierstrass elliptic function (RefLink[WeierstrassP, paclet:ref/WeierstrassP])[u,{(Subscript[g, 2]),(Subscript[g, 3])}] can be considered as the inverse of an elliptic integral. The Weierstrass function ℘(u;(Subscript[g, 2]),(Subscript[g, 3])) gives the value of x for which u==(∫_∞^x)(((4(t^3)-(Subscript[g, 2])t-(Subscript[g, 3])))^(-1/2))dt. The function (RefLink[WeierstrassPPrime, paclet:ref/WeierstrassPPrime])[u,{(Subscript[g, 2]),(Subscript[g, 3])}] is given by ℘'(u;(Subscript[g, 2]),(Subscript[g, 3]))==(∂/(∂u))℘(u;(Subscript[g, 2]),(Subscript[g, 3])).

The Weierstrass functions are also sometimes written in terms of their fundamental half-periods ω and ω', obtained from the invariants (Subscript[g, 2]) and (Subscript[g, 3]) using (RefLink[WeierstrassHalfPeriods, paclet:ref/WeierstrassHalfPeriods])[{u,{(Subscript[g, 2]),(Subscript[g, 3])}].

The function (RefLink[InverseWeierstrassP, paclet:ref/InverseWeierstrassP])[p,{(Subscript[g, 2]),(Subscript[g, 3])}] finds one of the two values of u for which p==℘(u;(Subscript[g, 2]),(Subscript[g, 3])). This value always lies in the parallelogram defined by the complex number half-periods ω and ω'.

(RefLink[InverseWeierstrassP, paclet:ref/InverseWeierstrassP])[{p,q},{(Subscript[g, 2]),(Subscript[g, 3])}] finds the unique value of u for which p==℘(u;(Subscript[g, 2]),(Subscript[g, 3])) and q==℘'(u;(Subscript[g, 2]),(Subscript[g, 3])). In order for any such value of u to exist, p and q must be related by (q^2)==4(p^3)-(Subscript[g, 2])p-(Subscript[g, 3]).

The Weierstrass zeta function (RefLink[WeierstrassZeta, paclet:ref/WeierstrassZeta])[u,{(Subscript[g, 2]),(Subscript[g, 3])}] and Weierstrass sigma function (RefLink[WeierstrassSigma, paclet:ref/WeierstrassSigma])[u,{(Subscript[g, 2]),(Subscript[g, 3])}] are related to the Weierstrass elliptic functions by ζ'(z;(Subscript[g, 2]),(Subscript[g, 3]))==-℘(z;(Subscript[g, 2]),(Subscript[g, 3])) and σ'(z;(Subscript[g, 2]),(Subscript[g, 3]))/σ(z;(Subscript[g, 2]),(Subscript[g, 3]))==ζ(z;(Subscript[g, 2]),(Subscript[g, 3])).

The Weierstrass zeta and sigma functions are not strictly elliptic functions since they are not periodic.

Elliptic Modular Functions

Elliptic modular functions.

The modular lambda function (RefLink[ModularLambda, paclet:ref/ModularLambda])[τ] relates the ratio of half-periods τ==ω'/ω to the parameter according to m==λ(τ).

The Klein invariant modular function (RefLink[KleinInvariantJ, paclet:ref/KleinInvariantJ])[τ] and the Dedekind eta function (RefLink[DedekindEta, paclet:ref/DedekindEta])[τ] satisfy the relations Δ==(Subscript[g, 2]^3)/J(τ)==(((2π))^12)(η^24)(τ).

Modular elliptic functions are defined to be invariant under certain fractional linear transformations of their arguments. Thus for example λ(τ) is invariant under any combination of the transformations τ->τ+2 and τ->τ/(1-2τ).

Generalized Elliptic Integrals and Functions

Generalized elliptic integrals and functions.

The definitions for elliptic integrals and functions given above are based on traditional usage. For modern algebraic geometry, it is convenient to use slightly more general definitions.

The function (RefLink[EllipticLog, paclet:ref/EllipticLog])[{x,y},{a,b}] is defined as the value of the integral (1/2)(∫_∞^x)((((t^3)+a(t^2)+bt))^(-1/2))dt, where the sign of the square root is specified by giving the value of y such that y==(Sqrt[(x^3)+a(x^2)+bx]). Integrals of the form (∫_∞^x)((((t^2)+at))^(-1/2))dt can be expressed in terms of the ordinary logarithm (and inverse trigonometric functions). You can think of (RefLink[EllipticLog, paclet:ref/EllipticLog]) as giving a generalization of this, where the polynomial under the square root is now of degree three.

The function (RefLink[EllipticExp, paclet:ref/EllipticExp])[u,{a,b}] is the inverse of (RefLink[EllipticLog, paclet:ref/EllipticLog]). It returns the list {x,y} that appears in (RefLink[EllipticLog, paclet:ref/EllipticLog]). (RefLink[EllipticExp, paclet:ref/EllipticExp]) is an elliptic function, doubly periodic in the complex u plane.

(RefLink[ArithmeticGeometricMean, paclet:ref/ArithmeticGeometricMean])[a,b] gives the arithmetic-geometric mean (AGM) of two numbers a and b. This quantity is central to many numerical algorithms for computing elliptic integrals and other functions. For positive reals a and b the AGM is obtained by starting with (Subscript[a, 0])==a, (Subscript[b, 0])==b, then iterating the transformation (Subscript[a, n+1])==(1/2)((Subscript[a, n])+(Subscript[b, n])), (Subscript[b, n+1])==(Sqrt[(Subscript[a, n])(Subscript[b, n])]) until (Subscript[a, n])==(Subscript[b, n]) to the precision required.