Click or drag to resize

SpecialFunctions Class

This partial implementation of the SpecialFunctions class contains all methods related to the Airy functions.
Inheritance Hierarchy
SystemObject
  Altaxo.CalcSpecialFunctions

Namespace: Altaxo.Calc
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public static class SpecialFunctions

The SpecialFunctions type exposes the following members.

Methods
 NameDescription
Public methodStatic memberAiryAi(Complex) Returns the Airy function Ai.

AiryAi(z) is a solution to the Airy equation, y'' - y * z = 0.

Public methodStatic memberAiryAi(Double) Returns the Airy function Ai.

AiryAi(z) is a solution to the Airy equation, y'' - y * z = 0.

Public methodStatic memberAiryAiPrime(Complex) Returns the derivative of the Airy function Ai.

AiryAiPrime(z) is defined as d/dz AiryAi(z).

Public methodStatic memberAiryAiPrime(Double) Returns the derivative of the Airy function Ai.

AiryAiPrime(z) is defined as d/dz AiryAi(z).

Public methodStatic memberAiryAiPrimeScaled(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).

Public methodStatic memberAiryAiPrimeScaled(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).

Public methodStatic memberAiryAiScaled(Complex) Returns the exponentially scaled Airy function Ai.

ScaledAiryAi(z) is given by Exp(zta) * AiryAi(z), where zta = (2/3) * z * Sqrt(z).

Public methodStatic memberAiryAiScaled(Double) Returns the exponentially scaled Airy function Ai.

ScaledAiryAi(z) is given by Exp(zta) * AiryAi(z), where zta = (2/3) * z * Sqrt(z).

Public methodStatic memberAiryBi(Complex) Returns the Airy function Bi.

AiryBi(z) is a solution to the Airy equation, y'' - y * z = 0.

Public methodStatic memberAiryBi(Double) Returns the Airy function Bi.

AiryBi(z) is a solution to the Airy equation, y'' - y * z = 0.

Public methodStatic memberAiryBiPrime(Complex) Returns the derivative of the Airy function Bi.

AiryBiPrime(z) is defined as d/dz AiryBi(z).

Public methodStatic memberAiryBiPrime(Double) Returns the derivative of the Airy function Bi.

AiryBiPrime(z) is defined as d/dz AiryBi(z).

Public methodStatic memberAiryBiPrimeScaled(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).

Public methodStatic memberAiryBiPrimeScaled(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).

Public methodStatic memberAiryBiScaled(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).

Public methodStatic memberAiryBiScaled(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).

Public methodStatic memberBesselI(Double, Double) Returns the modified Bessel function of the first kind.

BesselI(n, z) is a solution to the modified Bessel differential equation.

Public methodStatic memberBesselI(Double, Complex) Returns the modified Bessel function of the first kind.

BesselI(n, z) is a solution to the modified Bessel differential equation.

Public methodStatic memberBesselI0Returns 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.

Public methodStatic memberBesselI0MStruveL0 Returns the difference between the Bessel I0 and Struve L0 functions.
Public methodStatic memberBesselI1Returns 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.

Public methodStatic memberBesselI1MStruveL1 Returns the difference between the Bessel I1 and Struve L1 functions.
Public methodStatic memberBesselIScaled(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).

Public methodStatic memberBesselIScaled(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).

Public methodStatic memberBesselJ(Double, Double) Returns the Bessel function of the first kind.

BesselJ(n, z) is a solution to the Bessel differential equation.

Public methodStatic memberBesselJ(Double, Complex) Returns the Bessel function of the first kind.

BesselJ(n, z) is a solution to the Bessel differential equation.

Public methodStatic memberBesselJScaled(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).

Public methodStatic memberBesselJScaled(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).

Public methodStatic memberBesselK(Double, Double) Returns the modified Bessel function of the second kind.

BesselK(n, z) is a solution to the modified Bessel differential equation.

Public methodStatic memberBesselK(Double, Complex) Returns the modified Bessel function of the second kind.

BesselK(n, z) is a solution to the modified Bessel differential equation.

Public methodStatic memberBesselK0 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.

