# ellip: Elliptic and Jacobi Elliptic Integrals In pracma: Practical Numerical Math Functions

## Description

Complete elliptic integrals of the first and second kind, and Jacobi elliptic integrals.

## Usage

 1 2 3 ellipke(m, tol = .Machine$double.eps) ellipj(u, m, tol = .Machine$double.eps) 

## Arguments

 u numeric vector. m input vector, all input elements must satisfy 0 <= x <= 1. tol tolerance; default is machine precision.

## Details

ellipke computes the complete elliptic integrals to accuracy tol, based on the algebraic-geometric mean.

ellipj computes the Jacobi elliptic integrals sn, cn, and dn. For instance, sn is the inverse function for

u = \int_0^φ dt / √{1 - m \sin^2 t}

with sn(u) = \sin(φ).

Some definitions of the elliptic functions use the modules k instead of the parameter m. They are related by k^2=m=sin(a)^2 where a is the ‘modular angle’.

## Value

ellipke returns list with two components, k the values for the first kind, e the values for the second kind.

ellipj returns a list with components the three Jacobi elliptic integrals sn, cn, and dn.

## References

Abramowitz, M., and I. A. Stegun (1965). Handbook of Mathematical Functions. Dover Publications, New York.

elliptic::sn,cn,dn
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 x <- linspace(0, 1, 20) ke <- ellipke(x) ## Not run: plot(x, ke$k, type = "l", col ="darkblue", ylim = c(0, 5), main = "Elliptic Integrals") lines(x, ke$e, col = "darkgreen") legend( 0.01, 4.5, legend = c("Elliptic integral of first kind", "Elliptic integral of second kind"), col = c("darkblue", "darkgreen"), lty = 1) grid() ## End(Not run) ## ellipse circumference with axes a, b ellipse_cf <- function(a, b) { return(4*a*ellipke(1 - (b^2/a^2))$e) } print(ellipse_cf(1.0, 0.8), digits = 10) # [1] 5.672333578 ## Jacobi elliptic integrals u <- c(0, 1, 2, 3, 4, 5) m <- seq(0.0, 1.0, by = 0.2) je <- ellipj(u, m) #$sn 0.0000 0.8265 0.9851 0.7433 0.4771 0.9999 # $cn 1.0000 0.5630 -0.1720 -0.6690 -0.8789 0.0135 #$dn 1.0000 0.9292 0.7822 0.8176 0.9044 0.0135 je$sn^2 + je$cn^2 # 1 1 1 1 1 1 je$dn^2 + m * je$sn^2 # 1 1 1 1 1 1