Next: , Previous:   [Contents][Index]

16 Elliptic Functions


16.1 Introduction to Elliptic Functions and Integrals

Maxima includes support for Jacobian elliptic functions and for complete and incomplete elliptic integrals. This includes symbolic manipulation of these functions and numerical evaluation as well. Definitions of these functions and many of their properties can by found in Abramowitz and Stegun, A&S Chapter 16 and A&S Chapter 17. See also DLMF 22.2. As much as possible, we use the definitions and relationships given in Abramowitz and Stegun.

In particular, all elliptic functions and integrals use the parameter m instead of the modulus k or the modular angle \alpha. The following relationships are true:

m=k2k=sinα

Note that Abramowitz and Stegun uses the notation sn(u|m) where we use sn(u,m) instead. The DLMF uses modulus k instead of the parameter m.

The elliptic functions and integrals are primarily intended to support symbolic computation. Therefore, most of derivatives of the functions and integrals are known. However, if floating-point values are given, a floating-point result is returned.

Support for most of the other properties of elliptic functions and integrals other than derivatives has not yet been written.

Some examples of elliptic functions:

(%i1) jacobi_sn (u, m);
(%o1)                    jacobi_sn(u, m)
(%i2) jacobi_sn (u, 1);
(%o2)                        tanh(u)
(%i3) jacobi_sn (u, 0);
(%o3)                        sin(u)
(%i4) diff (jacobi_sn (u, m), u);
(%o4)            jacobi_cn(u, m) jacobi_dn(u, m)
(%i5) diff (jacobi_sn (u, m), m);
(%o5) (jacobi_cn(u, m) jacobi_dn(u, m)
      elliptic_e(asin(jacobi_sn(u, m)), m)
 (u - ------------------------------------))/(2 m)
                     1 - m
            2
   jacobi_cn (u, m) jacobi_sn(u, m)
 + --------------------------------
              2 (1 - m)

Some examples of elliptic integrals:

(%i1) elliptic_f (phi, m);
(%o1)                  elliptic_f(phi, m)
(%i2) elliptic_f (phi, 0);
(%o2)                          phi
(%i3) elliptic_f (phi, 1);
                               phi   %pi
(%o3)                  log(tan(--- + ---))
                                2     4
(%i4) elliptic_e (phi, 1);
                    phi                  phi
(%o4)       2 round(---) - sin(%pi round(---) - phi)
                    %pi                  %pi
(%i5) elliptic_e (phi, 0);
(%o5)                          phi
(%i6) elliptic_kc (1/2);
                                3/2
                             %pi
(%o6)                      -----------
                                  2 3
                           2 gamma (-)
                                    4
(%i7) makegamma (%);
                                3/2
                             %pi
(%o7)                      -----------
                                  2 3
                           2 gamma (-)
                                    4
(%i8) diff (elliptic_f (phi, m), phi);
                                1
(%o8)                 ---------------------
                                    2
                      sqrt(1 - m sin (phi))
(%i9) diff (elliptic_f (phi, m), m);
       elliptic_e(phi, m) - (1 - m) elliptic_f(phi, m)
(%o9) (-----------------------------------------------
                              m
                                 cos(phi) sin(phi)
                             - ---------------------)/(2 (1 - m))
                                             2
                               sqrt(1 - m sin (phi))

Support for elliptic functions and integrals was written by Raymond Toy. It is placed under the terms of the General Public License (GPL) that governs the distribution of Maxima.

Categories: Elliptic functions ·

16.2 Functions and Variables for Elliptic Functions

See A&S Section 6.12 and DLMF 22.2 for more information.

Function: jacobi_sn (u, m)

The Jacobian elliptic function sn(u,m).

Categories: Elliptic functions ·
Function: jacobi_cn (u, m)

The Jacobian elliptic function cn(u,m).

Categories: Elliptic functions ·
Function: jacobi_dn (u, m)

The Jacobian elliptic function dn(u,m).

Categories: Elliptic functions ·
Function: jacobi_ns (u, m)

The Jacobian elliptic function ns(u,m)=1/sn(u,m).

Categories: Elliptic functions ·
Function: jacobi_sc (u, m)

The Jacobian elliptic function sc(u,m)=sn(u,m)/cn(u,m).

Categories: Elliptic functions ·
Function: jacobi_sd (u, m)

The Jacobian elliptic function sd(u,m)=sn(u,m)/dn(u,m).