Public methodStatic memberBesselK0eReturns the exponentially scaled modified Bessel function of the second kind of order 0 of the argument.
Public methodStatic memberBesselK1 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.

Public methodStatic memberBesselK1e Returns the exponentially scaled modified Bessel function of the second kind of order 1 of the argument.

k1e(x) = exp(x) * k1(x).

Public methodStatic memberBesselKScaled(Double, Double) Returns the exponentially scaled modified Bessel function of the second kind.

ScaledBesselK(n, z) is given by Exp(z) * BesselK(n, z).

Public methodStatic memberBesselKScaled(Double, Complex) Returns the exponentially scaled modified Bessel function of the second kind.

ScaledBesselK(n, z) is given by Exp(z) * BesselK(n, z).

Public methodStatic memberBesselY(Double, Double) Returns the Bessel function of the second kind.

BesselY(n, z) is a solution to the Bessel differential equation.

Public methodStatic memberBesselY(Double, Complex) Returns the Bessel function of the second kind.

BesselY(n, z) is a solution to the Bessel differential equation.

Public methodStatic memberBesselYScaled(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).

Public methodStatic memberBesselYScaled(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).

Public methodStatic memberBeta Computes the Euler Beta function.
Public methodStatic memberBetaIncomplete 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.
Public methodStatic memberBetaLn Computes the logarithm of the Euler Beta function.
Public methodStatic memberBetaRegularized 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.
Public methodStatic memberBinomial Computes the binomial coefficient: n choose k.
Public methodStatic memberBinomialLn Computes the natural logarithm of the binomial coefficient: ln(n choose k).
Public methodStatic memberDiGamma 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.
Public methodStatic memberDiGammaInv

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.

Public methodStatic memberErfCalculates the error function.
Public methodStatic memberErfcCalculates the complementary error function.
Public methodStatic memberErfcInvCalculates the complementary inverse error function evaluated at z.
Public methodStatic memberErfInvCalculates the inverse error function evaluated at z.
Public methodStatic memberExpm1 Numerically stable exponential minus one, i.e.
C#
x -> exp(x)-1
Public methodStatic memberExponentialIntegral Computes the generalized Exponential Integral function (En).
Public methodStatic memberExponentialMinusOneObsolete.
Numerically stable exponential minus one, i.e.
C#
x -> exp(x)-1
Public methodStatic memberFactorial(BigInteger) Computes the factorial of an integer.
Public methodStatic memberFactorial(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.
Public methodStatic memberFactorialLn Computes the logarithmic factorial function x -> ln(x!) of an integer number > 0.
Public methodStatic memberFallingFactorial Computes the Falling Factorial (Pochhammer function) x -> x(n), n>= 0. see: https://en.wikipedia.org/wiki/Falling_and_rising_factorials
Public methodStatic memberGamma Computes the Gamma function.
Public methodStatic memberGammaLn Computes the logarithm of the Gamma function.
Public methodStatic memberGammaLowerIncomplete Returns the lower incomplete gamma function gamma(a,x) = int(exp(-t)t^(a-1),t=0..x) for real a > 0, x > 0.
Public methodStatic memberGammaLowerRegularized 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.
Public methodStatic memberGammaLowerRegularizedInv 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.
Public methodStatic memberGammaUpperIncomplete Returns the upper incomplete gamma function Gamma(a,x) = int(exp(-t)t^(a-1),t=0..x) for real a > 0, x > 0.
Public methodStatic memberGammaUpperRegularized 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.
Public methodStatic memberGeneralHarmonic Compute the generalized harmonic number of order n of m. (1 + 1/2^m + 1/3^m + ... + 1/n^m)
Public methodStatic memberGeneralizedHypergeometric 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
Public methodStatic memberHankelH1 Returns the Hankel function of the first kind.

HankelH1(n, z) is defined as BesselJ(n, z) + j * BesselY(n, z).

Public methodStatic memberHankelH1Scaled 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).

Public methodStatic memberHankelH2 Returns the Hankel function of the second kind.

HankelH2(n, z) is defined as BesselJ(n, z) - j * BesselY(n, z).

Public methodStatic memberHankelH2Scaled 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).

