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