|
Packit |
67cb25 |
.. index:: Zeta functions
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
The Riemann zeta function is defined in Abramowitz & Stegun, Section
|
|
Packit |
67cb25 |
23.2. The functions described in this section are declared in the
|
|
Packit |
67cb25 |
header file :file:`gsl_sf_zeta.h`.
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Riemann Zeta Function
|
|
Packit |
67cb25 |
---------------------
|
|
Packit |
67cb25 |
.. index:: Riemann Zeta Function
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
The Riemann zeta function is defined by the infinite sum
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \zeta(s) = \sum_{k=1}^\infty k^{-s}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_zeta_int (int n)
|
|
Packit |
67cb25 |
int gsl_sf_zeta_int_e (int n, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Riemann zeta function :math:`\zeta(n)`
|
|
Packit |
67cb25 |
for integer :data:`n`,
|
|
Packit |
67cb25 |
:math:`n \ne 1`.
|
|
Packit |
67cb25 |
.. Domain: n integer, n != 1
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_zeta (double s)
|
|
Packit |
67cb25 |
int gsl_sf_zeta_e (double s, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Riemann zeta function :math:`\zeta(s)`
|
|
Packit |
67cb25 |
for arbitrary :data:`s`,
|
|
Packit |
67cb25 |
:math:`s \ne 1`.
|
|
Packit |
67cb25 |
.. Domain: s != 1.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Riemann Zeta Function Minus One
|
|
Packit |
67cb25 |
-------------------------------
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
For large positive argument, the Riemann zeta function approaches one.
|
|
Packit |
67cb25 |
In this region the fractional part is interesting, and therefore we
|
|
Packit |
67cb25 |
need a function to evaluate it explicitly.
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_zetam1_int (int n)
|
|
Packit |
67cb25 |
int gsl_sf_zetam1_int_e (int n, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute :math:`\zeta(n) - 1` for integer :data:`n`,
|
|
Packit |
67cb25 |
:math:`n \ne 1`.
|
|
Packit |
67cb25 |
.. Domain: n integer, n != 1
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_zetam1 (double s)
|
|
Packit |
67cb25 |
int gsl_sf_zetam1_e (double s, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute :math:`\zeta(s) - 1` for arbitrary :data:`s`,
|
|
Packit |
67cb25 |
:math:`s \ne 1`.
|
|
Packit |
67cb25 |
.. Domain: s != 1.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EOVRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Hurwitz Zeta Function
|
|
Packit |
67cb25 |
---------------------
|
|
Packit |
67cb25 |
.. index:: Hurwitz Zeta Function
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
The Hurwitz zeta function is defined by
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \zeta(s,q) = \sum_0^\infty (k+q)^{-s}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_hzeta (double s, double q)
|
|
Packit |
67cb25 |
int gsl_sf_hzeta_e (double s, double q, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the Hurwitz zeta function :math:`\zeta(s,q)` for
|
|
Packit |
67cb25 |
:math:`s > 1`, :math:`q > 0`.
|
|
Packit |
67cb25 |
.. Domain: s > 1.0, q > 0.0
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EDOM, GSL_EUNDRFLW, GSL_EOVRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
Eta Function
|
|
Packit |
67cb25 |
------------
|
|
Packit |
67cb25 |
.. index:: Eta Function
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
The eta function is defined by
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. math:: \eta(s) = (1-2^{1-s}) \zeta(s)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_eta_int (int n)
|
|
Packit |
67cb25 |
int gsl_sf_eta_int_e (int n, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the eta function :math:`\eta(n)` for integer :data:`n`.
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EUNDRFLW, GSL_EOVRFLW
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
.. function:: double gsl_sf_eta (double s)
|
|
Packit |
67cb25 |
int gsl_sf_eta_e (double s, gsl_sf_result * result)
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
These routines compute the eta function :math:`\eta(s)` for arbitrary :data:`s`.
|
|
Packit |
67cb25 |
.. Exceptional Return Values: GSL_EUNDRFLW, GSL_EOVRFLW
|