Table of Contents

Class GaussianOrthogonalPolynomial

Namespace
NanoQL.Numerics
Assembly
NanoQL.dll

An orthogonal polynomial for Gaussian quadratures, defined by the three-term recurrence P_{k+1}(x) = (x − α_k)·P_k(x) − β_k·P_{k−1}(x) and μ₀ = ∫ w(x) dx: G.H. Golub and J.H. Welsch, "Calculation of Gauss quadrature rules", Math. Comput. 23 (1969), 221-230; "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery.

public abstract class GaussianOrthogonalPolynomial
Inheritance
GaussianOrthogonalPolynomial
Derived
Inherited Members

Constructors

GaussianOrthogonalPolynomial()

protected GaussianOrthogonalPolynomial()

Methods

Alpha(int)

The recurrence's α_i.

public abstract double Alpha(int i)

Parameters

i int

The index, non-negative.

Returns

double

α_i.

Exceptions

ArgumentOutOfRangeException

i is negative.

Beta(int)

The recurrence's β_i.

public abstract double Beta(int i)

Parameters

i int

The index, non-negative.

Returns

double

β_i.

Exceptions

ArgumentOutOfRangeException

i is negative.

LogW(double)

log(w(x)), kept finite past the range where w(x) itself underflows to zero. The default is log(w(x)); a polynomial whose w can underflow while log(w) stays representable overrides it.

public virtual double LogW(double x)

Parameters

x double

The point.

Returns

double

log(w(x)).

Mu_0()

μ₀, the integral of the weight function.

public abstract double Mu_0()

Returns

double

μ₀.

Value(int, double)

The polynomial P_n at x, by the recurrence.

public double Value(int n, double x)

Parameters

n int

The degree, non-negative.

x double

The point.

Returns

double

P_n(x).

Exceptions

ArgumentOutOfRangeException

n is negative.

W(double)

The weight function w(x).

public abstract double W(double x)

Parameters

x double

The point.

Returns

double

w(x).

WeightedValue(int, double)

The polynomial weighted by the square root of the weight, √w(x)·P_n(x).

public double WeightedValue(int n, double x)

Parameters

n int

The degree, non-negative.

x double

The point.

Returns

double

√w(x)·P_n(x).

Exceptions

ArgumentOutOfRangeException

n is negative.