25 #ifndef LSST_AFW_MATH_SHAPELETS_CONVERSIONMATRIX_H
26 #define LSST_AFW_MATH_SHAPELETS_CONVERSIONMATRIX_H
33 namespace lsst {
namespace shapelet {
62 ndarray::Array<double,1>
const & array,
69 ndarray::Array<double,1>
const & array,
Conversions between shapelet basis types.
void multiplyOnLeft(ndarray::Array< double, 1 > const &array) const
Multiply the given array by the conversion matrix on the left in-place.
Eigen::MatrixXd buildDenseMatrix() const
Construct the full conversion matrix (should just be used for testing).
static void convertCoefficientVector(ndarray::Array< double, 1 > const &array, BasisTypeEnum input, BasisTypeEnum output, int order)
Convert a coefficient vector between basis types in-place.
ConversionMatrix(BasisTypeEnum input, BasisTypeEnum output, int order)
Construct a conversion matrix that maps the input basis to the output basis.
Eigen::MatrixXd getBlock(int n) const
Return a block of the block-diagonal conversion matrix.
static void convertOperationVector(ndarray::Array< double, 1 > const &array, BasisTypeEnum input, BasisTypeEnum output, int order)
Convert an operation (evaluation, integration) vector between basis types in-place.
void multiplyOnRight(ndarray::Array< double, 1 > const &array) const
Multiply the given array by the conversion matrix on the right in-place.
Constants, typedefs, and general-purpose functions for shapelets library.
BasisTypeEnum
An enum that sets whether to use real-valued polar shapelets or Cartesian shapelets.