Public methodStatic memberHarmonic Computes the t'th Harmonic number.
Public methodStatic memberHypotenuse(Complex, Complex) Numerically stable hypotenuse of a right angle triangle, i.e.
C#
(a,b) -> sqrt(a^2 + b^2)
Public methodStatic memberHypotenuse(Complex32, Complex32) Numerically stable hypotenuse of a right angle triangle, i.e.
C#
(a,b) -> sqrt(a^2 + b^2)
Public methodStatic memberHypotenuse(Double, Double) Numerically stable hypotenuse of a right angle triangle, i.e.
C#
(a,b) -> sqrt(a^2 + b^2)
Public methodStatic memberHypotenuse(Single, Single) Numerically stable hypotenuse of a right angle triangle, i.e.
C#
(a,b) -> sqrt(a^2 + b^2)
Public methodStatic memberKelvinBe 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)

Public methodStatic memberKelvinBei(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).

Public methodStatic memberKelvinBei(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).

Public methodStatic memberKelvinBeiPrime(Double) Returns the derivative of the Kelvin function bei.
Public methodStatic memberKelvinBeiPrime(Double, Double) Returns the derivative of the Kelvin function bei.
Public methodStatic memberKelvinBer(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).

Public methodStatic memberKelvinBer(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).

Public methodStatic memberKelvinBerPrime(Double) Returns the derivative of the Kelvin function ber.
Public methodStatic memberKelvinBerPrime(Double, Double) Returns the derivative of the Kelvin function ber.
Public methodStatic memberKelvinKe 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)

Public methodStatic memberKelvinKei(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).

Public methodStatic memberKelvinKei(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).

Public methodStatic memberKelvinKeiPrime(Double) Returns the derivative of the Kelvin function kei.
Public methodStatic memberKelvinKeiPrime(Double, Double) Returns the derivative of the Kelvin function kei.
Public methodStatic memberKelvinKer(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).

Public methodStatic memberKelvinKer(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).

Public methodStatic memberKelvinKerPrime(Double) Returns the derivative of the Kelvin function ker.
Public methodStatic memberKelvinKerPrime(Double, Double) Returns the derivative of the Kelvin function ker.
Public methodStatic memberLog1p Computes ln(1+x) with good relative precision when |x| is small
Public methodStatic memberLogistic Computes the logistic function. see: http://en.wikipedia.org/wiki/Logistic
Public methodStatic memberLogit Computes the logit function, the inverse of the sigmoid logistic function. see: http://en.wikipedia.org/wiki/Logit
Public methodStatic memberMarcumQ(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

Public methodStatic memberMarcumQ(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

Public methodStatic memberMittagLefflerE(Double, Double) Computes the Mittag-Leffler function, E_(α)(x).
Public methodStatic memberMittagLefflerE(Double, Complex) Computes the Mittag-Leffler function, E_(α)(z).
Public methodStatic memberMittagLefflerE(Double, Double, Double) Computes the generalized Mittag-Leffler function, E_(α, β)(x).
Public methodStatic memberMittagLefflerE(Double, Double, Complex) Computes the generalized Mittag-Leffler function, E_(α, β)(z).
Public methodStatic memberMittagLefflerE(Double, Double, Double, Double) Computes the three-parameter Mittag-Leffler function, E_(α, β, γ)(x).
Public methodStatic memberMittagLefflerE(Double, Double, Double, Complex) Computes the three-parameter Mittag-Leffler function, E_(α, β, γ)(z).
Public methodStatic memberMultinomial Computes the multinomial coefficient: n choose n1, n2, n3, ...
Public methodStatic memberRisingFactorial Computes the Rising Factorial (Pochhammer function) x -> (x)n, n>= 0. see: https://en.wikipedia.org/wiki/Falling_and_rising_factorials
Public methodStatic memberSphericalBesselJ(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).

Public methodStatic memberSphericalBesselJ(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).

Public methodStatic memberSphericalBesselY(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).

Public methodStatic memberSphericalBesselY(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).

Public methodStatic memberStruveL0 Returns the modified Struve function of order 0.
Public methodStatic memberStruveL1 Returns the modified Struve function of order 1.
Top
See Also