lsst.geom  21.0.0-2-g8f08a60+73884b2cf5
Public Types | Public Member Functions | List of all members
lsst::geom::polynomials::Function1d< Basis_ > Class Template Reference

A 1-d function defined by a series expansion and its coefficients. More...

#include <Function1d.h>

Public Types

using iterator = double *
 
using const_iterator = double const *
 
using Basis = Basis_
 The basis type used by this function. More...
 

Public Member Functions

 Function1d (Basis const &basis)
 Construct with zero-valued coefficients. More...
 
 Function1d (Basis const &basis, Eigen::VectorXd const &coefficients)
 Construct with coefficients from an Eigen object. More...
 
template<typename Iterator >
 Function1d (Basis const &basis, Iterator first, Iterator last)
 Construct by copying coefficients from an STL iterator range. More...
 
 Function1d (Function1d const &)=default
 Default copy constructor. More...
 
 Function1d (Function1d &&)=default
 Default move constructor. More...
 
Function1doperator= (Function1d const &)=default
 Default copy assignment. More...
 
Function1doperator= (Function1d &&)=default
 Default move assignment. More...
 
iterator begin ()
 Iterators over coefficients. More...
 
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 Basis1d object. More...
 
std::size_t size () const
 Return the number of coefficients. More...
 
double operator() (double x, SumMode mode=SumMode::FAST) const
 Evaluate the function at the given point. More...
 
double & operator[] (std::size_t n)
 Return the coefficient associated with the nth basis function. More...
 
double const & operator[] (std::size_t n) const
 
auto getCoefficients ()
 Return the coefficient vector as an Eigen matrix-like object. More...
 
auto getCoefficients () const
 
Function1d< typename Basis::Scaled > scaled (Scaling1d const &scaling) const
 Return a new function that applies the given scaling to all points before evaluation. More...
 

Detailed Description

template<typename Basis_>
class lsst::geom::polynomials::Function1d< Basis_ >

A 1-d function defined by a series expansion and its coefficients.

A Function1d combines a Basis1d that defines basis functions \(B_n(x)\) with a vector of associated coefficients \(a_n\). Evaluating the function computes

\[ \sum_{n=0}^{n \le N} a_n B_n(x) \]

Definition at line 42 of file Function1d.h.

Member Typedef Documentation

◆ Basis

template<typename Basis_ >
using lsst::geom::polynomials::Function1d< Basis_ >::Basis = Basis_

The basis type used by this function.

Definition at line 49 of file Function1d.h.

◆ const_iterator

template<typename Basis_ >
using lsst::geom::polynomials::Function1d< Basis_ >::const_iterator = double const *

Definition at line 46 of file Function1d.h.

◆ iterator

template<typename Basis_ >
using lsst::geom::polynomials::Function1d< Basis_ >::iterator = double *

Definition at line 45 of file Function1d.h.

Constructor & Destructor Documentation

◆ Function1d() [1/5]

template<typename Basis_ >
lsst::geom::polynomials::Function1d< Basis_ >::Function1d ( Basis const &  basis)
inlineexplicit

Construct with zero-valued coefficients.

Definition at line 52 of file Function1d.h.

◆ Function1d() [2/5]

template<typename Basis_ >
lsst::geom::polynomials::Function1d< Basis_ >::Function1d ( Basis const &  basis,
Eigen::VectorXd const &  coefficients 
)
inline

Construct with coefficients from an Eigen object.

Definition at line 58 of file Function1d.h.

◆ Function1d() [3/5]

template<typename Basis_ >
template<typename Iterator >
lsst::geom::polynomials::Function1d< Basis_ >::Function1d ( Basis const &  basis,
Iterator  first,
Iterator  last 
)
inline

Construct by copying coefficients from an STL iterator range.

Definition at line 67 of file Function1d.h.

◆ Function1d() [4/5]

template<typename Basis_ >
lsst::geom::polynomials::Function1d< Basis_ >::Function1d ( Function1d< Basis_ > const &  )
default

Default copy constructor.

◆ Function1d() [5/5]

template<typename Basis_ >
lsst::geom::polynomials::Function1d< Basis_ >::Function1d ( Function1d< Basis_ > &&  )
default

Default move constructor.

Member Function Documentation

◆ begin() [1/2]

template<typename Basis_ >
iterator lsst::geom::polynomials::Function1d< Basis_ >::begin ( )
inline

Iterators over coefficients.

Definition at line 89 of file Function1d.h.

◆ begin() [2/2]

template<typename Basis_ >
const_iterator lsst::geom::polynomials::Function1d< Basis_ >::begin ( ) const
inline

Definition at line 93 of file Function1d.h.

◆ cbegin()

template<typename Basis_ >
const_iterator lsst::geom::polynomials::Function1d< Basis_ >::cbegin ( ) const
inline

Definition at line 91 of file Function1d.h.

◆ cend()

template<typename Basis_ >
const_iterator lsst::geom::polynomials::Function1d< Basis_ >::cend ( ) const
inline

Definition at line 92 of file Function1d.h.

◆ end() [1/2]

template<typename Basis_ >
iterator lsst::geom::polynomials::Function1d< Basis_ >::end ( )
inline

Definition at line 90 of file Function1d.h.

◆ end() [2/2]

template<typename Basis_ >
const_iterator lsst::geom::polynomials::Function1d< Basis_ >::end ( ) const
inline

Definition at line 94 of file Function1d.h.

◆ getBasis()

template<typename Basis_ >
Basis const& lsst::geom::polynomials::Function1d< Basis_ >::getBasis ( ) const
inline

Return the associated Basis1d object.

Definition at line 98 of file Function1d.h.

◆ getCoefficients() [1/2]

template<typename Basis_ >
auto lsst::geom::polynomials::Function1d< Basis_ >::getCoefficients ( )
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 125 of file Function1d.h.

◆ getCoefficients() [2/2]

template<typename Basis_ >
auto lsst::geom::polynomials::Function1d< Basis_ >::getCoefficients ( ) const
inline

Definition at line 129 of file Function1d.h.

◆ operator()()

template<typename Basis_ >
double lsst::geom::polynomials::Function1d< Basis_ >::operator() ( double  x,
SumMode  mode = SumMode::FAST 
) const
inline

Evaluate the function at the given point.

Definition at line 104 of file Function1d.h.

◆ operator=() [1/2]

template<typename Basis_ >
Function1d& lsst::geom::polynomials::Function1d< Basis_ >::operator= ( Function1d< Basis_ > &&  )
default

Default move assignment.

◆ operator=() [2/2]

template<typename Basis_ >
Function1d& lsst::geom::polynomials::Function1d< Basis_ >::operator= ( Function1d< Basis_ > const &  )
default

Default copy assignment.

◆ operator[]() [1/2]

template<typename Basis_ >
double& lsst::geom::polynomials::Function1d< Basis_ >::operator[] ( std::size_t  n)
inline

Return the coefficient associated with the nth basis function.

Caller is responsible for ensuring that the given index is valid.

Definition at line 114 of file Function1d.h.

◆ operator[]() [2/2]

template<typename Basis_ >
double const& lsst::geom::polynomials::Function1d< Basis_ >::operator[] ( std::size_t  n) const
inline

Definition at line 115 of file Function1d.h.

◆ scaled()

template<typename Basis_ >
Function1d<typename Basis::Scaled> lsst::geom::polynomials::Function1d< Basis_ >::scaled ( Scaling1d const &  scaling) const
inline

Return a new function that applies the given scaling to all points before evaluation.

Definition at line 133 of file Function1d.h.

◆ size()

template<typename Basis_ >
std::size_t lsst::geom::polynomials::Function1d< Basis_ >::size ( ) const
inline

Return the number of coefficients.

Definition at line 101 of file Function1d.h.


The documentation for this class was generated from the following file: