Description: Elliptic_Integrals::Elliptic(const double phi, const double k) computes elliptic integrals F(ϕ,k) and E(ϕ,k).
Usage
std::vector<double> Elliptic_Integrals::Elliptic(const double phi, const double k)
Parameters 'phi': The argument in degrees. It must be in the range [0,90] 'k': The modulus. It must be in the range [−1,1]
Returns A vector containing the values of F(ϕ,k) (at the first position) and E(ϕ,k) (at the second position).
Exceptions Throws an error if 'k' is not within the range [−1,1] Throws an error if 'phi' is not within the range [0,90]
Special Cases If 'k' is equal to 1 and 'phi' is 90, the function returns ∞ for F(ϕ,k) and 1 for E(ϕ,k). If 'k' is equal to 1, the function applies specific formulas for computing F(ϕ,k) and E(ϕ,k). For other cases, the function iteratively computes the integrals until a desired level of precision is achieved.
Note This implementation has a maximum iteration limit of 1000. Adjustments may be needed based on the desired precision and performance requirements.