LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
A class that computes a matrix that applies a linear transform to a 2-d Hermite polynomial expansion. More...
#include <HermiteTransformMatrix.h>
Public Member Functions | |
Eigen::MatrixXd | compute (Eigen::Matrix2d const &transform) const |
Compute the matrix for a new linear transform. More... | |
Eigen::MatrixXd | compute (geom::LinearTransform const &transform) const |
Compute the matrix for a new linear transform. More... | |
Eigen::MatrixXd | compute (Eigen::Matrix2d const &transform, int order) const |
Compute the matrix for a new linear transform at the given order (must be <= getOrder()). More... | |
Eigen::MatrixXd | compute (geom::LinearTransform const &transform, int order) const |
Compute the matrix for a new linear transform at the given order (must be <= getOrder()). More... | |
Eigen::MatrixXd | getCoefficientMatrix () const |
Return the matrix that maps (1-d) regular polynomials to the alternate Hermite polynomials. More... | |
Eigen::MatrixXd | getInverseCoefficientMatrix () const |
Return the matrix that maps (1-d) alternate Hermite polynomials to regular polynomials. More... | |
int | getOrder () const |
Return the maximum order at which the matrix can be computed. More... | |
HermiteTransformMatrix (int order) | |
Construct an instance able to compute the transform matrix at up to the given order. More... | |
A class that computes a matrix that applies a linear transform to a 2-d Hermite polynomial expansion.
Let
\[ Z_{\boldsymbol{n}}\!(\boldsymbol{x}) \equiv \mathcal{H}_{n_0}\!(x_0)\;\mathcal{H}_{n_1}\!(x_1) \]
where
\[ \mathcal{H}_n(x)=(2^n \pi^{1/2} n!)^{-1/2}H_n(x) \]
is the \(i\)th "alternate" Hermite polynomial. This function computes the matrix \(\boldsymbol{Q}(\boldsymbol{U})\) given a linear transform \(\boldsymbol{U}\) such that
\[ Z_{\boldsymbol{m}}\!(\boldsymbol{U}\boldsymbol{x}) = \sum_{\boldsymbol{n}} Q_{\boldsymbol{m},\boldsymbol{n}}\!(\boldsymbol{U})\,Z_{\boldsymbol{n}}\!(\boldsymbol{x}) \]
Definition at line 54 of file HermiteTransformMatrix.h.
|
explicit |
Construct an instance able to compute the transform matrix at up to the given order.
|
inline |
Compute the matrix for a new linear transform.
Definition at line 58 of file HermiteTransformMatrix.h.
Eigen::MatrixXd lsst::shapelet::HermiteTransformMatrix::compute | ( | Eigen::Matrix2d const & | transform, |
int | order | ||
) | const |
Compute the matrix for a new linear transform at the given order (must be <= getOrder()).
|
inline |
Compute the matrix for a new linear transform.
Definition at line 63 of file HermiteTransformMatrix.h.
|
inline |
Compute the matrix for a new linear transform at the given order (must be <= getOrder()).
Definition at line 71 of file HermiteTransformMatrix.h.
|
inline |
Return the matrix that maps (1-d) regular polynomials to the alternate Hermite polynomials.
The matrix is always lower triangular, and has size equal to getOrder()+1.
Definition at line 80 of file HermiteTransformMatrix.h.
|
inline |
Return the matrix that maps (1-d) alternate Hermite polynomials to regular polynomials.
The matrix is always lower triangular, and has size equal to getOrder()+1.
Definition at line 87 of file HermiteTransformMatrix.h.
|
inline |
Return the maximum order at which the matrix can be computed.
Definition at line 90 of file HermiteTransformMatrix.h.