Package pygeodesy :: Module elliptic :: Class Elliptic
[frames] | no frames]

Class Elliptic

  object --+    
           |    
named._Named --+
               |
              Elliptic

Elliptic integrals and functions.


See Also: Karney's Detailed Description.

Instance Methods
 
__init__(self, k2=0, alpha2=0, kp2=None, alphap2=None)
Constructor, specifying the modulus and parameter.
 
deltaD(self, sn, cn, dn)
The periodic Jahnke's incomplete elliptic integral.
 
deltaE(self, sn, cn, dn)
The periodic incomplete integral of the second kind.
 
deltaEinv(self, stau, ctau)
The periodic inverse of the incomplete integral of the second kind.
 
deltaF(self, sn, cn, dn)
The periodic incomplete integral of the first kind.
 
deltaG(self, sn, cn, dn)
Legendre's periodic geodesic longitude integral.
 
deltaH(self, sn, cn, dn)
Cayley's periodic geodesic longitude difference integral.
 
deltaPi(self, sn, cn, dn)
The periodic incomplete integral of the third kind.
 
fD(self, phi_or_sn, cn=None, dn=None)
Jahnke's incomplete elliptic integral in terms of Jacobi elliptic functions.
 
fDelta(self, sn, cn)
The Delta amplitude function.
 
fE(self, phi_or_sn, cn=None, dn=None)
The incomplete integral of the second kind in terms of Jacobi elliptic functions.
 
fEd(self, deg)
The incomplete integral of the second kind with the argument given in degrees.
 
fEinv(self, x)
The inverse of the incomplete integral of the second kind.
 
fF(self, phi_or_sn, cn=None, dn=None)
The incomplete integral of the first kind in terms of Jacobi elliptic functions.
 
fG(self, phi_or_sn, cn=None, dn=None)
Legendre's geodesic longitude integral in terms of Jacobi elliptic functions.
 
fH(self, phi_or_sn, cn=None, dn=None)
Cayley's geodesic longitude difference integral in terms of Jacobi elliptic functions.
 
fPi(self, phi_or_sn, cn=None, dn=None)
The incomplete integral of the third kind in terms of Jacobi elliptic functions.
 
reset(self, k2=0, alpha2=0, kp2=None, alphap2=None)
Reset the modulus and parameter.
 
sncndn(self, x)
The Jacobi elliptic function.

Inherited from named._Named: __repr__, __str__, classof, copy, toStr, toStr2

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Class Variables
  _trips_ = 13
Properties
  alpha2
Get α^2, the square of the parameter (float).
  alphap2
Get α'^2, the square of the complementary parameter (float).
  cD
Get Jahnke's complete integral D(k) (float), defined.
  cE
Get the complete integral of the second kind E(k) (float), defined.
  cG
Get Legendre's complete geodesic longitude integral G(alpha2, k) (float).
  cH
Get Cayley's complete geodesic longitude difference integral H(alpha2, k) (float).
  cK
Get the complete integral of the first kind K(k) (float), defined.
  cKE
Get the difference between the complete integrals of the first and second kinds, K(k) − E(k) (float).
  cPi
Get the complete integral of the third kind Pi(alpha2, k) (float), defined.
  eps
Get epsilon (float).
  k2
Get k^2, the square of the modulus (float).
  kp2
Get k'^2, the square of the complementary modulus (float).

Inherited from named._Named: classname, classnaming, name, named, named2

Inherited from object: __class__

Method Details

__init__(self, k2=0, alpha2=0, kp2=None, alphap2=None)
(Constructor)

 

Constructor, specifying the modulus and parameter.

