LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+0dd8ce4237,g1470d8bcf6+3ea6592b6f,g2079a07aa2+86d27d4dc4,g2305ad1205+5ca4c0b359,g295015adf3+d10818ec9d,g2a9a014e59+6f9be1b9cd,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+703ba97ebf,g487adcacf7+4fa16da234,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+ffa42b374e,g5a732f18d5+53520f316c,g64a986408d+0dd8ce4237,g858d7b2824+0dd8ce4237,g8a8a8dda67+585e252eca,g99cad8db69+d39438377f,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+f1d96605c8,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+e5339d463f,gc120e1dc64+da31e9920e,gc28159a63d+0e5473021a,gcf0d15dbbd+703ba97ebf,gdaeeff99f8+f9a426f77a,ge6526c86ff+889fc9d533,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf18bd8381d+7268b93478,gff1a9f87cc+0dd8ce4237,w.2024.16
LSST Data Management Base Package
|
A 2-d function defined by a series expansion and its coefficients. More...
#include <Function2d.h>
Public Types | |
using | iterator = double * |
using | const_iterator = double const * |
using | Basis = Basis_ |
The basis type used by this function. | |
using | Workspace = typename Basis::Workspace |
Type returned by makeWorkspace(). | |
Public Member Functions | |
Function2d (Basis const &basis) | |
Construct with zero-valued coefficients. | |
Function2d (Basis const &basis, Eigen::VectorXd const &coefficients) | |
Construct with coefficients from an Eigen object. | |
template<typename Iterator > | |
Function2d (Basis const &basis, Iterator first, Iterator last) | |
Construct by copying coefficients from an STL iterator range. | |
Function2d (Function2d const &)=default | |
Default copy constructor. | |
Function2d (Function2d &&)=default | |
Default move constructor. | |
Function2d & | operator= (Function2d const &)=default |
Default copy assignment. | |
Function2d & | operator= (Function2d &&)=default |
Default move assignment. | |
iterator | begin () |
Iterators over coefficients. | |
iterator | end () |
const_iterator | cbegin () const |
const_iterator | cend () const |
const_iterator | begin () const |
const_iterator | end () const |
Basis const & | getBasis () const |
Return the associated Basis2d object. | |
std::size_t | size () const |
Return the number of coefficients. | |
Workspace | makeWorkspace () const |
Allocate workspace that can be passed to operator() to avoid repeated memory allocations. | |
double | operator() (geom::Point2D const &point, SumMode mode=SumMode::FAST) const |
Evaluate the function at the given point. | |
double | operator() (geom::Point2D const &point, Workspace &workspace, SumMode mode=SumMode::FAST) const |
Evaluate the function at the given point. | |
double & | operator[] (std::size_t n) |
Return the coefficient associated with the nth basis function. | |
double const & | operator[] (std::size_t n) const |
auto | getCoefficients () |
Return the coefficient vector as an Eigen matrix-like object. | |
auto | getCoefficients () const |
Function2d< typename Basis::Scaled > | scaled (Scaling2d const &scaling) const |
Return a new function that applies the given scaling to all points before evaluation. | |
A 2-d function defined by a series expansion and its coefficients.
A Function1d combines a Basis2d that defines basis functions \(B_{n}(x, y)\) with a flattened vector of associated coefficients \(a_{n}\). The basis defines the order of coefficients. Evaluating the function computes
\[ \sum_{n}^{n \le N} a_{n} B_{n}(x, y) \]
Definition at line 42 of file Function2d.h.
using lsst::geom::polynomials::Function2d< Basis_ >::Basis = Basis_ |
The basis type used by this function.
Definition at line 49 of file Function2d.h.
using lsst::geom::polynomials::Function2d< Basis_ >::const_iterator = double const * |
Definition at line 46 of file Function2d.h.
using lsst::geom::polynomials::Function2d< Basis_ >::iterator = double * |
Definition at line 45 of file Function2d.h.
using lsst::geom::polynomials::Function2d< Basis_ >::Workspace = typename Basis::Workspace |
Type returned by makeWorkspace().
Definition at line 52 of file Function2d.h.
|
inlineexplicit |
Construct with zero-valued coefficients.
Definition at line 55 of file Function2d.h.
|
inlineexplicit |
Construct with coefficients from an Eigen object.
Definition at line 61 of file Function2d.h.
|
inlineexplicit |
Construct by copying coefficients from an STL iterator range.
Definition at line 70 of file Function2d.h.
|
default |
Default copy constructor.
|
default |
Default move constructor.
|
inline |
Iterators over coefficients.
Definition at line 92 of file Function2d.h.
|
inline |
Definition at line 96 of file Function2d.h.
|
inline |
Definition at line 94 of file Function2d.h.
|
inline |
Definition at line 95 of file Function2d.h.
|
inline |
Definition at line 93 of file Function2d.h.
|
inline |
Definition at line 97 of file Function2d.h.
|
inline |
Return the associated Basis2d object.
Definition at line 101 of file Function2d.h.
|
inline |
Return the coefficient vector as an Eigen matrix-like object.
The exact type of the returned object is unspecified, but it is guaranteed to be a view.
Definition at line 136 of file Function2d.h.
|
inline |
Definition at line 140 of file Function2d.h.
|
inline |
Allocate workspace that can be passed to operator() to avoid repeated memory allocations.
Definition at line 107 of file Function2d.h.
|
inline |
Evaluate the function at the given point.
Definition at line 110 of file Function2d.h.
|
inline |
Evaluate the function at the given point.
Definition at line 115 of file Function2d.h.
|
default |
Default move assignment.
|
default |
Default copy assignment.
|
inline |
Return the coefficient associated with the nth basis function.
Caller is responsible for ensuring that the given index is valid.
Definition at line 125 of file Function2d.h.
|
inline |
Definition at line 126 of file Function2d.h.
|
inline |
Return a new function that applies the given scaling to all points before evaluation.
Definition at line 144 of file Function2d.h.
|
inline |
Return the number of coefficients.
Definition at line 104 of file Function2d.h.