Elliptic Integrals
==================

Legendre Forms
--------------

The Legendre forms of elliptic integrals are defined by
 F(phi,k)   = \int_0^\phi dt 1/\sqrt(1 - k^2 \sin(t)^2) ;
 E(phi,k)   = \int_0^\phi dt   \sqrt(1 - k^2 \sin(t)^2) ;
 P(phi,k,n) = \int_0^\phi dt (1 + n \sin(t)^2)^(-1)/\sqrt(1 - k^2 \sin(t)^2) .

The complete Legendre forms are denoted by K(k) = F(\pi/2, k) ; E(k) = E(\pi/2, k) .

Carlson Forms
-------------

The Carlson symmetric forms are defined by RC(x,y)   = 1/2 \int_0^\infty dt (t+x)^(-1/2) (t+y)^(-1) ; RD(x,y,z) = 3/2 \int_0^\infty dt (t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-3/2) ; RF(x,y,z) = 1/2 \int_0^\infty dt (t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-1/2) ; RJ(x,y,z,p) = 3/2 \int_0^\infty dt (t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-1/2) (t+p)^(-1) .

Legendre Form of Complete Elliptic Integrals
--------------------------------------------

 -- Function: int gsl_sf_ellint_Kcomp_impl (double k, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_Kcomp_e (double k, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values:  GSL_EDOM

 -- Function: int gsl_sf_ellint_Ecomp_impl (double k, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_Ecomp_e (double k, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values:  GSL_EDOM

Legendre Form of Incomplete Elliptic Integrals
----------------------------------------------

 -- Function: int gsl_sf_ellint_F_impl (double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_F_e (double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values: GSL_EDOM

 -- Function: int gsl_sf_ellint_E_impl (double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_E_e (double phi, double k, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values: GSL_EDOM

 -- Function: int gsl_sf_ellint_P_impl (double phi, double k, double n, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_P_e (double phi, double k, double n, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values: GSL_EDOM

 -- Function: int gsl_sf_ellint_D_impl (double phi, double k, double n, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_D_e (double phi, double k, double n, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values: GSL_EDOM

Carlson Forms
-------------

 -- Function: int gsl_sf_ellint_RC_impl (double x, double y, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_RC_e (double x, double y, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values: GSL_EDOM

 -- Function: int gsl_sf_ellint_RD_impl (double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_RD_e (double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values: GSL_EDOM

 -- Function: int gsl_sf_ellint_RF_impl (double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_RF_e (double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values: GSL_EDOM

 -- Function: int gsl_sf_ellint_RJ_impl (double x, double y, double z, double p, gsl_mode_t mode, gsl_sf_result * result);
 -- Function: int gsl_sf_ellint_RJ_e (double x, double y, double z, double p, gsl_mode_t mode, gsl_sf_result * result);
     Exceptional Return Values: GSL_EDOM