Class ConversionMatrix¶
Defined in File ConversionMatrix.h
Class Documentation¶
-
class
ConversionMatrix
¶ Conversions between shapelet basis types.
The basis conversion matrix is block-diagonal and only needs to be computed once, so we cache the blocks in a hidden singleton and provide operations that act on shapelet matrices while taking advantage of the sparseness of the conversion.
Public Functions
-
Eigen::MatrixXd
getBlock
(int n) const¶ Return a block of the block-diagonal conversion matrix.
-
Eigen::MatrixXd
buildDenseMatrix
() const¶ Construct the full conversion matrix (should just be used for testing).
-
void
multiplyOnLeft
(ndarray::Array<double, 1> const &array) const¶ Multiply the given array by the conversion matrix on the left in-place.
-
void
multiplyOnRight
(ndarray::Array<double, 1> const &array) const¶ Multiply the given array by the conversion matrix on the right in-place.
-
ConversionMatrix
(BasisTypeEnum input, BasisTypeEnum output, int order)¶ Construct a conversion matrix that maps the input basis to the output basis.
Public Static Functions
-
static void
convertCoefficientVector
(ndarray::Array<double, 1> const &array, BasisTypeEnum input, BasisTypeEnum output, int order)¶ Convert a coefficient vector between basis types in-place.
-
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.
-
Eigen::MatrixXd