Public Member Functions

GeographicLib::EllipticFunction Class Reference

Elliptic functions needed for TransverseMercatorExact. More...

#include <GeographicLib/EllipticFunction.hpp>

List of all members.

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 ()

Detailed Description

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.


Constructor & Destructor Documentation

GeographicLib::EllipticFunction::EllipticFunction ( real  m  )  throw () [explicit]

Constructor.

Parameters:
[in] m the parameter which must lie in [0, 1]. (No checking is done.)

Definition at line 124 of file EllipticFunction.cpp.


Member Function Documentation

Math::real GeographicLib::EllipticFunction::m (  )  const throw () [inline]
Returns:
the parameter m.

Definition at line 67 of file EllipticFunction.hpp.

Math::real GeographicLib::EllipticFunction::m1 (  )  const throw () [inline]
Returns:
the complementary parameter m' = (1 - m).

Definition at line 72 of file EllipticFunction.hpp.

Math::real GeographicLib::EllipticFunction::K (  )  const throw () [inline]
Returns:
the complete integral of first kind, K(m).

Definition at line 77 of file EllipticFunction.hpp.

Math::real GeographicLib::EllipticFunction::E (  )  const throw () [inline]
Returns:
the complete integral of second kind, E(m).

Definition at line 82 of file EllipticFunction.hpp.

Math::real GeographicLib::EllipticFunction::KE (  )  const throw () [inline]
Returns:
the difference K(m) - E(m) (which can be computed directly).

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.

Parameters:
[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.

Parameters:
[in] phi 
Returns:
int sqrt(1 - m sin2(phi)) dphi.

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

Parameters:
[in] sn 
[in] cn 
[in] dn 
Returns:
int dn(w)2 dw (A+S 17.2.10).

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.


The documentation for this class was generated from the following files: