LSST Applications g034a557a3c+dd8dd8f11d,g0afe43252f+b86e4b8053,g11f7dcd041+017865fdd3,g1cd03abf6b+8446defddb,g1ce3e0751c+f991eae79d,g28da252d5a+ca8a1a9fb3,g2bbee38e9b+b6588ad223,g2bc492864f+b6588ad223,g2cdde0e794+8523d0dbb4,g347aa1857d+b6588ad223,g35bb328faa+b86e4b8053,g3a166c0a6a+b6588ad223,g461a3dce89+b86e4b8053,g52b1c1532d+b86e4b8053,g7f3b0d46df+ad13c1b82d,g80478fca09+f29c5d6c70,g858d7b2824+293f439f82,g8cd86fa7b1+af721d2595,g965a9036f2+293f439f82,g979bb04a14+51ed57f74c,g9ddcbc5298+f24b38b85a,gae0086650b+b86e4b8053,gbb886bcc26+b97e247655,gc28159a63d+b6588ad223,gc30aee3386+a2f0f6cab9,gcaf7e4fdec+293f439f82,gcd45df26be+293f439f82,gcdd4ae20e8+70b5def7e6,gce08ada175+da9c58a417,gcf0d15dbbd+70b5def7e6,gdaeeff99f8+006e14e809,gdbce86181e+6a170ce272,ge3d4d395c2+224150c836,ge5f7162a3a+bb2241c923,ge6cb8fbbf7+d119aed356,ge79ae78c31+b6588ad223,gf048a9a2f4+40ffced2b8,gf0baf85859+b4cca3d10f,w.2024.30
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.