LSST Applications g0000d66e7c+4a51730b0a,g0485b4d2cb+be65c9c1d7,g0fba68d861+f95c35e0c3,g1ec0fe41b4+3ea9d11450,g1fd858c14a+41d169aaf2,g2440f9efcc+8c5ae1fdc5,g35bb328faa+8c5ae1fdc5,g4d2262a081+30937b6477,g53246c7159+8c5ae1fdc5,g55585698de+c657de43f9,g56a49b3a55+7eddd92ad8,g60b5630c4e+c657de43f9,g67b6fd64d1+97cc007aa2,g78460c75b0+7e33a9eb6d,g786e29fd12+668abc6043,g7ac00fbb6c+9304e3655a,g8352419a5c+8c5ae1fdc5,g8852436030+3f3bba821f,g89139ef638+97cc007aa2,g94187f82dc+c657de43f9,g989de1cb63+97cc007aa2,g9d31334357+c657de43f9,g9f33ca652e+06d39d8afb,ga815be3f0b+8e7c4d07ad,gabe3b4be73+8856018cbb,gabf8522325+977d9fabaf,gb1101e3267+12c96a40b1,gb89ab40317+97cc007aa2,gc91f06edcd+2ffb87f22b,gcf25f946ba+3f3bba821f,gd6cbbdb0b4+1cc2750d2e,gde0f65d7ad+bbe98f05bf,ge278dab8ac+6b863515ed,ge410e46f29+97cc007aa2,gf35d7ec915+97dd712d81,gf5e32f922b+8c5ae1fdc5,gf67bdafdda+97cc007aa2,gf6800124b1+bb7d8e732a,w.2025.19
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.