archimedes.measure.LaguerreMeasure¶

class archimedes.measure.LaguerreMeasure¶

Measure for the Laguerre polynomial family.

Weight \(w(x) = e^{-x}\) on \([0, \infty)\).

The associated orthogonal polynomials are the (physicists’) Laguerre polynomials \(L_n(x)\). Moments of the weight are given by the Gamma function: \(\int_0^\infty x^k e^{-x} \, dx = k! = \Gamma(k+1)\).

Methods

affine_params(*args, **kwargs)

Return (scale, shift) mapping the reference measure onto the requested instance of this family; forwarded to domain.affine_params.

mass(*args, **kwargs)

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

recurrence_coeffs(n)

Monic Laguerre recurrence coefficients.

weight(x)

Weight function \(w(x) = e^{-x}\), evaluated at x.

Attributes

affine_invariant

True if this measure's weight is provably the same shape, just relocated/rescaled, under affine_params's reparametrization.

domain

The reference domain this measure's weight is supported on.

reference_mass

\(\int_0^\infty e^{-t} \, dt = 1\).

support

Support \(\mathcal{D} = [a, b]\); forwarded from domain.

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).

__init__()¶
affine_params(*args, **kwargs) → tuple[float, float]¶

Return (scale, shift) mapping the reference measure onto the requested instance of this family; forwarded to domain.affine_params.

Quadrature weights pick up the same scale as a Jacobian factor, since \(dx = \mathrm{scale} \cdot dt\). The meaning of the arguments is domain-specific – a/b for UnitInterval, loc/scale for RealLine, rate/start for HalfLine – see the corresponding ReferenceDomain subclass.

mass(*args, **kwargs) → float¶

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

Equal to scale * reference_mass, where scale is the affine scale factor. Dividing a mapped weight by this quantity turns it into a probability density on the mapped domain. Concrete subclasses don’t need to override this; it’s fully determined by affine_params and reference_mass.

recurrence_coeffs(n: int) → tuple[ndarray, ndarray]¶

Monic Laguerre recurrence coefficients.

\(\alpha_k = 2k + 1\); \(\beta_0 = 1\) (= reference_mass), \(\beta_k = k^2\) for \(k \geq 1\).

weight(x: ndarray) → ndarray¶

Weight function \(w(x) = e^{-x}\), evaluated at x.

affine_invariant: bool = True¶

True if this measure’s weight is provably the same shape, just relocated/rescaled, under affine_params’s reparametrization. False (the default) for anything relying on the generic Stieltjes-based recurrence_coeffs fallback, since it is not guaranteed that an arbitrary weight family stays affine-closed.

domain: ReferenceDomain = <archimedes.measure._domain.HalfLine object>¶

The reference domain this measure’s weight is supported on. Set as a class attribute by each concrete subclass; carries the support, affine_params and Parameters that Measure delegates to.

property reference_mass: float¶

\(\int_0^\infty e^{-t} \, dt = 1\).

property support: tuple[float, float]¶

Support \(\mathcal{D} = [a, b]\); forwarded from domain.

uniform_weight: bool = False¶

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). Used by consumers that need to know whether the weight’s shape is trivial, e.g. archimedes.quadrature.composite_quad, which can only tile a rule across sub-elements when there’s no interior discontinuity in the weight to worry about.