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

Class Variables
| _trips_ = `13`

Properties
| alpha2
| alphap2
| cD
| cE
| cG
| cH
| cK
| cKE
| cPi
| eps
| k2
| kp2
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 (`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, then set `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `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. Parameters: `k2` - modulus squared (`float`, 0 <= k^2<= 1). `alpha2` - parameter (`float`, 0 <= α^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. Parameters: `x` - The argument (`float`). Returns: An Elliptic3Tuple`(sn, cn, dn)` with `*n``(``x``, k``)`. Raises: `EllipticError` - No convergence.

Property Details

### alpha2 Get method: alpha2(self) - Get α^2, the square of the parameter (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### alphap2 Get method: alphap2(self) - Get α'^2, the square of the complementary parameter (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### cD Get method: cD(self) - Get Jahnke's complete integral `D(k)` (`float`), defined. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### cE Get method: cE(self) - Get the complete integral of the second kind `E(k)` (`float`), defined. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### cG Get method: cG(self) - Get Legendre's complete geodesic longitude integral `G(α^2, k)` (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### cH Get method: cH(self) - Get Cayley's complete geodesic longitude difference integral `H(α^2, k)` (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### cK Get method: cK(self) - Get the complete integral of the first kind `K(k)` (`float`), defined. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### cKE Get method: cKE(self) - Get the difference between the complete integrals of the first and second kinds, `K(k) − E(k)` (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### cPi Get method: cPi(self) - Get the complete integral of the third kind `Pi(α^2, k)` (`float`), defined. Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### eps Get method: eps(self) - Get epsilon (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### k2 Get method: k2(self) - Get k^2, the square of the modulus (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.

### kp2 Get method: kp2(self) - Get k'^2, the square of the complementary modulus (`float`). Set method: immutable(inst, value) - Throws an `AttributeError`, always.