pygeodesy.elliptic.Elliptic

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

# Class Elliptic

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

Known Subclasses:
  - _Ek

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`: `__format__`, `__imatmul__`, `__matmul__`, `__repr__`, `__rmatmul__`, `__str__`, `attrs`, `classof`, `copy`, `dup`, `methodname`, `rename`, `renamed`, `toRepr`, `toStr`, `toStr2` Inherited from `object`: `__delattr__`, `__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`, `typename` 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: `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, 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: `EllipticError` - Invalid `k2`, `alpha2`, `kp2` or `alphap2`. 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 Bulirsch' function (`bool`). Returns: An Elliptic3Tuple`(sn, cn, dn)` with `*n(x, k)`. Raises: `EllipticError` - No convergence.

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