n0tmyself 5cc153f92b Something changes after discussion 7 月之前
..
Test 5cc153f92b Something changes after discussion 7 月之前
bin 5cc153f92b Something changes after discussion 7 月之前
modules 5cc153f92b Something changes after discussion 7 月之前
CMakeLists.txt 5cc153f92b Something changes after discussion 7 月之前
README.md 0e55aaf5d0 add comments 7 月之前

README.md

Elliptic Integrals Calculator

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)

In main.cpp displays a table for comparison with Irene A. Stegun, Milton Abramowitz, "Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables", page 613-618.

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.

Related papers:

  • Shanjie Zhang, Jian-Ming Jin, "Computation of Special Functions", page 664-665
  • Irene A. Stegun, Milton Abramowitz, "Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables", page 613-618