cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float zetnm1f (int n); extern double zetnm1 (int n); extern long double zetnm1l (int n); extern __float80 zetnm1w (int n); extern __float128 zetnm1q (int n); extern long_long_double zetnm1ll (int n); extern decimal_float zetnm1df (int n); extern decimal_double zetnm1d (int n); extern decimal_long_double zetnm1dl (int n); extern decimal_long_long_double zetnm1dll (int n);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
For positive arguments, the Riemann zeta numbers are defined by the relation
zetnum(n) = sum(k = 1:Infinity) k**(-n) [where n > 1] zetnm1(n) = zetnum(n) - 1 zetnm1(n) = sum(k = 2:Infinity) k**(-n) [where n > 1]This is a simple generalization of the sum of the harmonic series (the sequence of reciprocal integers) where the denominators are each raised to the power n.
For n < 2, a reflection formula extends the definition onto [0,1] and the negative axis.
The zeta numbers are important in number theory. Their generalization to real numbers (see zeta(3CW)) and complex numbers leads to the greatest unsolved problem in modern mathematics, the famous Riemann hypothesis that the zeros of the complex zeta function all have a real part of +1/2.
Special values of the zeta numbers, less 1, are zetnm1(0) = -3/2 and zetnm1(1) = +Infinity.
For larger indexes, the zeta numbers have modest values that form the approximate sequence 1.644934, 1.202057, 1.082323, 1.036928, 1.017343, 1.008349, 1.004077, 1.002008, ... For n > 1, the numbers soon approach the approximate limiting value zetnum(n) = 1 + 2**(-n), corresponding to the first two terms of its defining series. Other statements of the limiting behavior are
For that reason, this function zetnm1(n) is provided to determine an accurate difference zetnum(n) - 1.limit[n -> Infinity] zetnum(n + 1) = (1 + zetnum(n))/2 limit[n -> Infinity] (zetnum(n + 1) - 1) = (zetnum(n) - 1)/2