#include <GBasis_2D.hpp>
◆ Compute()
| GBasis_Data Polydim::Utilities::GBasis_2D::Compute |
( |
const unsigned int |
polynomial_degree | ) |
|
Build the vector polynomial G-basis of a given degree.
Assembles all quantities needed to represent the vector polynomial space \([\mathbb{P}_k]^2\) through its decomposition \(\mathcal{G}_k^\nabla \oplus \mathcal{G}_k^\oplus\), where \(\mathcal{G}_k^\nabla = \nabla \mathbb{P}_{k+1}\) and \(\mathcal{G}_k^\oplus = \boldsymbol{x}^{\perp}\,\mathbb{P}_{k-1}\) with \(\boldsymbol{x}^{\perp} = (x_2, -x_1)\).
- Parameters
-
| polynomial_degree | Maximum polynomial degree \(k\) of the basis. |
- Returns
- A fully populated Polydim::Utilities::GBasis_Data structure, including the space dimensions ( \(N_k\), \(N_{k-1}\), \(N_{k+1}\), and the sizes of the \(\mathcal{G}^\oplus\) and \(\mathcal{G}^\nabla\) blocks), the exponent matrix, and the vector-decomposition maps.
◆ VanderGBigOPlus()
| std::vector< Eigen::MatrixXd > Polydim::Utilities::GBasis_2D::VanderGBigOPlus |
( |
const Polydim::Utilities::GBasis_Data & |
data, |
|
|
const Eigen::MatrixXd & |
vander |
|
) |
| const |
|
inline |
Evaluate the Vandermonde matrix of the \(\mathcal{G}_k^\oplus\) block.
Builds the two Cartesian components of the Vandermonde matrix of \(\mathcal{G}_k^\oplus = \boldsymbol{x}^{\perp}\,\mathbb{P}_{k-1}\), obtained by multiplying each scalar monomial of \(\mathbb{P}_{k-1}\) by \(\boldsymbol{x}^{\perp} = (x_2, -x_1)\). Concretely, the first \(N_{k-1}\) columns of vander (the \(\mathbb{P}_{k-1}\) monomials) are scaled column-wise by \(x_2\) for the first component and by \(-x_1\) for the second, where \(x_1\) and \(x_2\) are the linear monomials stored in columns 1 and 2 of vander.
- Parameters
-
| data | Precomputed G-basis data; only Nkm1 ( \(N_{k-1}\)) is used here. |
| vander | Vandermonde matrix of the scalar monomial basis evaluated at the evaluation points (one row per point); column 1 holds \(x_1\), column 2 holds \(x_2\), and the leading \(N_{k-1}\) columns hold the \(\mathbb{P}_{k-1}\) monomials. |
- Returns
- A vector of two
Eigen::MatrixXd (x- and y-components), each of size vander.rows() \(\times\) data.Nkm1, forming the Vandermonde matrix of \(\mathcal{G}_k^\oplus\).
The documentation for this class was generated from the following files: