Skip to content

Latest commit

 

History

History

y0

Compute the Bessel function of the second kind of order zero.

The Bessel function of the second kind of order zero is defined as

$$Y_0(x) = \frac{1}{\pi} \int_0^\pi \sin(x \sin\theta) \, d\theta -\frac{2}{\pi} \int_0^\infty e^{-x \sinh t} \, dt.$$

Usage

var y0 = require( '@stdlib/math/base/special/bessely0' );

y0( x )

Computes the Bessel function of the second kind of order zero at x.

var v = y0( 0.0 );
// returns -Infinity

v = y0( 1.0 );
// returns ~0.088

v = y0( Infinity );
// returns 0.0

If x < 0 or x is NaN, the function returns NaN.

var v = y0( -1.0 );
// returns NaN

v = y0( -Infinity );
// returns NaN

v = y0( NaN );
// returns NaN

Examples

var uniform = require( '@stdlib/random/array/uniform' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var bessely0 = require( '@stdlib/math/base/special/bessely0' );

var opts = {
    'dtype': 'float64'
};
var x = uniform( 100, 0.0, 100.0, opts );

logEachMap( 'bessely0(%0.4f) = %0.4f', x, bessely0 );

C APIs

Usage

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

stdlib_base_bessely0( x )

Computes the Bessel function of the second kind of order zero at x.

double out = stdlib_base_bessely0( 0.0 );
// returns -Infinity

out = stdlib_base_bessely0( 1.0 );
// returns ~0.088

The function accepts the following arguments:

  • x: [in] double input value.
double stdlib_base_bessely0( const double x );

Examples

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

int main( void ) {
    const double x[] = { 0.0, 1.0, 2.0, 3.0, 4.0 };

    double y;
    int i;
    for ( i = 0; i < 5; i++ ) {
        y = stdlib_base_bessely0( x[ i ] );
        printf( "bessely0(%lf) = %lf\n", x[ i ], y );
    }
}

See Also