0.3.0 • Published 11 months ago

@stdlib/math-base-special-gamma v0.3.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
11 months ago

Gamma Function

NPM version Build Status Coverage Status

Gamma function.

The gamma function extends the factorial function to real and complex numbers. If n is a positive integer,

Generalized to all complex numbers z, except for nonpositive integers, the gamma function can be expressed as an infinite product

where γ ≈ 0.577216 is the Euler–Mascheroni constant.

Installation

npm install @stdlib/math-base-special-gamma

Usage

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

gamma( x )

Evaluates the gamma function.

var v = gamma( 4.0 );
// returns 6.0

v = gamma( -1.5 );
// returns ~2.363

v = gamma( -0.5 );
// returns ~-3.545

v = gamma( 0.5 );
// returns ~1.772

v = gamma( 0.0 );
// returns Infinity

v = gamma( -0.0 );
// returns -Infinity

v = gamma( NaN );
// returns NaN

Examples

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

var x = linspace( -10.0, 10.0, 100 );

var i;
for ( i = 0; i < x.length; i++ ) {
    console.log( 'x: %d, f(x): %d', x[ i ], gamma( x[ i ] ) );
}

C APIs

Usage

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

stdlib_base_gamma( x )

Evaluates the gamma function.

double out = stdlib_base_gamma( 4.0 );
// returns 6.0

out = stdlib_base_gamma( -1.5 );
// returns ~2.363

The function accepts the following arguments:

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

Examples

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

int main( void ) {
    const double x[] = { 4.0, -1.5, -0.5, 0.5 };

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

See Also


Notice

This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.

For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.

Community

Chat


Copyright

Copyright © 2016-2024. The Stdlib Authors.

0.3.0

11 months ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.0

2 years ago

0.0.6

3 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago