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, name='')
Constructor, specifying the modulus and parameter.
 
deltaD(self, sn, cn, dn)
Jahnke's periodic 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, parameter and the complementaries.
 
sncndn(self, x)
The Jacobi elliptic function.

Inherited from named._Named: __imatmul__, __matmul__, __repr__, __rmatmul__, __str__, attrs, classof, copy, dup, methodname, rename, toRepr, toStr, toStr2

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

Static Methods
 
fRC(x, y)
Degenerate symmetric integral of the first kind RC(x, y).
 
fRD(x, y, z, *over)
Degenerate symmetric integral of the third kind RD(x, y, z).
 
fRF(x, y, z=0)
Symmetric or complete symmetric integral of the first kind RF(x, y, z) respectively RF(x, y).
 
fRG(x, y, z=0)
Symmetric or complete symmetric integral of the second kind RG(x, y, z) respectively RG(x, y).
 
fRJ(x, y, z, p)
Symmetric integral of the third kind RJ(x, y, z, p).
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(α^2, k) (float).
  cH
Get Cayley's complete geodesic longitude difference integral H(α^2, 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(α^2, 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, iteration, name, named, named2, named3, named4, sizeof

Inherited from object: __class__

Method Details

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

 

Constructor, specifying the modulus and parameter.

Arguments:
  • name - Optional name (str).
Overrides: object.__init__

See Also: Method Elliptic.reset for further details.

Note: If only elliptic integrals of the first and second kinds are needed, use 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)

 

Jahnke's periodic incomplete elliptic integral.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

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

fEinv (self, x)

 

The inverse of the incomplete integral of the second kind.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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.

Arguments:
  • 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, parameter and the complementaries.

Arguments:
  • k2 - Modulus squared (float, NINF <= k^2 <= 1).
  • alpha2 - Parameter squared (float, NINF <= α^2 <= 1).
  • kp2 - Complementary modulus squared (float, k'^2 >= 0).
  • alphap2 - Complementary parameter squared (float, α'^2 >= 0).
Raises:

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.

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

fRC (x, y)
Static Method

 

Degenerate symmetric integral of the first kind RC(x, y).

Returns:
RC(x, y), equivalent to RF(x, y, y).

See Also: RC definition and Carlson.

fRD (x, y, z, *over)
Static Method

 

Degenerate symmetric integral of the third kind RD(x, y, z).

Returns:
RD(x, y, z) / over, equivalent to RJ(x, y, z, z) / over with over typically 3.

See Also: RD definition and Carlson.

fRF (x, y, z=0)
Static Method

 

Symmetric or complete symmetric integral of the first kind RF(x, y, z) respectively RF(x, y).

Returns:
RF(x, y, z) or RF(x, y) for missing or zero z.

See Also: RF definition and Carlson.

fRG (x, y, z=0)
Static Method

 

Symmetric or complete symmetric integral of the second kind RG(x, y, z) respectively RG(x, y).

Returns:
RG(x, y, z) or RG(x, y) for missing or zero z.

See Also: RG definition, Carlson and RG version 2.3.

fRJ (x, y, z, p)
Static Method

 

Symmetric integral of the third kind RJ(x, y, z, p).

Returns:
RJ(x, y, z, p).

See Also: RJ definition and Carlson.


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:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

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:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

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:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

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:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cG

Get Legendre's complete geodesic longitude integral G(α^2, k) (float).

Get method:
cG(self) - Get Legendre's complete geodesic longitude integral G(α^2, k) (float).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cH

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

Get method:
cH(self) - Get Cayley's complete geodesic longitude difference integral H(α^2, k) (float).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

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:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

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:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cPi

Get the complete integral of the third kind Pi(α^2, k) (float), defined.

Get method:
cPi(self) - Get the complete integral of the third kind Pi(α^2, k) (float), defined.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

eps

Get epsilon (float).

Get method:
eps(self) - Get epsilon (float).
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

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:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

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:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.