Special |
public static class SpecialFunctions
The SpecialFunctions type exposes the following members.
Name | Description | |
---|---|---|
AiryAi(Complex) |
Returns the Airy function Ai.
AiryAi(z) is a solution to the Airy equation, y'' - y * z = 0. | |
AiryAi(Double) |
Returns the Airy function Ai.
AiryAi(z) is a solution to the Airy equation, y'' - y * z = 0. | |
AiryAiPrime(Complex) |
Returns the derivative of the Airy function Ai.
AiryAiPrime(z) is defined as d/dz AiryAi(z). | |
AiryAiPrime(Double) |
Returns the derivative of the Airy function Ai.
AiryAiPrime(z) is defined as d/dz AiryAi(z). | |
AiryAiPrimeScaled(Complex) |
Returns the exponentially scaled derivative of Airy function Ai
ScaledAiryAiPrime(z) is given by Exp(zta) * AiryAiPrime(z), where zta = (2/3) * z * Sqrt(z). | |
AiryAiPrimeScaled(Double) |
Returns the exponentially scaled derivative of the Airy function Ai.
ScaledAiryAiPrime(z) is given by Exp(zta) * AiryAiPrime(z), where zta = (2/3) * z * Sqrt(z). | |
AiryAiScaled(Complex) |
Returns the exponentially scaled Airy function Ai.
ScaledAiryAi(z) is given by Exp(zta) * AiryAi(z), where zta = (2/3) * z * Sqrt(z). | |
AiryAiScaled(Double) |
Returns the exponentially scaled Airy function Ai.
ScaledAiryAi(z) is given by Exp(zta) * AiryAi(z), where zta = (2/3) * z * Sqrt(z). | |
AiryBi(Complex) |
Returns the Airy function Bi.
AiryBi(z) is a solution to the Airy equation, y'' - y * z = 0. | |
AiryBi(Double) |
Returns the Airy function Bi.
AiryBi(z) is a solution to the Airy equation, y'' - y * z = 0. | |
AiryBiPrime(Complex) |
Returns the derivative of the Airy function Bi.
AiryBiPrime(z) is defined as d/dz AiryBi(z). | |
AiryBiPrime(Double) |
Returns the derivative of the Airy function Bi.
AiryBiPrime(z) is defined as d/dz AiryBi(z). | |
AiryBiPrimeScaled(Complex) |
Returns the exponentially scaled derivative of the Airy function Bi.
ScaledAiryBiPrime(z) is given by Exp(-Abs(zta.Real)) * AiryBiPrime(z) where zta = (2 / 3) * z * Sqrt(z). | |
AiryBiPrimeScaled(Double) |
Returns the exponentially scaled derivative of the Airy function Bi.
ScaledAiryBiPrime(z) is given by Exp(-Abs(zta.Real)) * AiryBiPrime(z) where zta = (2 / 3) * z * Sqrt(z). | |
AiryBiScaled(Complex) |
Returns the exponentially scaled Airy function Bi.
ScaledAiryBi(z) is given by Exp(-Abs(zta.Real)) * AiryBi(z) where zta = (2 / 3) * z * Sqrt(z). | |
AiryBiScaled(Double) |
Returns the exponentially scaled Airy function Bi.
ScaledAiryBi(z) is given by Exp(-Abs(zta.Real)) * AiryBi(z) where zta = (2 / 3) * z * Sqrt(z). | |
BesselI(Double, Double) |
Returns the modified Bessel function of the first kind.
BesselI(n, z) is a solution to the modified Bessel differential equation. | |
BesselI(Double, Complex) |
Returns the modified Bessel function of the first kind.
BesselI(n, z) is a solution to the modified Bessel differential equation. | |
BesselI0 | Returns the modified Bessel function of first kind, order 0 of the argument. The function is defined as i0(x) = j0( ix ). The range is partitioned into the two intervals [0, 8] and (8, infinity). Chebyshev polynomial expansions are employed in each interval. | |
BesselI0MStruveL0 | Returns the difference between the Bessel I0 and Struve L0 functions. | |
BesselI1 | Returns the modified Bessel function of first kind, order 1 of the argument. The function is defined as i1(x) = -i j1( ix ). The range is partitioned into the two intervals [0, 8] and (8, infinity). Chebyshev polynomial expansions are employed in each interval. | |
BesselI1MStruveL1 | Returns the difference between the Bessel I1 and Struve L1 functions. | |
BesselIScaled(Double, Double) |
Returns the exponentially scaled modified Bessel function of the first kind.
ScaledBesselI(n, z) is given by Exp(-Abs(z.Real)) * BesselI(n, z). | |
BesselIScaled(Double, Complex) |
Returns the exponentially scaled modified Bessel function of the first kind.
ScaledBesselI(n, z) is given by Exp(-Abs(z.Real)) * BesselI(n, z). | |
BesselJ(Double, Double) |
Returns the Bessel function of the first kind.
BesselJ(n, z) is a solution to the Bessel differential equation. | |
BesselJ(Double, Complex) |
Returns the Bessel function of the first kind.
BesselJ(n, z) is a solution to the Bessel differential equation. | |
BesselJScaled(Double, Double) |
Returns the exponentially scaled Bessel function of the first kind.
ScaledBesselJ(n, z) is given by Exp(-Abs(z.Imaginary)) * BesselJ(n, z). | |
BesselJScaled(Double, Complex) |
Returns the exponentially scaled Bessel function of the first kind.
ScaledBesselJ(n, z) is given by Exp(-Abs(z.Imaginary)) * BesselJ(n, z). | |
BesselK(Double, Double) |
Returns the modified Bessel function of the second kind.
BesselK(n, z) is a solution to the modified Bessel differential equation. | |
BesselK(Double, Complex) |
Returns the modified Bessel function of the second kind.
BesselK(n, z) is a solution to the modified Bessel differential equation. | |
BesselK0 | Returns the modified Bessel function of the second kind of order 0 of the argument. The range is partitioned into the two intervals [0, 8] and (8, infinity). Chebyshev polynomial expansions are employed in each interval. | |
BesselK0e | Returns the exponentially scaled modified Bessel function of the second kind of order 0 of the argument. | |
BesselK1 | Returns the modified Bessel function of the second kind of order 1 of the argument. The range is partitioned into the two intervals [0, 2] and (2, infinity). Chebyshev polynomial expansions are employed in each interval. | |
BesselK1e | Returns the exponentially scaled modified Bessel function of the second kind of order 1 of the argument. k1e(x) = exp(x) * k1(x). | |
BesselKScaled(Double, Double) |
Returns the exponentially scaled modified Bessel function of the second kind.
ScaledBesselK(n, z) is given by Exp(z) * BesselK(n, z). | |
BesselKScaled(Double, Complex) |
Returns the exponentially scaled modified Bessel function of the second kind.
ScaledBesselK(n, z) is given by Exp(z) * BesselK(n, z). | |
BesselY(Double, Double) |
Returns the Bessel function of the second kind.
BesselY(n, z) is a solution to the Bessel differential equation. | |
BesselY(Double, Complex) |
Returns the Bessel function of the second kind.
BesselY(n, z) is a solution to the Bessel differential equation. | |
BesselYScaled(Double, Double) |
Returns the exponentially scaled Bessel function of the second kind.
ScaledBesselY(n, z) is given by Exp(-Abs(z.Imaginary)) * BesselY(n, z). | |
BesselYScaled(Double, Complex) |
Returns the exponentially scaled Bessel function of the second kind.
ScaledBesselY(n, z) is given by Exp(-Abs(z.Imaginary)) * Y(n, z). | |
Beta | Computes the Euler Beta function. | |
BetaIncomplete | Returns the lower incomplete (unregularized) beta function B(a,b,x) = int(t^(a-1)*(1-t)^(b-1),t=0..x) for real a > 0, b > 0, 1 >= x >= 0. | |
BetaLn | Computes the logarithm of the Euler Beta function. | |
BetaRegularized | Returns the regularized lower incomplete beta function I_x(a,b) = 1/Beta(a,b) * int(t^(a-1)*(1-t)^(b-1),t=0..x) for real a > 0, b > 0, 1 >= x >= 0. | |
Binomial | Computes the binomial coefficient: n choose k. | |
BinomialLn | Computes the natural logarithm of the binomial coefficient: ln(n choose k). | |
DiGamma | Computes the Digamma function which is mathematically defined as the derivative of the logarithm of the gamma function. This implementation is based on Jose Bernardo Algorithm AS 103: Psi ( Digamma ) Function, Applied Statistics, Volume 25, Number 3, 1976, pages 315-317. Using the modifications as in Tom Minka's lightspeed toolbox. | |
DiGammaInv | Computes the inverse Digamma function: this is the inverse of the logarithm of the gamma function. This function will only return solutions that are positive. This implementation is based on the bisection method. | |
Erf | Calculates the error function. | |
Erfc | Calculates the complementary error function. | |
ErfcInv | Calculates the complementary inverse error function evaluated at z. | |
ErfInv | Calculates the inverse error function evaluated at z. | |
Expm1 |
Numerically stable exponential minus one, i.e. C# x -> exp(x)-1 | |
ExponentialIntegral | Computes the generalized Exponential Integral function (En). | |
ExponentialMinusOne | Obsolete. Numerically stable exponential minus one, i.e. C# x -> exp(x)-1 | |
Factorial(BigInteger) | Computes the factorial of an integer. | |
Factorial(Int32) | Computes the factorial function x -> x! of an integer number > 0. The function can represent all number up to 22! exactly, all numbers up to 170! using a double representation. All larger values will overflow. | |
FactorialLn | Computes the logarithmic factorial function x -> ln(x!) of an integer number > 0. | |
FallingFactorial | Computes the Falling Factorial (Pochhammer function) x -> x(n), n>= 0. see: https://en.wikipedia.org/wiki/Falling_and_rising_factorials | |
Gamma | Computes the Gamma function. | |
GammaLn | Computes the logarithm of the Gamma function. | |
GammaLowerIncomplete | Returns the lower incomplete gamma function gamma(a,x) = int(exp(-t)t^(a-1),t=0..x) for real a > 0, x > 0. | |
GammaLowerRegularized | Returns the lower incomplete regularized gamma function P(a,x) = 1/Gamma(a) * int(exp(-t)t^(a-1),t=0..x) for real a > 0, x > 0. | |
GammaLowerRegularizedInv | Returns the inverse P^(-1) of the regularized lower incomplete gamma function P(a,x) = 1/Gamma(a) * int(exp(-t)t^(a-1),t=0..x) for real a > 0, x > 0, such that P^(-1)(a,P(a,x)) == x. | |
GammaUpperIncomplete | Returns the upper incomplete gamma function Gamma(a,x) = int(exp(-t)t^(a-1),t=0..x) for real a > 0, x > 0. | |
GammaUpperRegularized | Returns the upper incomplete regularized gamma function Q(a,x) = 1/Gamma(a) * int(exp(-t)t^(a-1),t=0..x) for real a > 0, x > 0. | |
GeneralHarmonic | Compute the generalized harmonic number of order n of m. (1 + 1/2^m + 1/3^m + ... + 1/n^m) | |
GeneralizedHypergeometric | A generalized hypergeometric series is a power series in which the ratio of successive coefficients indexed by n is a rational function of n. This is the most common pFq(a1, ..., ap; b1,...,bq; z) representation see: https://en.wikipedia.org/wiki/Generalized_hypergeometric_function | |
HankelH1 |
Returns the Hankel function of the first kind.
HankelH1(n, z) is defined as BesselJ(n, z) + j * BesselY(n, z). | |
HankelH1Scaled |
Returns the exponentially scaled Hankel function of the first kind.
ScaledHankelH1(n, z) is given by Exp(-z * j) * HankelH1(n, z) where j = Sqrt(-1). | |
HankelH2 |
Returns the Hankel function of the second kind.
HankelH2(n, z) is defined as BesselJ(n, z) - j * BesselY(n, z). | |
HankelH2Scaled |
Returns the exponentially scaled Hankel function of the second kind.
ScaledHankelH2(n, z) is given by Exp(z * j) * HankelH2(n, z) where j = Sqrt(-1). | |
Harmonic | Computes the t'th Harmonic number. | |
Hypotenuse(Complex, Complex) |
Numerically stable hypotenuse of a right angle triangle, i.e. C# (a,b) -> sqrt(a^2 + b^2) | |
Hypotenuse(Complex32, Complex32) |
Numerically stable hypotenuse of a right angle triangle, i.e. C# (a,b) -> sqrt(a^2 + b^2) | |
Hypotenuse(Double, Double) |
Numerically stable hypotenuse of a right angle triangle, i.e. C# (a,b) -> sqrt(a^2 + b^2) | |
Hypotenuse(Single, Single) |
Numerically stable hypotenuse of a right angle triangle, i.e. C# (a,b) -> sqrt(a^2 + b^2) | |
KelvinBe |
Returns the Kelvin function of the first kind.
KelvinBe(nu, x) is given by BesselJ(0, j * sqrt(j) * x) where j = sqrt(-1). KelvinBer(nu, x) and KelvinBei(nu, x) are the real and imaginary parts of the KelvinBe(nu, x) | |
KelvinBei(Double) |
Returns the Kelvin function bei.
KelvinBei(x) is given by the imaginary part of BesselJ(0, j * sqrt(j) * x) where j = sqrt(-1). KelvinBei(x) is equivalent to KelvinBei(0, x). | |
KelvinBei(Double, Double) |
Returns the Kelvin function bei.
KelvinBei(nu, x) is given by the imaginary part of BesselJ(nu, j * sqrt(j) * x) where j = sqrt(-1). | |
KelvinBeiPrime(Double) | Returns the derivative of the Kelvin function bei. | |
KelvinBeiPrime(Double, Double) | Returns the derivative of the Kelvin function bei. | |
KelvinBer(Double) |
Returns the Kelvin function ber.
KelvinBer(x) is given by the real part of BesselJ(0, j * sqrt(j) * x) where j = sqrt(-1). KelvinBer(x) is equivalent to KelvinBer(0, x). | |
KelvinBer(Double, Double) |
Returns the Kelvin function ber.
KelvinBer(nu, x) is given by the real part of BesselJ(nu, j * sqrt(j) * x) where j = sqrt(-1). | |
KelvinBerPrime(Double) | Returns the derivative of the Kelvin function ber. | |
KelvinBerPrime(Double, Double) | Returns the derivative of the Kelvin function ber. | |
KelvinKe |
Returns the Kelvin function of the second kind
KelvinKe(nu, x) is given by Exp(-nu * pi * j / 2) * BesselK(nu, x * sqrt(j)) where j = sqrt(-1). KelvinKer(nu, x) and KelvinKei(nu, x) are the real and imaginary parts of the KelvinBe(nu, x) | |
KelvinKei(Double) |
Returns the Kelvin function kei.
KelvinKei(x) is given by the imaginary part of Exp(-nu * pi * j / 2) * BesselK(0, sqrt(j) * x) where j = sqrt(-1). KelvinKei(x) is equivalent to KelvinKei(0, x). | |
KelvinKei(Double, Double) |
Returns the Kelvin function kei.
KelvinKei(nu, x) is given by the imaginary part of Exp(-nu * pi * j / 2) * BesselK(nu, sqrt(j) * x) where j = sqrt(-1). | |
KelvinKeiPrime(Double) | Returns the derivative of the Kelvin function kei. | |
KelvinKeiPrime(Double, Double) | Returns the derivative of the Kelvin function kei. | |
KelvinKer(Double) |
Returns the Kelvin function ker.
KelvinKer(x) is given by the real part of Exp(-nu * pi * j / 2) * BesselK(0, sqrt(j) * x) where j = sqrt(-1). KelvinKer(x) is equivalent to KelvinKer(0, x). | |
KelvinKer(Double, Double) |
Returns the Kelvin function ker.
KelvinKer(nu, x) is given by the real part of Exp(-nu * pi * j / 2) * BesselK(nu, sqrt(j) * x) where j = sqrt(-1). | |
KelvinKerPrime(Double) | Returns the derivative of the Kelvin function ker. | |
KelvinKerPrime(Double, Double) | Returns the derivative of the Kelvin function ker. | |
Log1p | Computes ln(1+x) with good relative precision when |x| is small | |
Logistic | Computes the logistic function. see: http://en.wikipedia.org/wiki/Logistic | |
Logit | Computes the logit function, the inverse of the sigmoid logistic function. see: http://en.wikipedia.org/wiki/Logit | |
MarcumQ(Double, Double, Double) |
Returns the Marcum Q-function Q[ν](a,b). Marcum Q-function (Wikipedia) References: A. Gil, J. Segura and N.M. Temme. Efficient and accurate algorithms for the computation and inversion of the incomplete gamma function ratios. SIAM J Sci Comput. (2012) 34(6), A2965-A2981 | |
MarcumQ(Double, Double, Double, Int32) |
Returns the Marcum Q-function Q[ν](a,b). Marcum Q-function (Wikipedia) References: A. Gil, J. Segura and N.M. Temme. Efficient and accurate algorithms for the computation and inversion of the incomplete gamma function ratios. SIAM J Sci Comput. (2012) 34(6), A2965-A2981 | |
MittagLefflerE(Double, Double) | Computes the Mittag-Leffler function, E_(α)(x). | |
MittagLefflerE(Double, Complex) | Computes the Mittag-Leffler function, E_(α)(z). | |
MittagLefflerE(Double, Double, Double) | Computes the generalized Mittag-Leffler function, E_(α, β)(x). | |
MittagLefflerE(Double, Double, Complex) | Computes the generalized Mittag-Leffler function, E_(α, β)(z). | |
MittagLefflerE(Double, Double, Double, Double) | Computes the three-parameter Mittag-Leffler function, E_(α, β, γ)(x). | |
MittagLefflerE(Double, Double, Double, Complex) | Computes the three-parameter Mittag-Leffler function, E_(α, β, γ)(z). | |
Multinomial | Computes the multinomial coefficient: n choose n1, n2, n3, ... | |
RisingFactorial | Computes the Rising Factorial (Pochhammer function) x -> (x)n, n>= 0. see: https://en.wikipedia.org/wiki/Falling_and_rising_factorials | |
SphericalBesselJ(Double, Double) |
Returns the spherical Bessel function of the first kind.
SphericalBesselJ(n, z) is given by Sqrt(pi/2) / Sqrt(z) * BesselJ(n + 1/2, z). | |
SphericalBesselJ(Double, Complex) |
Returns the spherical Bessel function of the first kind.
SphericalBesselJ(n, z) is given by Sqrt(pi/2) / Sqrt(z) * BesselJ(n + 1/2, z). | |
SphericalBesselY(Double, Double) |
Returns the spherical Bessel function of the second kind.
SphericalBesselY(n, z) is given by Sqrt(pi/2) / Sqrt(z) * BesselY(n + 1/2, z). | |
SphericalBesselY(Double, Complex) |
Returns the spherical Bessel function of the second kind.
SphericalBesselY(n, z) is given by Sqrt(pi/2) / Sqrt(z) * BesselY(n + 1/2, z). | |
StruveL0 | Returns the modified Struve function of order 0. | |
StruveL1 | Returns the modified Struve function of order 1. |