# Elliptic Integrals and Elliptic Functions

Elliptic Integrals | Elliptic Modular Functions |

Elliptic Functions | Generalized Elliptic Integrals and 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.

JacobiAmplitude[u,m] | give the amplitude ϕ corresponding to argument u and parameter m |

EllipticNomeQ[m] | give the nome q corresponding to parameter m |

InverseEllipticNomeQ[q] | give the parameter m corresponding to nome q |

WeierstrassInvariants[{ω,}] | give the invariants corresponding to the half‐periods |

WeierstrassHalfPeriods[{g_{2},g_{3}}] | give the half‐periods corresponding to the invariants |

Converting between different argument conventions.

## Elliptic Integrals

EllipticK[m] | complete elliptic integral of the first kind |

EllipticF[ϕ,m] | elliptic integral of the first kind |

EllipticE[m] | complete elliptic integral of the second kind |

EllipticE[ϕ,m] | elliptic integral of the second kind |

EllipticPi[n,m] | complete elliptic integral of the third kind |

EllipticPi[n,ϕ,m] | elliptic integral of the third kind |

JacobiZeta[ϕ,m] | Jacobi zeta function |

Integrals of the form , where is a rational function, and is a cubic or quartic polynomial in , 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* EllipticF[ϕ,m] is given for by . 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* EllipticK[m] is given by . Note that is used to denote the *complete* elliptic integral of the first kind, while is used for its incomplete form. In many applications, the parameter is not given explicitly, and is denoted simply by . The *complementary complete elliptic integral of the first kind* is given by . It is often denoted . and give the "real" and "imaginary" quarter‐periods of the corresponding Jacobi elliptic functions discussed in "Elliptic Functions".

The *elliptic integral of the second kind* EllipticE[ϕ,m] is given for by .

The *complete elliptic integral of the second kind* EllipticE[m] is given by . It is often denoted . The complementary form is .

The *Jacobi zeta function* JacobiZeta[ϕ,m] is given by .

The *Heuman lambda function* is given by .

The *elliptic integral of the third kind* EllipticPi[n,ϕ,m] is given by .

The *complete elliptic integral of the third kind* EllipticPi[n,m] is given by .

In[1]:= |

Out[1]= |

In[2]:= |

Out[2]= |

In[83]:= |

Out[1]= |

## Elliptic Functions

JacobiAmplitude[u,m] | amplitude function |

JacobiSN[u,m], JacobiCN[u,m], etc. | |

Jacobi elliptic functions , etc. | |

InverseJacobiSN[v,m], InverseJacobiCN[v,m], etc. | |

inverse Jacobi elliptic functions , etc. | |

EllipticTheta[a,u,q] | theta functions (, …, ) |

EllipticThetaPrime[a,u,q] | derivatives of theta functions (, …, ) |

SiegelTheta[τ,s] | Siegel theta function |

SiegelTheta[v,τ,s] | Siegel theta function |

WeierstrassP[u,{g_{2},g_{3}}] | Weierstrass elliptic function |

WeierstrassPPrime[u,{g_{2},g_{3}}] | derivative of Weierstrass elliptic function |

InverseWeierstrassP[p,{g_{2},g_{3}}] | inverse Weierstrass elliptic function |

WeierstrassSigma[u,{g_{2},g_{3}}] | Weierstrass sigma function |

WeierstrassZeta[u,{g_{2},g_{3}}] | Weierstrass zeta function |

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 JacobiAmplitude[u,m] is the inverse of the elliptic integral of the first kind. If , then . In working with Jacobi elliptic functions, the argument is often dropped, so is written as .

The *Jacobi elliptic functions* JacobiSN[u,m] and JacobiCN[u,m] are given respectively by and , where . In addition, JacobiDN[u,m] is given by .

There are a total of twelve Jacobi elliptic functions , with the letters *P* and *Q* chosen from the set , C, D and N. Each Jacobi elliptic function satisfies the relation , where for these purposes .

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, , , , , and .

