C# Class SharpMath.Functions

A bunch of utility functions stolen from http://www.johndcook.com
Afficher le fichier Open project: Patapom/GodComplex

Méthodes publiques

Méthode Description
Gamma ( double x ) : double

The gamma function

Note that the functions Gamma and LogGamma are mutually dependent.

LogFactorial ( int n ) : double
LogGamma ( double x ) : double

The log-gamma function

Note that the functions Gamma and LogGamma are mutually dependent.

LogOnePlusX ( double x ) : double

Compute log(1+x) without losing precision for small values of x

NormalCDFInverse ( double p ) : double

Phi-inverse

Phi ( double x ) : double

Related to the error function

RationalApproximation ( double t ) : double
SolveCubic ( double a, double b, double c, double d ) : double[]
SolveLinear ( double a, double b ) : double[]
SolvePolynomial ( double a, double b, double c, double d, double e ) : double[]
SolveQuadratic ( double a, double b, double c ) : double[]
SolveQuartic ( double a, double b, double c, double d, double e ) : double[]
beta ( double m, double n ) : double

The beta function

erf ( double x ) : double

Error Function Implementation from formula 7.1.26 from "1964 Abramowitz, Stegun - Handbook of Mathematical Functions"

erfinv ( double x ) : double

Inverse error function from "Mike Giles - Approximating the erfinv function" (http://people.maths.ox.ac.uk/gilesm/files/gems_erfinv.pdf)

gamma ( double x ) : double

The gamma function to compute real value factorials https://en.wikipedia.org/wiki/Gamma_function

Private Methods

Méthode Description
abgamma ( double x ) : double
expm1 ( double x ) : double

Computes exp(x)-1 without losing precision for small values of x

Method Details

Gamma() public static méthode

The gamma function
Note that the functions Gamma and LogGamma are mutually dependent.
public static Gamma ( double x ) : double
x double We require x > 0
Résultat double

LogFactorial() public static méthode

public static LogFactorial ( int n ) : double
n int
Résultat double

LogGamma() public static méthode

The log-gamma function
Note that the functions Gamma and LogGamma are mutually dependent.
public static LogGamma ( double x ) : double
x double We require x > 0
Résultat double

LogOnePlusX() public static méthode

Compute log(1+x) without losing precision for small values of x
public static LogOnePlusX ( double x ) : double
x double
Résultat double

NormalCDFInverse() public static méthode

Phi-inverse
public static NormalCDFInverse ( double p ) : double
p double
Résultat double

Phi() public static méthode

Related to the error function
public static Phi ( double x ) : double
x double
Résultat double

RationalApproximation() public static méthode

public static RationalApproximation ( double t ) : double
t double
Résultat double

SolveCubic() public static méthode

public static SolveCubic ( double a, double b, double c, double d ) : double[]
a double
b double
c double
d double
Résultat double[]

SolveLinear() public static méthode

public static SolveLinear ( double a, double b ) : double[]
a double
b double
Résultat double[]

SolvePolynomial() public static méthode

public static SolvePolynomial ( double a, double b, double c, double d, double e ) : double[]
a double
b double
c double
d double
e double
Résultat double[]

SolveQuadratic() public static méthode

public static SolveQuadratic ( double a, double b, double c ) : double[]
a double
b double
c double
Résultat double[]

SolveQuartic() public static méthode

public static SolveQuartic ( double a, double b, double c, double d, double e ) : double[]
a double
b double
c double
d double
e double
Résultat double[]

beta() public static méthode

The beta function
public static beta ( double m, double n ) : double
m double
n double
Résultat double

erf() public static méthode

Error Function Implementation from formula 7.1.26 from "1964 Abramowitz, Stegun - Handbook of Mathematical Functions"
public static erf ( double x ) : double
x double
Résultat double

erfinv() public static méthode

Inverse error function from "Mike Giles - Approximating the erfinv function" (http://people.maths.ox.ac.uk/gilesm/files/gems_erfinv.pdf)
public static erfinv ( double x ) : double
x double
Résultat double

gamma() public static méthode

The gamma function to compute real value factorials https://en.wikipedia.org/wiki/Gamma_function
public static gamma ( double x ) : double
x double
Résultat double