Skip to content

rodpcastro/wildf

Repository files navigation

WildF Logo

Fortran Docs Test Coverage License

WildF

WildF is a Fortran library for evaluating mathematical Special Functions. Just like wild creatures, Special Functions are unusual, but interesting mathematical objects that arise in many areas of applied mathematics. This library aims to serve as a support for any project that needs the computation of these rare species.

Functions

The following list describes the implemented functions, each validated to at least 8 digits of precision within the specified domains. Outside these domains, the same precision is not guaranteed.

  • Exponential integral $\mathrm{Ei}(x)$
    • $\lbrace x \in \mathbb{R} \mid x \neq 0 \rbrace$
  • Exponential integral $\mathrm{E}_1(x)$
    • $\lbrace x \in \mathbb{R} \mid x \gt 0 \rbrace$
  • Exponential integral $\mathrm{E}_1(z)$
    • $z \in \mathbb{C} \setminus \left( \lbrace z \in \mathbb{C} \mid \Re(z) \lt 0,\thinspace |\Im(z)| \lt 0.7 \rbrace \cup \lbrace 0 \rbrace \right)$

The list above will be updated as new functions are added and tested. Next in line are:

  • Bessel functions of the first kind $J_0(x)$ and $J_1(x)$
  • Bessel functions of the second kind $Y_0(x)$ and $Y_1(x)$
  • Struve functions $\mathbf{H}_0(x)$ and $\mathbf{H}_1(x)$
  • Hypergeometric function ${}_2F_1(a, b; c; x)$

Tests

Tests are conducted by comparing the WildF results with those of mpmath, an arbitrary-precision numerical library. These tests ensure at least 8 digits of precision within the specified domains.

Testing routines are built using test-drive, a standard Fortran unit testing framework.

Documentation

The API documentation for this library is generated using FORD and is deployed and hosted on ReadTheDocs.

References

[1] Shanjie Zhang, Jianming Jin. 1996. Computation of Special Functions. Wiley, New York, NY.

About

WildF is a Fortran library for evaluating mathematical Special Functions.

Topics

Resources

Stars

Watchers

Forks