IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Meta.Numerics.Functions.OrthogonalPolynomials Class Reference

Contains methods that compute the values of orthogonal polynomials. More...

Static Public Member Functions

static double HermiteH (int n, double x)
 Computes the value of a (physicists') Hermite polynomial. More...
 
static double HermiteHe (int n, double x)
 Computes the value of a (statisticians') Hermite polynomial. More...
 
static double LaguerreL (int n, double x)
 Computes the value of a Laguerre polynomial. More...
 
static double LaguerreL (int n, double a, double x)
 Computes the value of an associated Laguerre polynomial. More...
 
static double LegendreP (int l, double x)
 Computes the value of a Legendre polynomial. More...
 
static double LegendreP (int l, int m, double x)
 Computes the value of an associated Legendre polynomial. More...
 
static double ChebyshevT (int n, double x)
 Computes the value of a Cebyshev polynomial. More...
 
static double ZernikeR (int n, int m, double rho)
 Computes the value of a Zernike polynomial. More...
 

Static Private Member Functions

static double ChebyshevT_Series1 (int n, double x)
 

Detailed Description

Contains methods that compute the values of orthogonal polynomials.

Orthogonal polynomials are complete families of polynomials that are orthogonal on a given interval with a given integration weight. Because of this property, any function on the interval can be expanded in the polynomials in a unique way.

Member Function Documentation

static double Meta.Numerics.Functions.OrthogonalPolynomials.HermiteH ( int  n,
double  x 
)
inlinestatic

Computes the value of a (physicists') Hermite polynomial.

Parameters
nThe order, which must be non-negative.
xThe argument.
Returns
The value Hn(x).

Hermite polynomials are orthogonal on the interval (-∞,+∞) with the weight e-x2.

They appear in the solution of the one-dimensional, quantum mehanical, harmonic oscilator.

Statisticans' Hermite polynomials (see HermiteHe) are related to physicists' Hermite polynomials via Hn(x) = 2nHn(x √2). Staticians' Hermite polynomials do not grow as quickly as physicists', and may therefore be preferable for large values of n and x which could overflow System.Double.

Exceptions
ArgumentOutOfRangeExceptionn is negative.
See also
HermiteHe

Referenced by Test.OrthogonalPolynomialsTest.HermiteAddition(), Test.OrthogonalPolynomialsTest.HermiteInvalidOrder(), Test.OrthogonalPolynomialsTest.HermiteOrthonormality(), Test.OrthogonalPolynomialsTest.HermiteRecurrence(), Test.OrthogonalPolynomialsTest.HermiteReflection(), Test.OrthogonalPolynomialsTest.HermiteSpecialCases(), and Test.OrthogonalPolynomialsTest.HermiteSum().

static double Meta.Numerics.Functions.OrthogonalPolynomials.HermiteHe ( int  n,
double  x 
)
inlinestatic

Computes the value of a (statisticians') Hermite polynomial.

Parameters
nThe order, which must be non-negative.
xThe argument.
Returns
The value Hen(x).

Hermite polynomials are orthogonal on the interval (-∞,+∞) with a weight function equal to the standard normal probability distribution.

Their orthonormality relation makes them a useful basis for expressing pertubations arround a normal distribution.

Physicists' Hermite polynomials (see HermiteH) are related to statisticians' Hermite polynomials via Hn(x) = 2nHn(x √2).

Exceptions
ArgumentOutOfRangeExceptionn is negative.
See also
HermiteH
static double Meta.Numerics.Functions.OrthogonalPolynomials.LaguerreL ( int  n,
double  x 
)
inlinestatic
static double Meta.Numerics.Functions.OrthogonalPolynomials.LaguerreL ( int  n,
double  a,
double  x 
)
inlinestatic

Computes the value of an associated Laguerre polynomial.

Parameters
nThe order, which must be non-negative.
aThe associated order, which must be greater than -1.
xThe argument.
Returns
The value Lna(x).

The associated Laguerre polynomials are orthonogal on the interval [0,+∞) with the weight xa e-x.

static double Meta.Numerics.Functions.OrthogonalPolynomials.LegendreP ( int  l,
int  m,
double  x 
)
inlinestatic

Computes the value of an associated Legendre polynomial.

Parameters
lThe order, which must be non-negative.
mThe associated order, which must lie between -l and l inclusive.
xThe argument, which must lie on the closed interval betwen -1 and +1.
Returns
The value of Pl,m(x).

Associated Legendre polynomials appear in the definition of the AdvancedMath.SphericalHarmonic functions.

For values of l and m over about 150, values of this polynomial can exceed the capacity of double-wide floating point numbers.

References Meta.Numerics.Functions.AdvancedIntegerMath.Factorial(), and Meta.Numerics.Functions.AdvancedIntegerMath.LogFactorial().

static double Meta.Numerics.Functions.OrthogonalPolynomials.ChebyshevT ( int  n,
double  x 
)
inlinestatic

Computes the value of a Cebyshev polynomial.

Parameters
nThe order, which must be non-negative.
xThe argument, which must lie in the closed interval between -1 and +1.
Returns
The value of Tn(x).

Chebyshev polynomials are orthogonal on the interval [-1,1] with the weight (1-x2)-1/2.

Exceptions
ArgumentOutOfRangeExceptionn is negative, or x lies outside [-1,+1].

Referenced by Test.OrthogonalPolynomialsTest.ChebyshevCosine(), Test.OrthogonalPolynomialsTest.ChebyshevDoubling(), Test.OrthogonalPolynomialsTest.ChebyshevInequality(), Test.OrthogonalPolynomialsTest.ChebyshevInvalidArgument(), Test.OrthogonalPolynomialsTest.ChebyshevMultiplication(), Test.OrthogonalPolynomialsTest.ChebyshevRecurrence(), Test.OrthogonalPolynomialsTest.ChebyshevReflection(), and Test.OrthogonalPolynomialsTest.ChebyshevSpecialCases().

static double Meta.Numerics.Functions.OrthogonalPolynomials.ChebyshevT_Series1 ( int  n,
double  x 
)
inlinestaticprivate
static double Meta.Numerics.Functions.OrthogonalPolynomials.ZernikeR ( int  n,
int  m,
double  rho 
)
inlinestatic

Computes the value of a Zernike polynomial.

Parameters
nThe order paramter, which must be non-negative.
mThe index parameter, which must lie between 0 and n.
rhoThe argument, which must lie between 0 and 1.
Returns
The value of Rnm(ρ).

Zernike polynomials are orthononal on the interval [0,1] with the weight ρ.

They are often used in optics to characterize the imperfections in a lens. In this context, the amplitude of each is associated with a name given in the following table.

nmname
11tilt
20defocus
22astigmatism
31coma
33trefoil

Referenced by Test.OrthogonalPolynomialsTest.ZernikeBessel(), Test.OrthogonalPolynomialsTest.ZernikeOrthonormality(), and Test.OrthogonalPolynomialsTest.ZernikeSpecialCases().


The documentation for this class was generated from the following file: