archimedes.measure.ProbabilistsHermiteMeasure¶

class archimedes.measure.ProbabilistsHermiteMeasure¶

Measure for the probabilists’ Hermite polynomial family.

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

The associated orthogonal polynomials are the probabilists’ Hermite polynomials \(\mathit{He}_n(x)\) (as opposed to the physicists’ convention used by PhysicistsHermiteMeasure, with weight \(e^{-x^2}\)). Up to normalization, this weight is exactly the density of a standard normal distribution: \(e^{-x^2/2} = \sqrt{2\pi} \, \phi(x)\), where \(\phi\) is the standard normal PDF. The zeroth moment of the weight is \(\int_{-\infty}^\infty e^{-x^2/2} \, dx = \sqrt{2\pi}\).

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 probabilists' Hermite recurrence coefficients.

weight(x)

Weight function \(w(x) = e^{-x^2/2}\), 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_{-infty}^infty e^{-t^2/2} , dt = sqrt{2pi}.

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 probabilists’ Hermite recurrence coefficients.

\(\alpha_k = 0\); \(\beta_0 = \sqrt{2\pi}\) (= reference_mass), \(\beta_k = k\) for \(k \geq 1\).

weight(x: ndarray) → ndarray¶

Weight function \(w(x) = e^{-x^2/2}\), 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.RealLine 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_{-infty}^infty e^{-t^2/2} , dt = sqrt{2pi}.

Type:

math

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.