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

Chebyshev 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 mapToPhysical (double xi, double lowerBound, double upperBound)
 
static double mapToCanonical (double x, double lowerBound, double upperBound)
 

Detailed Description

Chebyshev orthogonal polynomial basis.

Mathematical Formulation Chebyshev polynomials of the first kind \(T_n(\xi)\) are orthogonal with respect to the weight function \(w(\xi) = \frac{1}{\sqrt{1-\xi^2}}\) on \([-1, 1]\). The recurrence relation is:

\[ T_0(\xi) = 1, \quad T_1(\xi) = \xi, \quad T_{n+1}(\xi) = 2\xi T_n(\xi) - T_{n-1}(\xi) \]

Implementation Algorithm

  1. evaluate() computes polynomial values using the 3-term recurrence relation.
  2. getJacobiMatrix() constructs the symmetric tridiagonal Jacobi matrix \(\mathbf{J}\) with \(\alpha_i = 0\) and off-diagonal \(\beta_1 = \frac{1}{\sqrt{2}}\), \(\beta_i = 0.5\) for \(i \ge 2\).

Member Function Documentation

◆ evaluate()

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

◆ getJacobiMatrix()

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

◆ mapToCanonical()

static double cmp::ChebyshevBasis::mapToCanonical ( double  x,
double  lowerBound,
double  upperBound 
)
inlinestatic

◆ mapToPhysical()

static double cmp::ChebyshevBasis::mapToPhysical ( double  xi,
double  lowerBound,
double  upperBound 
)
inlinestatic

◆ normSquared()

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

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