Elliptic functions needed for TransverseMercatorExact. More...
#include <GeographicLib/EllipticFunction.hpp>
Public Member Functions | |
EllipticFunction (real m) throw () | |
Math::real | m () const throw () |
Math::real | m1 () const throw () |
Math::real | K () const throw () |
Math::real | E () const throw () |
Math::real | KE () const throw () |
void | sncndn (real x, real &sn, real &cn, real &dn) const throw () |
Math::real | E (real phi) const throw () |
Math::real | E (real sn, real cn, real dn) const throw () |
Elliptic functions needed for TransverseMercatorExact.
This provides the subset of elliptic functions needed for TransverseMercatorExact. For a given ellipsoid, only parameters e2 and 1 - e2 are needed. This class taken the parameter as a constructor parameters and caches the values of the required complete integrals. A method is provided for Jacobi elliptic functions and for the incomplete elliptic integral of the second kind in terms of the amplitude.
The computation of the elliptic integrals uses the algorithms given in
The computation of the Jacobi elliptic functions uses the algorithm given in
The notation follows Abramowitz and Stegun, Chapters 16 and 17.
Definition at line 42 of file EllipticFunction.hpp.
GeographicLib::EllipticFunction::EllipticFunction | ( | real | m | ) | throw () [explicit] |
Constructor.
[in] | m | the parameter which must lie in [0, 1]. (No checking is done.) |
Definition at line 124 of file EllipticFunction.cpp.
Math::real GeographicLib::EllipticFunction::m | ( | ) | const throw () [inline] |
Definition at line 67 of file EllipticFunction.hpp.
Math::real GeographicLib::EllipticFunction::m1 | ( | ) | const throw () [inline] |
Definition at line 72 of file EllipticFunction.hpp.
Math::real GeographicLib::EllipticFunction::K | ( | ) | const throw () [inline] |
Definition at line 77 of file EllipticFunction.hpp.
Math::real GeographicLib::EllipticFunction::E | ( | ) | const throw () [inline] |
Definition at line 82 of file EllipticFunction.hpp.
Math::real GeographicLib::EllipticFunction::KE | ( | ) | const throw () [inline] |
Definition at line 88 of file EllipticFunction.hpp.
void GeographicLib::EllipticFunction::sncndn | ( | real | x, | |
real & | sn, | |||
real & | cn, | |||
real & | dn | |||
) | const throw () |
The Jacobi elliptic functions.
[in] | x | the argument. |
[out] | sn | sn(x|m). |
[out] | cn | cn(x|m). |
[out] | dn | dn(x|m). |
Definition at line 150 of file EllipticFunction.cpp.
Math::real GeographicLib::EllipticFunction::E | ( | real | phi | ) | const throw () |
The incomplete integral of the second kind.
[in] | phi |
Definition at line 212 of file EllipticFunction.cpp.
Math::real GeographicLib::EllipticFunction::E | ( | real | sn, | |
real | cn, | |||
real | dn | |||
) | const throw () |
The incomplete integral of the second kind in terms of Jacobi elliptic functions
[in] | sn | |
[in] | cn | |
[in] | dn |
Instead of specifying the ampltiude phi, we provide sn = sin(phi), cn = cos(phi), dn = sqrt(1 - m sin2(phi)).
Definition at line 197 of file EllipticFunction.cpp.