This is an introduction to the LegendreBasis class. We write a small overarching summary of the class where we define the algorithm/equation/structure reasoning for having this class or where it fits with the rest of the code.

class LegendreBasis : public mrcpp::ScalingBasis

Legendre scaling functions as defined by Alpert, SIAM J Math Anal 24 (1), 246 (1993).

Public Functions

inline LegendreBasis(int k)

k[in] Polynomial order of basis, 1 < k < 40


New LegendreBasis object

Private Functions

void initScalingBasis()

Initialise Legendre scaling basis.

Fills std::vector<Polynomial> funcs declared in the base class ScalingBasis with the Legendre scaling functions

\[ \phi_j(x) = \sqrt{ 2j + 1 } P_j(2x - 1) , \quad x \in (0, 1) , \quad j = 0, \ldots, k , \]
where \( P_j \) are standard Legendre polynomials. Here \( k \) is order declared in the base class.


These Legendre scaling functions are defined on the unit interval \( (0, 1) \).

void calcQuadratureValues()

In Progress by Evgueni…

void calcCVMaps()

In Progress by Evgueni…