Dirichlet Eta Function

Dirichlet eta function.

The Dirichlet eta function is defined by the Dirichlet series

eta left-parenthesis s right-parenthesis equals sigma-summation Underscript n equals 1 Overscript normal infinity Endscripts StartFraction left-parenthesis negative 1 right-parenthesis Superscript n minus 1 Baseline Over n Superscript s Baseline EndFraction equals StartFraction 1 Over 1 Superscript s Baseline EndFraction minus StartFraction 1 Over 2 Superscript s Baseline EndFraction plus StartFraction 1 Over 3 Superscript s Baseline EndFraction minus StartFraction 1 Over 4 Superscript s Baseline EndFraction plus midline-horizontal-ellipsis

where s is a complex variable equal to σ + ti. The series is convergent for all complex numbers having a real part greater than 0.

Note that the Dirichlet eta function is also known as the alternating zeta function and denoted ζ*(s). The series is an alternating sum corresponding to the Dirichlet series expansion of the Riemann zeta function. Accordingly, the following relation holds:

eta left-parenthesis s right-parenthesis equals left-parenthesis 1 minus 2 Superscript 1 minus s Baseline right-parenthesis zeta left-parenthesis s right-parenthesis

where ζ(s) is the Riemann zeta function.

Usage

var eta = require( '@stdlib/math/base/special/dirichlet-eta' );

eta( s )

Evaluates the Dirichlet eta function for a double-precision floating-point number s.

var v = eta( 0.0 ); // Abel sum of 1-1+1-1+...
// returns 0.5

v = eta( -1.0 ); // Abel sum of 1-2+3-4+...
// returns 0.25

v = eta( 1.0 ); // alternating harmonic series => ln(2)
// returns 0.6931471805599453

v = eta( 3.14 );
// returns ~0.9096

v = eta( NaN );
// returns NaN

Examples

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

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 ], eta( s[ i ] ) );
}

C APIs

Usage

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

stdlib_base_eta( s )

Evaluates the Dirichlet eta function for a double-precision floating-point number s.

double y = stdlib_base_eta( 0.0 );
// returns 0.5

The function accepts the following arguments:

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

Examples

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

int main( void ) {
    const double x[] = { 45.0, 90.0, 0.0, 0.0 / 0.0 };

    double y;
    int i;
    for ( i = 0; i < 4; i++ ) {
        y = stdlib_base_eta( x[ i ] );
        printf( "η(%lf) = %lf\n", x[ i ], y );
    }
}
Did you find this page helpful?