@stdlib/math-base-special-gamma
v0.3.0
Published
Gamma function.
Downloads
214,525
Readme
Gamma Function
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
@stdlib/math-base/special/gamma1pm1
: compute gamma(x+1) - 1.@stdlib/math-base/special/gammainc
: incomplete gamma function.@stdlib/math-base/special/gammaincinv
: inverse incomplete gamma function.@stdlib/math-base/special/gammaln
: natural logarithm of the gamma function.
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
Copyright
Copyright © 2016-2024. The Stdlib Authors.