The notation is often used for the integrals . 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 for any integer . The elliptic functions are doubly periodic, so that for any pair of integers and .

The Jacobi elliptic functions , etc. are doubly periodic in the complex plane. Their periods include and , where is the complete elliptic integral of the first kind.

The choice of "p" and "q" in the notation for Jacobi elliptic functions can be understood in terms of the values of the functions at the quarter periods and .

In[3]:= |

Out[3]= |

Also built into the Wolfram Language are the *inverse Jacobi elliptic functions* InverseJacobiSN[v,m], InverseJacobiCN[v,m], etc. The inverse function , for example, gives the value of for which . The inverse Jacobi elliptic functions are related to elliptic integrals.

The four *theta functions* are obtained from EllipticTheta[a,u,q] by taking a to be , , , or . The functions are defined by , , , . The theta functions are often written as with the parameter not explicitly given. The theta functions are sometimes written in the form , where is related to by . In addition, is sometimes replaced by , given by . All the theta functions satisfy a diffusion‐like differential equation .

The Siegel theta function 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 , where n runs over all p-dimensional integer vectors. The Siegel theta function with characteristic SiegelTheta[ν,τ,s] is defined by , 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 , , , , where .

The *Neville theta functions* can be defined in terms of the theta functions as , , , , where . The Jacobi elliptic functions can be represented as ratios of the Neville theta functions.

The *Weierstrass elliptic function* WeierstrassP[u,{g_{2},g_{3}}] can be considered as the inverse of an elliptic integral. The Weierstrass function gives the value of for which . The function WeierstrassPPrime[u,{g_{2},g_{3}}] is given by .

The Weierstrass functions are also sometimes written in terms of their *fundamental half‐periods* and , obtained from the invariants and using WeierstrassHalfPeriods[{u,{g_{2},g_{3}}].

The function InverseWeierstrassP[p,{g_{2},g_{3}}] finds one of the two values of for which . This value always lies in the parallelogram defined by the complex number half‐periods and .

InverseWeierstrassP[{p,q},{g_{2},g_{3}}] finds the unique value of for which and . In order for any such value of to exist, and must be related by .

The *Weierstrass zeta function* WeierstrassZeta[u,{g_{2},g_{3}}] and *Weierstrass sigma function* WeierstrassSigma[u,{g_{2},g_{3}}] are related to the Weierstrass elliptic functions by and .

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

## Elliptic Modular Functions

DedekindEta[τ] | Dedekind eta function |

KleinInvariantJ[τ] | Klein invariant modular function |

ModularLambda[τ] | modular lambda function |

The *modular lambda function* ModularLambda[τ] relates the ratio of half‐periods to the parameter according to .

The *Klein invariant modular function* KleinInvariantJ[τ] and the *Dedekind eta function* DedekindEta[τ] satisfy the relations .

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 and .

## Generalized Elliptic Integrals and Functions

ArithmeticGeometricMean[a,b] | the arithmetic‐geometric mean of and |

EllipticExp[u,{a,b}] | generalized exponential associated with the elliptic curve |

EllipticLog[{x,y},{a,b}] | generalized logarithm associated with the elliptic curve |

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 EllipticLog[{x,y},{a,b}] is defined as the value of the integral , where the sign of the square root is specified by giving the value of such that . Integrals of the form can be expressed in terms of the ordinary logarithm (and inverse trigonometric functions). You can think of EllipticLog as giving a generalization of this, where the polynomial under the square root is now of degree three.

The function EllipticExp[u,{a,b}] is the inverse of EllipticLog. It returns the list that appears in EllipticLog. EllipticExp is an elliptic function, doubly periodic in the complex plane.

ArithmeticGeometricMean[a,b] gives the *arithmetic‐geometric mean* (*AGM*) of two numbers and . This quantity is central to many numerical algorithms for computing elliptic integrals and other functions. For positive reals and the AGM is obtained by starting with , , then iterating the transformation , until to the precision required.