Parameters:
  • k2 - Modulus squared (scalar, 0 <= k^2 <= 1).
  • alpha2 - Parameter squared (scalar, 0 <= α^2 <= 1).
  • kp2 - Complementary modulus squared (float, k'^2 >= 0).
  • alphap2 - Complementary parameter squared (float, α'^2 >= 0).
Overrides: object.__init__

See Also: Method reset for further details.

Note: If only elliptic integrals of the first and second kinds are needed, then set alpha2 = 0 (the default value). In that case, we have Π(φ, 0, k) = F(φ, k), G(φ, 0, k) = E(φ, k), and H(φ, 0, k) = F(φ, k) - D(φ, k).

deltaD(self, sn, cn, dn)

 

The periodic Jahnke's incomplete elliptic integral.

Parameters:
  • sn - sin(φ).
  • cn - cos(φ).
  • dn - sqrt(1 − k2 sin(2φ)).
Returns:
Periodic function π D(φ, k) / (2 D(k)) - φ (float).
Raises:

deltaE(self, sn, cn, dn)

 

The periodic incomplete integral of the second kind.

Parameters:
  • sn - sin(φ).
  • cn - cos(φ).
  • dn - sqrt(1 − k2 sin(2φ)).
Returns:
Periodic function π E(φ, k) / (2 E(k)) - φ (float).
Raises:

deltaEinv(self, stau, ctau)

 

The periodic inverse of the incomplete integral of the second kind.

Parameters:
  • stau - sin(τ)
  • ctau - cos(τ)
Returns:
Periodic function E^−1(τ (2 E(k)/π), k) - τ (float).
Raises:

deltaF(self, sn, cn, dn)

 

The periodic incomplete integral of the first kind.

Parameters:
  • sn - sin(φ).
  • cn - cos(φ).
  • dn - sqrt(1 − k2 sin(2φ)).
Returns:
Periodic function π F(φ, k) / (2 K(k)) - φ (float).
Raises:

deltaG(self, sn, cn, dn)

 

Legendre's periodic geodesic longitude integral.

Parameters:
  • sn - sin(φ).
  • cn - cos(φ).
  • dn - sqrt(1 − k2 sin(2φ)).
Returns:
Periodic function π G(φ, k) / (2 G(k)) - φ (float).
Raises:

deltaH(self, sn, cn, dn)

 

Cayley's periodic geodesic longitude difference integral.

Parameters:
  • sn - sin(φ).
  • cn - cos(φ).
  • dn - sqrt(1 − k2 sin(2φ)).
Returns:
Periodic function π H(φ, k) / (2 H(k)) - φ (float).
Raises:

deltaPi(self, sn, cn, dn)

 

The periodic incomplete integral of the third kind.

Parameters:
  • sn - sin(φ).
  • cn - cos(φ).
  • dn - sqrt(1 − k2 sin(2φ)).
Returns:
Periodic function π Π(φ, α2, k) / (2 Π(α2, k)) - φ (float).
Raises:

fD(self, phi_or_sn, cn=None, dn=None)

 

Jahnke's incomplete elliptic integral in terms of Jacobi elliptic functions.

Parameters:
  • phi_or_sn - φ or sin(φ).
  • cn - None or cos(φ).
  • dn - None or sqrt(1 − k2 sin(2φ)).
Returns:
D(φ, k) as though φ ∈ (−π, π] (float), defined.
Raises:

fDelta(self, sn, cn)

 

The Delta amplitude function.

Parameters:
  • sn - sin(φ).
  • cn - cos(φ).
Returns:
sqrt(1 − k2 sin(2φ)) (float).

fE(self, phi_or_sn, cn=None, dn=None)

 

The incomplete integral of the second kind in terms of Jacobi elliptic functions.

Parameters:
  • phi_or_sn - φ or sin(φ).
  • cn - None or cos(φ).
  • dn - None or sqrt(1 − k2 sin(2φ)).
Returns:
E(φ, k) as though φ ∈ (−π, π] (float), defined.
Raises:

fEd(self, deg)

 

The incomplete integral of the second kind with the argument given in degrees.

Parameters:
  • deg - Angle (degrees).
Returns:
E(π deg/180, k) (float).
Raises:

fEinv(self, x)

 

The inverse of the incomplete integral of the second kind.

Parameters:
  • x - Argument (float).
Returns:
φ = 1 / E(x, k), such that E(φ, k) = x (float).
Raises:

fF(self, phi_or_sn, cn=None, dn=None)

 

The incomplete integral of the first kind in terms of Jacobi elliptic functions.

Parameters:
  • phi_or_sn - φ or sin(φ).
  • cn - None or cos(φ).
  • dn - None or sqrt(1 − k2 sin(2φ)).
Returns:
F(φ, k) as though φ ∈ (−π, π] (float), defined.
Raises:

fG(self, phi_or_sn, cn=None, dn=None)

 

Legendre's geodesic longitude integral in terms of Jacobi elliptic functions.

Parameters:
  • phi_or_sn - φ or sin(φ).
  • cn - None or cos(φ).
  • dn - None or sqrt(1 − k2 sin(2φ)).
Returns:
G(φ, k) as though φ ∈ (−π, π] (float).
Raises:

Note: Legendre expresses the longitude of a point on the geodesic in terms of this combination of elliptic integrals in Exercices de Calcul Intégral, Vol 1 (1811), p 181.

See Also: Geodesics in terms of elliptic integrals for the expression for the longitude in terms of this function.

fH(self, phi_or_sn, cn=None, dn=None)

 

Cayley's geodesic longitude difference integral in terms of Jacobi elliptic functions.

Parameters:
  • phi_or_sn - φ or sin(φ).
  • cn - None or cos(φ).
  • dn - None or sqrt(1 − k2 sin(2φ)).
Returns:
H(φ, k) as though φ ∈ (−π, π] (float).
Raises:

Note: Cayley expresses the longitude difference of a point on the geodesic in terms of this combination of elliptic integrals in Phil. Mag. 40 (1870), p 333.

See Also: Geodesics in terms of elliptic integrals for the expression for the longitude in terms of this function.

fPi(self, phi_or_sn, cn=None, dn=None)

 

The incomplete integral of the third kind in terms of Jacobi elliptic functions.

Parameters:
  • phi_or_sn - φ or sin(φ).
  • cn - None or cos(φ).
  • dn - None or sqrt(1 − k2 sin(2φ)).
Returns:
Π(φ, α2, k) as though φ ∈ (−π, π] (float).
Raises:

reset(self, k2=0, alpha2=0, kp2=None, alphap2=None)

 

Reset the modulus and parameter.

Parameters:
  • k2 - modulus squared (float, 0 <= k^2<= 1).
  • alpha2 - parameter (float, 0 <= α^2 <= 1).
  • kp2 - complementary modulus squared (float, k'^2 >= 0).
  • alphap2 - complementary parameter squared (float, α'^2 >= 0).
Raises:
  • EllipticError - Invalid k2, alpha2, kp2 or alphap2 or no convergence.

Note: The arguments must satisfy k2 + kp2 = 1 and alpha2 + alphap2 = 1. No checking is done that these conditions are met to enable accuracy to be maintained, e.g., when k is very close to unity.

sncndn(self, x)

 

The Jacobi elliptic function.

Parameters:
  • x - The argument (float).
Returns:
An Elliptic3Tuple(sn, cn, dn) with sn(x, k), cn(x, k), dn(x, k).
Raises:

Property Details

alpha2

Get α^2, the square of the parameter (float).

Get Method:
alpha2(self) - Get α^2, the square of the parameter (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

alphap2

Get α'^2, the square of the complementary parameter (float).

Get Method:
alphap2(self) - Get α'^2, the square of the complementary parameter (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

cD

Get Jahnke's complete integral D(k) (float), defined.

Get Method:
cD(self) - Get Jahnke's complete integral D(k) (float), defined.
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

cE

Get the complete integral of the second kind E(k) (float), defined.

Get Method:
cE(self) - Get the complete integral of the second kind E(k) (float), defined.
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

cG

Get Legendre's complete geodesic longitude integral G(alpha2, k) (float).

Get Method:
cG(self) - Get Legendre's complete geodesic longitude integral G(alpha2, k) (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

cH

Get Cayley's complete geodesic longitude difference integral H(alpha2, k) (float).

Get Method:
cH(self) - Get Cayley's complete geodesic longitude difference integral H(alpha2, k) (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

cK

Get the complete integral of the first kind K(k) (float), defined.

Get Method:
cK(self) - Get the complete integral of the first kind K(k) (float), defined.
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

cKE

Get the difference between the complete integrals of the first and second kinds, K(k) − E(k) (float).

Get Method:
cKE(self) - Get the difference between the complete integrals of the first and second kinds, K(k) − E(k) (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

cPi

Get the complete integral of the third kind Pi(alpha2, k) (float), defined.

Get Method:
cPi(self) - Get the complete integral of the third kind Pi(alpha2, k) (float), defined.
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

eps

Get epsilon (float).

Get Method:
eps(self) - Get epsilon (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

k2

Get k^2, the square of the modulus (float).

Get Method:
k2(self) - Get k^2, the square of the modulus (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

kp2

Get k'^2, the square of the complementary modulus (float).

Get Method:
kp2(self) - Get k'^2, the square of the complementary modulus (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.