lsst.shapelet
gc794cbe0cf+cb1993dea9
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
shapelet
ConversionMatrix.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010, 2011 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
25
#ifndef LSST_AFW_MATH_SHAPELETS_CONVERSIONMATRIX_H
26
#define LSST_AFW_MATH_SHAPELETS_CONVERSIONMATRIX_H
27
28
29
#include "
lsst/afw/geom/ellipses.h
"
30
#include "ndarray.h"
31
#include "
lsst/shapelet/constants.h
"
32
33
namespace
lsst
{
namespace
shapelet
{
34
42
class
ConversionMatrix
{
43
public
:
44
46
Eigen::MatrixXd
getBlock
(
int
n)
const
;
47
49
Eigen::MatrixXd
buildDenseMatrix
()
const
;
50
52
void
multiplyOnLeft
(ndarray::Array<double,1>
const
& array)
const
;
53
55
void
multiplyOnRight
(ndarray::Array<double,1>
const
& array)
const
;
56
58
explicit
ConversionMatrix
(
BasisTypeEnum
input,
BasisTypeEnum
output,
int
order);
59
61
static
void
convertCoefficientVector
(
62
ndarray::Array<double,1>
const
& array,
63
BasisTypeEnum
input,
64
BasisTypeEnum
output,
int
order
65
);
66
68
static
void
convertOperationVector
(
69
ndarray::Array<double,1>
const
& array,
70
BasisTypeEnum
input,
71
BasisTypeEnum
output,
int
order
72
);
73
74
private
:
75
int
_order;
76
BasisTypeEnum
_input;
77
BasisTypeEnum
_output;
78
};
79
80
81
}}
// namespace lsst::shapelet
82
83
#endif
// !defined(LSST_AFW_MATH_SHAPELETS_CONVERSIONMATRIX_H)
lsst::shapelet::ConversionMatrix::multiplyOnLeft
void multiplyOnLeft(ndarray::Array< double, 1 > const &array) const
Multiply the given array by the conversion matrix on the left in-place.
lsst::shapelet::ConversionMatrix::buildDenseMatrix
Eigen::MatrixXd buildDenseMatrix() const
Construct the full conversion matrix (should just be used for testing).
lsst::shapelet::ConversionMatrix::convertCoefficientVector
static void convertCoefficientVector(ndarray::Array< double, 1 > const &array, BasisTypeEnum input, BasisTypeEnum output, int order)
Convert a coefficient vector between basis types in-place.
lsst::shapelet::ConversionMatrix::ConversionMatrix
ConversionMatrix(BasisTypeEnum input, BasisTypeEnum output, int order)
Construct a conversion matrix that maps the input basis to the output basis.
lsst::shapelet::ConversionMatrix::getBlock
Eigen::MatrixXd getBlock(int n) const
Return a block of the block-diagonal conversion matrix.
lsst::shapelet::ConversionMatrix::convertOperationVector
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.
lsst::shapelet::ConversionMatrix::multiplyOnRight
void multiplyOnRight(ndarray::Array< double, 1 > const &array) const
Multiply the given array by the conversion matrix on the right in-place.
lsst::shapelet.constants.constantsContinued.BasisTypeEnum
Definition
constantsContinued.py:9
constants.h
Constants, typedefs, and general-purpose functions for shapelets library.
ellipses.h
lsst::shapelet
Definition
BasisEvaluator.h:37
lsst
Generated on
for lsst.shapelet by
1.17.0