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, jam=False)
The Jacobi amplitude and elliptic function.

Inherited from named._Named: __imatmul__, __matmul__, __repr__, __rmatmul__, __str__, attrs, classof, copy, dup, methodname, rename, renamed, 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
  alphap2
  cD
  cE
  cG
  cH
  cK
  cKE
  cPi
  eps
  k2
  kp2

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=NN (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, jam=False)

 

The Jacobi amplitude and elliptic function.

Arguments:
  • x - The argument (float).
  • jam - If True, use the Jacobi amplitude otherwise the Bulirsch' function (bool).
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 method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

alphap2

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cD

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cE

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cG

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cH

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cK

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cKE

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

cPi

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

eps

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

k2

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

kp2

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.