|
Packit |
67cb25 |
.. index::
|
|
Packit |
67cb25 |
single: exponential integrals
|
|
Packit |
67cb25 |
single: integrals, exponential
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Information on the exponential integrals can be found in Abramowitz &
|
|
Packit |
67cb25 |
Stegun, Chapter 5. These functions are declared in the header file
|
|
Packit |
67cb25 |
:file:`gsl_sf_expint.h`.
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Exponential Integral
|
|
Packit |
67cb25 |
--------------------
|
|
Packit |
67cb25 |
.. index:: E1(x), E2(x), Ei(x)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_expint_E1 (double x)
|
|
Packit |
67cb25 |
int gsl_sf_expint_E1_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the exponential integral :math:`E_1(x)`,
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: E_1(x) := \Re \int_1^\infty dt \exp(-xt)/t.
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. Domain: x != 0.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_expint_E2 (double x)
|
|
Packit |
67cb25 |
int gsl_sf_expint_E2_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the second-order exponential integral :math:`E_2(x)`,
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: E_2(x) := \Re \int_1^\infty dt \exp(-xt)/t^2
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. Domain: x != 0.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_expint_En (int n, double x)
|
|
Packit |
67cb25 |
int gsl_sf_expint_En_e (int n, double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the exponential integral :math:`E_n(x)` of order :data:`n`,
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: E_n(x) := \Re \int_1^\infty dt \exp(-xt)/t^n.
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. Domain: x != 0.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Ei(x)
|
|
Packit |
67cb25 |
-----
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_expint_Ei (double x)
|
|
Packit |
67cb25 |
int gsl_sf_expint_Ei_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the exponential integral :math:`Ei(x)`,
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \hbox{Ei}(x) = - PV \left( \int_{-x}^\infty dt \exp(-t)/t \right)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Ei(x) = - PV(\int_{-x}^\infty dt \exp(-t)/t)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
where :math:`PV` denotes the principal value of the integral.
|
|
Packit |
67cb25 |
.. Domain: x != 0.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Hyperbolic Integrals
|
|
Packit |
67cb25 |
--------------------
|
|
Packit |
67cb25 |
.. index::
|
|
Packit |
67cb25 |
single: hyperbolic integrals
|
|
Packit |
67cb25 |
single: Shi(x)
|
|
Packit |
67cb25 |
single: Chi(x)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_Shi (double x)
|
|
Packit |
67cb25 |
int gsl_sf_Shi_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the integral
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \hbox{Shi}(x) = \int_0^x dt \sinh(t)/t
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Shi(x) = \int_0^x dt \sinh(t)/t
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_Chi (double x)
|
|
Packit |
67cb25 |
int gsl_sf_Chi_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the integral
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \hbox{Chi}(x) := \Re \left[ \gamma_E + \log(x) + \int_0^x dt (\cosh(t)-1)/t \right]
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Chi(x) := \Re[ \gamma_E + \log(x) + \int_0^x dt (\cosh(t)-1)/t ]
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
where :math:`\gamma_E` is the Euler constant (available as the macro :macro:`M_EULER`).
|
|
Packit |
67cb25 |
.. Domain: x != 0.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Ei_3(x)
|
|
Packit |
67cb25 |
-------
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_expint_3 (double x)
|
|
Packit |
67cb25 |
int gsl_sf_expint_3_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the third-order exponential integral
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: {\rm Ei}_3(x) = \int_0^x dt \exp(-t^3)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Ei_3(x) = \int_0^x dt \exp(-t^3)`
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
for :math:`x \ge 0`.
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Trigonometric Integrals
|
|
Packit |
67cb25 |
-----------------------
|
|
Packit |
67cb25 |
.. index::
|
|
Packit |
67cb25 |
single: trigonometric integrals
|
|
Packit |
67cb25 |
single: Si(x)
|
|
Packit |
67cb25 |
single: Ci(x)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_Si (const double x)
|
|
Packit |
67cb25 |
int gsl_sf_Si_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Sine integral
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \hbox{Si}(x) = \int_0^x dt \sin(t)/t
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Si(x) = \int_0^x dt \sin(t)/t
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. Exceptional Return Values: none
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_Ci (const double x)
|
|
Packit |
67cb25 |
int gsl_sf_Ci_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Cosine integral
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \hbox{Ci}(x) = -\int_x^\infty dt \cos(t)/t
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Ci(x) = -\int_x^\infty dt \cos(t)/t}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
for :math:`x > 0`
|
|
Packit |
67cb25 |
.. Domain: x > 0.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Arctangent Integral
|
|
Packit |
67cb25 |
-------------------
|
|
Packit |
67cb25 |
.. index::
|
|
Packit |
67cb25 |
single: arctangent integral
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_atanint (double x)
|
|
Packit |
67cb25 |
int gsl_sf_atanint_e (double x, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Arctangent integral, which is defined as
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: not texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \hbox{AtanInt}(x) = \int_0^x dt \arctan(t)/t
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. only:: texinfo
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
::
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
AtanInt(x) = \int_0^x dt \arctan(t)/t
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. Domain:
|
|
Packit |
67cb25 |
.. Exceptional Return Values:
|