Riemann Zeta Function

Riemann zeta function.

The Riemann zeta function is the analytic continuation of the infinite series

zeta left-parenthesis s right-parenthesis equals sigma-summation Underscript k equals 1 Overscript normal infinity Endscripts StartFraction 1 Over k Superscript s Baseline EndFraction

where s is a complex variable equal to σ + ti. The series is only convergent when the real part of s, σ, is greater than 1.

Usage

var zeta = require( '@stdlib/math/base/special/riemann-zeta' );

zeta( s )

Evaluates the Riemann zeta function as a function of a real variable s (i.e., t = 0).

var v = zeta( 1.1 );
// returns ~10.584

v = zeta( -4.0 );
// returns 0.0

v = zeta( 70.0 );
// returns 1.0

v = zeta( 0.5 );
// returns ~-1.46

v = zeta( 1.0 ); // pole
// returns NaN

v = zeta( NaN );
// returns NaN

Examples

var linspace = require( '@stdlib/array/base/linspace' );
var zeta = require( '@stdlib/math/base/special/riemann-zeta' );

var s = linspace( -50.0, 50.0, 200 );

var i;
for ( i = 0; i < s.length; i++ ) {
    console.log( 's: %d, ζ(s): %d', s[ i ], zeta( s[ i ] ) );
}

C APIs

Usage

#include "stdlib/math/base/special/riemann_zeta.h"

stdlib_base_zeta( s )

Evaluates the Riemann zeta function as a function of a real variable s (i.e., t = 0).

double out = stdlib_base_zeta( 1.1 );
// returns ~10.584

The function accepts the following arguments:

  • s: [in] double input value.
double stdlib_base_zeta( const double s );

Examples

#include "stdlib/math/base/special/riemann_zeta.h"
#include <stdio.h>

int main( void ) {
    const double s[] = { -50.0, -38.9, -27.8, -16.7, -5.6, 5.6, 16.7, 27.8, 38.9, 50.0 };

    double v;
    int i;
    for ( i = 0; i < 1; i++ ) {
        v = stdlib_base_zeta( s[ i ] );
        printf( "zeta(%lf) = %lf\n", s[ i ], v );
    }
}
Did you find this page helpful?