VandermondeTriangle

Vandermonde matrix for nodal-to-modal transformation on triangles.

Defined in Rodin/Variational/H1/Dubiner.h

template <
  size_t K>
class VandermondeTriangle;
Template parameters
K Polynomial degree.

Constructs and caches the Vandermonde matrix $ V $ where $ V_{ij} = \psi_j(x_i) $ with $ \psi_j $ being the j-th Dubiner mode and $ x_i $ the i-th Fekete node.

The nodal basis functions $ \phi_i $ are recovered from the modal basis via $ \phi_i(x) = \sum_j V^{-1}_{ij} \psi_j(x) $ .

Both $ V $ and $ V^{-1} $ are computed once and shared.

Public static functions

static auto getMatrix() -> const Math::Matrix<Real>&
Returns the Vandermonde matrix $ V $ .
static auto getInverse() -> const Math::Matrix<Real>&
Gets the inverse of the matrix.

Function documentation

static const Math::Matrix<Real>& getMatrix()

Returns the Vandermonde matrix $ V $ .

Returns Reference to the N×N Vandermonde matrix where N = (K+1)(K+2)/2.

The matrix is computed once and cached in immutable storage.

static const Math::Matrix<Real>& getInverse()

Gets the inverse of the matrix.

Returns The inverse of the matrix.