LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
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.