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`: `_DOT_`, `__repr__`, `__str__`, `attrs`, `classof`, `copy`, `rename`, `toRepr`, `toStr`, `toStr2` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

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`).
| iteration Get the most recent `Elliptic.fEinv` or `Elliptic.sncndn` iteration number (`int`) or `None` if not available/applicable.
| 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`, `named3`, `named4` Inherited from `object`: `__class__`

Method Details

### __init__ (self, k2=0, alpha2=0, kp2=None, alphap2=None) (Constructor) |
Constructor, specifying the `modulus` and `parameter`. Arguments: `k2` - Modulus squared (`float`, 0 <= k^2 <= 1). `alpha2` - Parameter squared (`float`, 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, 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) |
The periodic Jahnke's incomplete elliptic integral. Arguments: `sn` - sin(φ). `cn` - cos(φ). `dn` - sqrt(1 − k2 sin(2φ)). Returns: Periodic function π D(φ, k) / (2 D(k)) - φ (`float`). Raises: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - No convergence.

### 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: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - No convergence.

### 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: `EllipticError` - No convergence.

### 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: `EllipticError` - Invalid invokation or no convergence.

### 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: `EllipticError` - Invalid invokation or no convergence. 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: `EllipticError` - Invalid invokation or no convergence. 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: `EllipticError` - Invalid invokation or no convergence.

### reset (self, k2=0, alpha2=0, kp2=None, alphap2=None) |
Reset the modulus and parameter. Arguments: `k2` - modulus squared (`float`, -INF <= k^2<= 1). `alpha2` - parameter (`float`, -INF <= α^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. Arguments: `x` - The argument (`float`). Returns: An Elliptic3Tuple`(sn, cn, dn)` with `*n(x, k)`. Raises: `EllipticError` - No convergence.

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.

### iteration Get the most recent `Elliptic.fEinv` or `Elliptic.sncndn` iteration number (`int`) or `None` if not available/applicable. Get method: iteration(self) - Get the most recent `Elliptic.fEinv` or `Elliptic.sncndn` iteration number (`int`) or `None` if not available/applicable. 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.