archimedes.measure.Measure¶

class archimedes.measure.Measure¶

The weight and reference domain defining an orthogonal polynomial family.

A weight function \(w(x) \geq 0\) together with its support (the reference domain \(\mathcal{D}\)) defines an orthogonality measure \(d\mu(x) = w(x) \, dx\).

The polynomials orthogonal with respect to this measure also determine the nodes of the associated Gauss quadrature rule: for the degree-n orthogonal polynomial, the n roots \(x_i\) and quadrature weights \(w_i\) satisfy

\[\int_\mathcal{D} f(x) \, w(x) \, dx = \sum_{i=1}^n w_i f(x_i)\]

exactly for every polynomial f of degree \(\leq 2n - 1\).

Subclasses implement one classical family each (Legendre, Jacobi, Laguerre, Hermite). affine_params additionally describes how the reference measure relates to other instances of the same family, e.g. rescaling the interval for Legendre/Jacobi, or the rate/location for Laguerre/Hermite.

__init__()¶

Methods

__init__()

affine_params(*args, **kwargs)

Return (scale, shift) mapping reference nodes onto the requested instance of this family.

mass(*args, **kwargs)

Total mass of the measure mapped by affine_params(*args, **kwargs).

weight(x)

Weight function \(w(x)\), evaluated at x.

Attributes

reference_mass

Zeroth moment \(\int_\mathcal{D} w(t) \, dt\) of the reference weight (i.e. before any affine_params shift/scale).

support

Support \(\mathcal{D} = [a, b]\) of the measure.

uniform_weight

True if the weight is constant (weight(x) == weight(y)) for every x, y in support -- e.g. true for Legendre, false for Jacobi (singular at the endpoints) or Hermite/Laguerre (unbounded support).