CMP++: Uncertainty Quantification & Bayesian Calibration
Loading...
Searching...
No Matches
cmp::HermiteBasis Struct Reference

Hermite orthogonal polynomial basis. More...

#include <poly.h>

Static Public Member Functions

static double evaluate (size_t deg, double xi)
 
static double normSquared (size_t deg)
 
static Eigen::MatrixXd getJacobiMatrix (int numPoints)
 
static double getPDFWeight ()
 
static double mapToPhysical (double xi, double mean, double stdDev)
 
static double mapToCanonical (double x, double mean, double stdDev)
 

Detailed Description

Hermite orthogonal polynomial basis.

Mathematical Formulation Probabilist's Hermite polynomials \(H_n(\xi)\) are orthogonal with respect to the standard Gaussian density function \(w(\xi) = \frac{1}{\sqrt{2\pi}} e^{-\xi^2/2}\). The recurrence relation is:

\[ H_0(\xi) = 1, \quad H_1(\xi) = \xi, \quad H_{n+1}(\xi) = \xi H_n(\xi) - n H_{n-1}(\xi) \]

with \(\mathbb{E}[H_m(\xi) H_n(\xi)] = n! \delta_{mn}\).

Implementation Algorithm

  1. evaluate() computes polynomial values using the 3-term recurrence relation.
  2. getJacobiMatrix() constructs the symmetric tridiagonal Jacobi matrix \(\mathbf{J}\) with diagonal \(\alpha_i = 0\) and off-diagonal \(\beta_i = \sqrt{i}\) to evaluate quadrature nodes via spectral decomposition.

Member Function Documentation

◆ evaluate()

static double cmp::HermiteBasis::evaluate ( size_t  deg,
double  xi 
)
inlinestatic

◆ getJacobiMatrix()

static Eigen::MatrixXd cmp::HermiteBasis::getJacobiMatrix ( int  numPoints)
inlinestatic

◆ getPDFWeight()

static double cmp::HermiteBasis::getPDFWeight ( )
inlinestatic

◆ mapToCanonical()

static double cmp::HermiteBasis::mapToCanonical ( double  x,
double  mean,
double  stdDev 
)
inlinestatic

◆ mapToPhysical()

static double cmp::HermiteBasis::mapToPhysical ( double  xi,
double  mean,
double  stdDev 
)
inlinestatic

◆ normSquared()

static double cmp::HermiteBasis::normSquared ( size_t  deg)
inlinestatic

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