Elliptic Integrals

ELLIPTIC_INTEGRAL, a C++ library which evaluates elliptic integral functions using Carlson's elliptic functions.

The complete and incomplete elliptic integrals of the first, second and third kind can be evaluated, with parameters A (angle in degrees), K (sine of A) or M (the modulus, K^2).

Routines are also supplied to evaluate Jacobi's elliptic functions CN, DN and SN.


ELLIPTIC_INTEGRAL is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

TEST_VALUES, a C++ library which supplies test values of various mathematical functions.

TOMS577, a C++ library which evaluates Carlson's elliptic integral functions RC, RD, RF and RJ. This is a version of ACM TOMS algorithm 577;


  1. Bille Carlson,
    Computing Elliptic Integrals by Duplication,
    Numerische Mathematik,
    Volume 33, 1979, pages 1-16.
  2. Bille Carlson, Elaine Notis,
    Algorithm 577, Algorithms for Incomplete Elliptic Integrals,
    ACM Transactions on Mathematical Software,
    Volume 7, Number 3, pages 398-403, September 1981.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.

Last revised on 03 June 2018.