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: __copy__, __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 the parameter alpha2 (float).
  alphap2
Get the complementary parameter alphap2 (float).
  cD
Get Jahnke's complete integral D(k), defined.
  cE
Get the complete integral of the second kind E(k), defined.
  cG
Get Legendre's complete geodesic longitude integral G(alpha2, k).
  cH
Get Cayley's complete geodesic longitude difference integral H(alpha2, k).
  cK
Get the complete integral of the first kind K(k), defined.
  cKE
Get the difference between the complete integrals of the first and second kinds, K(k) − E(k).
  cPi
Get the complete integral of the third kind Pi(alpha2, k), defined.
  k2
Get the square of the modulus (float).
  kp2
Get 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 k^2 <= 1).
  • alpha2 - Parameter squared (scalar α^2 <= 1).
  • kp2 - Complementary modulus squared (float k'^2 >= 0).
  • alphap2 - Complementary parameter α'2 (float α'^2 >= 0).
Overrides: object.__init__

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

See Also: Method reset.

deltaD(self, sn, cn, dn)

 

The periodic Jahnke's incomplete elliptic integral.

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

deltaE(self, sn, cn, dn)

 

The periodic incomplete integral of the second kind.

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

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) - τ.

deltaF(self, sn, cn, dn)

 

The periodic incomplete integral of the first kind.

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

deltaG(self, sn, cn, dn)

 

Legendre's periodic geodesic longitude integral.

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

deltaH(self, sn, cn, dn)

 

Cayley's periodic geodesic longitude difference integral.

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

deltaPi(self, sn, cn, dn)

 

The periodic incomplete integral of the third kind.

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

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 - cosφ.
  • dn - sqrt(1 − k2 sin2φ).
Returns:
D(φ, k) as though φ ∈ (−π, π], defined.

fDelta(self, sn, cn)

 

The Delta amplitude function.

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

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 - cosφ.
  • dn - sqrt(1 − k2 sin2φ).
Returns:
E(φ, k) as though φ ∈ (−π, π], defined.

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

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.

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 - cosφ.
  • dn - sqrt(1 − k2 sin2φ).
Returns:
F(φ, k) as though φ ∈ (−π, π], defined.

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 - cosφ.
  • dn - sqrt(1 − k2 sin2φ).
Returns:
G(φ, k) as though φ ∈ (−π, π].

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 - cosφ.
  • dn - sqrt(1 − k2 sin2φ).
Returns:
H(φ, k) as though φ ∈ (−π, π].

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 - cosφ.
  • dn - sqrt(1 − k2 sin2φ).
Returns:
Π(φ, α2, k) as though φ ∈ (−π, π].

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

 

Reset the modulus and parameter.

Parameters:
  • k2 - modulus squared (float k2 <= 1).
  • alpha2 - parameter (float α2 <= 1).
  • kp2 - complementary modulus squared (float k'2 >= 0).
  • alphap2 - complementary parameter α'2 (float α'2 >= 0).

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:
3-Tuple (sn(x, k), cn(x, k), dn(x, k)).

Property Details

alpha2

Get the parameter alpha2 (float).

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

alphap2

Get the complementary parameter alphap2 (float).

Get Method:
alphap2(self) - Get the complementary parameter alphap2 (float).
Set Method:
Read_Only(self, ignored) - Throws an AttributeError, always.

cD

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

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

cE

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

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

cG

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

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

cH

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

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

cK

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

Get Method:
cK(self) - Get the complete integral of the first kind K(k), 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).

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

cPi

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

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

k2

Get the square of the modulus (float).

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

kp2

Get the square of the complementary modulus (float).

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