LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | List of all members
lsst::shapelet::HermiteTransformMatrix Class Reference

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.
 
Eigen::MatrixXd compute (geom::LinearTransform const &transform) const
 Compute the matrix for a new linear transform.
 
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()).
 
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()).
 
Eigen::MatrixXd getCoefficientMatrix () const
 Return the matrix that maps (1-d) regular polynomials to the alternate Hermite polynomials.
 
Eigen::MatrixXd getInverseCoefficientMatrix () const
 Return the matrix that maps (1-d) alternate Hermite polynomials to regular polynomials.
 
int getOrder () const
 Return the maximum order at which the matrix can be computed.
 
 HermiteTransformMatrix (int order)
 Construct an instance able to compute the transform matrix at up to the given order.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ HermiteTransformMatrix()

lsst::shapelet::HermiteTransformMatrix::HermiteTransformMatrix ( int order)
explicit

Construct an instance able to compute the transform matrix at up to the given order.

Member Function Documentation

◆ compute() [1/4]

Eigen::MatrixXd lsst::shapelet::HermiteTransformMatrix::compute ( Eigen::Matrix2d const & transform) const
inline

Compute the matrix for a new linear transform.

Definition at line 58 of file HermiteTransformMatrix.h.

58 {
59 return compute(transform, _order);
60 }
Eigen::MatrixXd compute(Eigen::Matrix2d const &transform) const
Compute the matrix for a new linear transform.

◆ compute() [2/4]

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()).

◆ compute() [3/4]

Eigen::MatrixXd lsst::shapelet::HermiteTransformMatrix::compute ( geom::LinearTransform const & transform) const
inline

Compute the matrix for a new linear transform.

Definition at line 63 of file HermiteTransformMatrix.h.

63 {
64 return compute(transform.getMatrix(), _order);
65 }

◆ compute() [4/4]

Eigen::MatrixXd lsst::shapelet::HermiteTransformMatrix::compute ( geom::LinearTransform const & transform,
int order ) const
inline

Compute the matrix for a new linear transform at the given order (must be <= getOrder()).

Definition at line 71 of file HermiteTransformMatrix.h.

71 {
72 return compute(transform.getMatrix(), order);
73 }
table::Key< int > order

◆ getCoefficientMatrix()

Eigen::MatrixXd lsst::shapelet::HermiteTransformMatrix::getCoefficientMatrix ( ) const
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.

80{ return _coeffFwd; }

◆ getInverseCoefficientMatrix()

Eigen::MatrixXd lsst::shapelet::HermiteTransformMatrix::getInverseCoefficientMatrix ( ) const
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.

87{ return _coeffInv; }

◆ getOrder()

int lsst::shapelet::HermiteTransformMatrix::getOrder ( ) const
inline

Return the maximum order at which the matrix can be computed.

Definition at line 90 of file HermiteTransformMatrix.h.

90{ return _order; }

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