maths
Panoply of Math Functions for NodeJS.
To build this, npm install -g voc
and voc README.md
Code
{ "version": "0.1.0", "dependencies": {
Gamma Function
substack's gamma library provides the regular gamma function:
"gamma":"",
The gamma
function takes a single real parameter.
var gamma = require('gamma');exports.gamma = gamma;
Both matlab and Excel use the function name gammaln
to refer to the natural
log of the gamma function. Mathematica uses the name LogGamma
and scipy uses
the name loggamma
. Both names will be used:
exports.gammaln = gamma.log;
exports.loggamma = gamma.log;
Gamma's Friends
The regular beta function is a straightforward manipulation of gamma:
var beta = function(a,b) { return (gamma(a)*gamma(b))/gamma(a+b); };var betaln = function(a,b) { return gamma.log(a)+gamma.log(b)-gamma.log(a+b); };beta.log = betaln;exports.beta = beta;exports.betaln = betaln;
The lesser-known Pochhammer symbol is even simpler (uses Mathematica order):
var pochhammer = function(a,n) { return gamma(a+n) / gamma(a); };
var pochhammerln = function(a,n) { return gamma.log(a+n) - gamma.log(a); };
pochhammer.log = pochhammerln;
exports.pochhammer = pochhammer;
exports.pochhammerln = pochhammerln;
Bessel Functions
SheetJS's bessel library provides the Bessel functions:
"bessel":"",
The bessel functions accept the parameters (x, n)
where n
is the order of
the solution and x
is the point at which to evaluate:
var bessel = require('bessel');exports.besselj = bessel.besselj;exports.bessely = bessel.bessely;exports.besseli = bessel.besseli;exports.besselk = bessel.besselk;
Fractions
SheetJS's frac library provides the frac function for rational approximations to numbers:
"frac":"",
The frac function accept the parameters (x, D, m)
where x
is the number you
wish to approximate, D
is an upper bound on the denominator, and m
is a flag
indicating that you want mixed rather than improper fractions:
var frac = require('frac');exports.frac = frac;
Miscellaneous
"voc":"" }, "name": "maths", "author": "SheetJS", "description": "Panoply of Math Functions for NodeJS", "keywords": ["math", "maths", "specfun", "scimath"], "repository":{ "type": "git", "url": "https://github.com/SheetJS/maths.git" }, "main": "maths.js"}