Elliptic integrals. The functions are named similarly to the names used in Mathematica.

License:
BSD style: see license.txt

Authors:
Stephen L. Moshier (original C code). Conversion to D by Don Clugston

References:
http://en.wikipedia.org/wiki/Elliptic_integral

Eric W. Weisstein. " Elliptic Integral of the First Kind." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/EllipticIntegraloftheFirstKind.html

http://www.netlib.org/cephes/ldoubdoc.html

  • real ellipticF (real phi, real m);
  • Incomplete elliptic integral of the first kind

    Approximates the integral F(phi | m) = 0phi dt/ (sqrt( 1- m sin2 t))

    of amplitude phi and modulus m, using the arithmetic - geometric mean algorithm.


  • real ellipticE (real phi, real m);
  • Incomplete elliptic integral of the second kind

    Approximates the integral

    E(phi | m) = 0phi sqrt( 1- m sin2 t) dt

    of amplitude phi and modulus m, using the arithmetic - geometric mean algorithm.


  • real ellipticKComplete (real x);
  • Complete elliptic integral of the first kind

    Approximates the integral

    K(m) = 0&pi/2 dt/ (sqrt( 1- m sin2 t))

    where m = 1 - x, using the approximation

    P(x) - log x Q(x).

    The argument x is used rather than m so that the logarithmic singularity at x = 1 will be shifted to the origin; this preserves maximum accuracy.

    x must be in the range 0 <= x <= 1

    This is equivalent to ellipticF(PI_2, 1-x).

    K(0) = &pi/2.


  • real ellipticEComplete (real x);
  • Complete elliptic integral of the second kind

    Approximates the integral

    E(m) = 0&pi/2 sqrt( 1- m sin2 t) dt

    where m = 1 - x, using the approximation

    P(x) - x log x Q(x).

    Though there are no singularities, the argument m1 is used rather than m for compatibility with ellipticKComplete().

    E(1) = 1; E(0) = &pi/2. m must be in the range 0 <= m <= 1.


  • real ellipticPi (real phi, real m, real n);
  • Incomplete elliptic integral of the third kind

    Approximates the integral

    PI(n; phi | m) = t=0phi dt/((1 - n sin2t) * sqrt( 1- m sin2 t))

    of amplitude phi, modulus m, and characteristic n using Gauss-Legendre quadrature.

    Note that ellipticPi (PI_2, m, 1) is infinite for any m.


  • real ellipticPiComplete (real m, real n);
  • Complete elliptic integral of the third kind

    Based on the CEPHES math library, which is Copyright (C) 1994 Stephen L. Moshier (moshier@world.std.com). :: page rendered by CandyDoc