Categories: Elliptic functions ·
Function: jacobi_nc (u, m)

The Jacobian elliptic function nc(u,m)=1/cn(u,m).

Categories: Elliptic functions ·
Function: jacobi_cs (u, m)

The Jacobian elliptic function cs(u,m)=cn(u,m)/sn(u,m).

Categories: Elliptic functions ·
Function: jacobi_cd (u, m)

The Jacobian elliptic function cd(u,m)=cn(u,m)/dn(u,m).

Categories: Elliptic functions ·
Function: jacobi_nd (u, m)

The Jacobian elliptic function nd(u,m)=1/dn(u,m).

Categories: Elliptic functions ·
Function: jacobi_ds (u, m)

The Jacobian elliptic function ds(u,m)=dn(u,m)/sn(u,m).

Categories: Elliptic functions ·
Function: jacobi_dc (u, m)

The Jacobian elliptic function dc(u,m)=dn(u,m)/cn(u,m).

Categories: Elliptic functions ·
Function: jacobi_am (u, m)

The Jacobi amplitude function, jacobi_am, is defined implicitly by (see http://functions.wolfram.com/09.24.02.0001.01) z=am(w,m) where w = F(z,m) where F(z,m) is the incomplete elliptic integral of the first kind (see elliptic_f). It is defined for all real and complex values of z and m. In particular for real z and m with |m|<1, am(z,m) maps the entire real line to the entire real line. For other values of z and m, the following relationship is used: am(z,m)=sin1(jacobi_sn(z,m)).

Some examples:

(%i1) jacobi_am(z,0);
(%o1)                           z
(%i2) jacobi_am(z,1);
                                 z    %pi
(%o2)                   2 atan(%e ) - ---
                                       2
(%i3) jacobi_am(0,m);
(%o3)                           0
(%i4) jacobi_am(100, .5);
(%o4)                   84.70311272411382
(%i5) jacobi_am(0.5, 1.5);
(%o5)                  0.4707197897046991
(%i6) jacobi_am(1.5b0, 1.5b0+%i);
(%o6)    9.340542168700782b-1 - 3.723960452146071b-1 %i
(%i1) plot2d([jacobi_am(x,.4),jacobi_am(x,.7),jacobi_am(x,.99),jacobi_am(x,.999999)],[x,0,10*%pi]);
(%o1)                         false

Compare this plot with the plot from DLMF 22.16.iv:

figures/jacobi_am
Categories: Elliptic functions ·
Function: inverse_jacobi_dn (u, m)

The inverse of the Jacobian elliptic function dn(u,m). For 1mu1, it can also be written (DLMF 22.15.E14): inverse_jacobi_dn(u,m)=u1dt(1t2)(t2(1m))

Categories: Elliptic functions ·
Function: inverse_jacobi_ns (u, m)

The inverse of the Jacobian elliptic function ns(u,m). For 1u, it can also be written (DLMF 22.15.E121): inverse_jacobi_ns(u,m)=udt(1t2)(t2m)

Categories: Elliptic functions ·
Function: inverse_jacobi_sc (u, m)

The inverse of the Jacobian elliptic function sc(u,m). For all u it can also be written (DLMF 22.15.E20): inverse_jacobi_sc(u,m)=0udt(1+t2)(1+(1m)t2)

Categories: Elliptic functions ·
Function: inverse_jacobi_sd (u, m)

The inverse of the Jacobian elliptic function sd(u,m). For 1/1mu1/1m, it can also be written (DLMF 22.15.E16): inverse_jacobi_sd(u,m)=0udt(1(1m)t2)(1+mt2)

Categories: Elliptic functions ·
Function: inverse_jacobi_nc (u, m)

The inverse of the Jacobian elliptic function nc(u,m). For 1u, it can also be written (DLMF 22.15.E19): inverse_jacobi_nc(u,m)=1udt(t21)(m+(1m)t2)

Categories: Elliptic functions ·
Function: inverse_jacobi_cs (u, m)

The inverse of the Jacobian elliptic function cs(u,m). For all u it can also be written (DLMF 22.15.E23): inverse_jacobi_cs(u,m)=udt(1+t2)(t2+(1m))

Categories: Elliptic functions ·
Function: inverse_jacobi_cd (u, m)

The inverse of the Jacobian elliptic function cd(u,m). For 1u1, it can also be written (DLMF 22.15.E15): inverse_jacobi_cd(u,m)=u1dt(1t2)(1mt2)

Categories: Elliptic functions ·
Function: inverse_jacobi_nd (u, m)

The inverse of the Jacobian elliptic function nd(u,m). For 1u1/1m, it can also be written (DLMF 22.15.E17): inverse_jacobi_nd(u,m)=1udt(t21)(1(1m)t2)

Categories: Elliptic functions ·
Function: inverse_jacobi_ds (u, m)

The inverse of the Jacobian elliptic function ds(u,m). For 1mu, it can also be written (DLMF 22.15.E22): inverse_jacobi_ds(u,m)=udt(t2+m)(t2(1m))

Categories: Elliptic functions ·
Function: inverse_jacobi_dc (u, m)

The inverse of the Jacobian elliptic function dc(u,m). For 1u, it can also be written (DLMF 22.15.E18): inverse_jacobi_dc(u,m)=1udt(t21)(t2m)

Categories: Elliptic functions ·

16.3 Functions and Variables for Elliptic Integrals

Function: elliptic_f (phi, m)

The incomplete elliptic integral of the first kind, defined as

0ϕdθ1msin2θ

See also elliptic_e and elliptic_kc.

Categories: Elliptic integrals ·
Function: elliptic_e (phi, m)

The incomplete elliptic integral of the second kind, defined as

0ϕ1msin2θdθ

See also elliptic_f and elliptic_ec.

Categories: Elliptic integrals ·
Function: elliptic_eu (u, m)

The incomplete elliptic integral of the second kind, defined as

E(u,m)=0udn(v,m)dv=0τ1mt21t2dt

where τ=sn(u,m).

This is related to elliptic_e by

E(u,m)=E(sin1sn(u,m),m)

See also elliptic_e.

Categories: Elliptic integrals ·

Function: elliptic_pi (n, phi, m)

The incomplete elliptic integral of the third kind, defined as

0ϕdθ(1nsin2θ)1msin2θ
Categories: Elliptic integrals ·
Function: elliptic_kc (m)

The complete elliptic integral of the first kind, defined as

0π2dθ1msin2θ

For certain values of m, the value of the integral is known in terms of Gamma functions. Use makegamma to evaluate them.

Categories: Elliptic integrals ·
Function: elliptic_ec (m)

The complete elliptic integral of the second kind, defined as

0π21msin2θdθ

For certain values of m, the value of the integral is known in terms of Gamma functions. Use makegamma to evaluate them.

Categories: Elliptic integrals ·
Function: carlson_rc (x, y)

Carlson’s RC integral is defined by

RC(x,y)=1201t+x(t+y)dt

This integral is related to many elementary functions in the following way:

logx=(x1)RC((1+x2)2,x),x>0sin1x=xRC(1x2,1),|x|1cos1x=1x2RC(x2,1),0x1tan1x=xRC(1,1+x2)sinh1x=xRC(1+x2,1)cosh1x=x21RC(x2,1),x1tanh1(x)=xRC(1,1x2),|x|1

Also, we have the relationship

RC(x,y)=RF(x,y,y)

Some special values: RC(0,1)=π2RC(0,1/4)=πRC(2,1)=log(2+1)RC(i,i+1)=π4+i2log(21)RC(0,i)=(1i)π22

Categories: Elliptic integrals ·
Function: carlson_rd (x, y, z)

Carlson’s RD integral is defined by

RD(x,y,z)=3201t+xt+yt+z(t+z)dt

We also have the special values

RD(x,x,x)=x32RD(0,y,y)=34πy32RD(0,2,1)=3πΓ(34)Γ(14)

It is also related to the complete elliptic E function as follows

E(m)=RF(0,1m,1)m3RD(0,1m,1)
Categories: Elliptic integrals ·
Function: carlson_rf (x, y, z)

Carlson’s RF integral is defined by

RF(x,y,z)=1201t+xt+yt+zdt

We also have the special values

RF(0,1,2)=Γ(14)242πRF(i,i,0)=Γ(14)24π

It is also related to the complete elliptic E function as follows

E(m)=RF(0,1m,1)m3RD(0,1m,1)
Categories: Elliptic integrals ·
Function: carlson_rj (x, y, z, p)

Carlson’s RJ integral is defined by

RJ(x,y,z)=1201t+xt+yt+z(t+p)dt
Categories: Elliptic integrals ·

Next: , Previous:   [Contents][Index]