diff options
Diffstat (limited to 'gsl-1.9/doc/specfunc-exp.texi')
-rw-r--r-- | gsl-1.9/doc/specfunc-exp.texi | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/gsl-1.9/doc/specfunc-exp.texi b/gsl-1.9/doc/specfunc-exp.texi new file mode 100644 index 0000000..cbdf5ca --- /dev/null +++ b/gsl-1.9/doc/specfunc-exp.texi @@ -0,0 +1,135 @@ +@cindex exponential function +@cindex exp + +The functions described in this section are declared in the header file +@file{gsl_sf_exp.h}. + +@menu +* Exponential Function:: +* Relative Exponential Functions:: +* Exponentiation With Error Estimate:: +@end menu + +@node Exponential Function +@subsection Exponential Function + +@deftypefun double gsl_sf_exp (double @var{x}) +@deftypefunx int gsl_sf_exp_e (double @var{x}, gsl_sf_result * @var{result}) +These routines provide an exponential function @math{\exp(x)} using GSL +semantics and error checking. +@comment Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW +@end deftypefun + +@deftypefun int gsl_sf_exp_e10_e (double @var{x}, gsl_sf_result_e10 * @var{result}) +This function computes the exponential @math{\exp(x)} using the +@code{gsl_sf_result_e10} type to return a result with extended range. +This function may be useful if the value of @math{\exp(x)} would +overflow the numeric range of @code{double}. +@comment Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW +@end deftypefun + +@deftypefun double gsl_sf_exp_mult (double @var{x}, double @var{y}) +@deftypefunx int gsl_sf_exp_mult_e (double @var{x}, double @var{y}, gsl_sf_result * @var{result}) +These routines exponentiate @var{x} and multiply by the factor @var{y} +to return the product @math{y \exp(x)}. +@comment Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW +@end deftypefun + +@deftypefun int gsl_sf_exp_mult_e10_e (const double @var{x}, const double @var{y}, gsl_sf_result_e10 * @var{result}) +This function computes the product @math{y \exp(x)} using the +@code{gsl_sf_result_e10} type to return a result with extended numeric +range. +@comment Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW +@end deftypefun + + + +@node Relative Exponential Functions +@subsection Relative Exponential Functions + +@deftypefun double gsl_sf_expm1 (double @var{x}) +@deftypefunx int gsl_sf_expm1_e (double @var{x}, gsl_sf_result * @var{result}) +These routines compute the quantity @math{\exp(x)-1} using an algorithm +that is accurate for small @math{x}. +@comment Exceptional Return Values: GSL_EOVRFLW +@end deftypefun + +@deftypefun double gsl_sf_exprel (double @var{x}) +@deftypefunx int gsl_sf_exprel_e (double @var{x}, gsl_sf_result * @var{result}) +These routines compute the quantity @math{(\exp(x)-1)/x} using an +algorithm that is accurate for small @math{x}. For small @math{x} the +algorithm is based on the expansion @math{(\exp(x)-1)/x = 1 + x/2 + +x^2/(2*3) + x^3/(2*3*4) + \dots}. +@comment Exceptional Return Values: GSL_EOVRFLW +@end deftypefun + +@deftypefun double gsl_sf_exprel_2 (double @var{x}) +@deftypefunx int gsl_sf_exprel_2_e (double @var{x}, gsl_sf_result * @var{result}) +These routines compute the quantity @math{2(\exp(x)-1-x)/x^2} using an +algorithm that is accurate for small @math{x}. For small @math{x} the +algorithm is based on the expansion @math{2(\exp(x)-1-x)/x^2 = +1 + x/3 + x^2/(3*4) + x^3/(3*4*5) + \dots}. +@comment Exceptional Return Values: GSL_EOVRFLW +@end deftypefun + +@deftypefun double gsl_sf_exprel_n (int @var{n}, double @var{x}) +@deftypefunx int gsl_sf_exprel_n_e (int @var{n}, double @var{x}, gsl_sf_result * @var{result}) +These routines compute the @math{N}-relative exponential, which is the +@var{n}-th generalization of the functions @code{gsl_sf_exprel} and +@code{gsl_sf_exprel2}. The @math{N}-relative exponential is given by, +@tex +\beforedisplay +$$ +\eqalign{ +\hbox{exprel}_N(x) + &= N!/x^N \left(\exp(x) - \sum_{k=0}^{N-1} x^k/k!\right)\cr + &= 1 + x/(N+1) + x^2/((N+1)(N+2)) + \dots\cr + &= {}_1F_1(1,1+N,x)\cr +} +$$ +\afterdisplay +@end tex +@ifinfo + +@example +exprel_N(x) = N!/x^N (\exp(x) - \sum_@{k=0@}^@{N-1@} x^k/k!) + = 1 + x/(N+1) + x^2/((N+1)(N+2)) + ... + = 1F1 (1,1+N,x) +@end example +@end ifinfo +@comment Exceptional Return Values: +@end deftypefun + + + +@node Exponentiation With Error Estimate +@subsection Exponentiation With Error Estimate + + +@deftypefun int gsl_sf_exp_err_e (double @var{x}, double @var{dx}, gsl_sf_result * @var{result}) +This function exponentiates @var{x} with an associated absolute error +@var{dx}. +@comment Exceptional Return Values: +@end deftypefun + +@deftypefun int gsl_sf_exp_err_e10_e (double @var{x}, double @var{dx}, gsl_sf_result_e10 * @var{result}) +This function exponentiates a quantity @var{x} with an associated absolute +error @var{dx} using the @code{gsl_sf_result_e10} type to return a result with +extended range. +@comment Exceptional Return Values: +@end deftypefun + +@deftypefun int gsl_sf_exp_mult_err_e (double @var{x}, double @var{dx}, double @var{y}, double @var{dy}, gsl_sf_result * @var{result}) +This routine computes the product @math{y \exp(x)} for the quantities +@var{x}, @var{y} with associated absolute errors @var{dx}, @var{dy}. +@comment Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW +@end deftypefun + + +@deftypefun int gsl_sf_exp_mult_err_e10_e (double @var{x}, double @var{dx}, double @var{y}, double @var{dy}, gsl_sf_result_e10 * @var{result}) +This routine computes the product @math{y \exp(x)} for the quantities +@var{x}, @var{y} with associated absolute errors @var{dx}, @var{dy} using the +@code{gsl_sf_result_e10} type to return a result with extended range. +@comment Exceptional Return Values: GSL_EOVRFLW, GSL_EUNDRFLW +@end deftypefun + |