|
LSST Applications g00d0e8bbd7+8c5ae1fdc5,g013ef56533+603670b062,g083dd6704c+2e189452a7,g199a45376c+0ba108daf9,g1c5cce2383+bc9f6103a4,g1fd858c14a+cd69ed4fc1,g210f2d0738+c4742f2e9e,g262e1987ae+612fa42d85,g29ae962dfc+83d129e820,g2cef7863aa+aef1011c0b,g35bb328faa+8c5ae1fdc5,g3fd5ace14f+5eaa884f2a,g47891489e3+e32160a944,g53246c7159+8c5ae1fdc5,g5b326b94bb+dcc56af22d,g64539dfbff+c4742f2e9e,g67b6fd64d1+e32160a944,g74acd417e5+c122e1277d,g786e29fd12+668abc6043,g87389fa792+8856018cbb,g88cb488625+47d24e4084,g89139ef638+e32160a944,g8d7436a09f+d14b4ff40a,g8ea07a8fe4+b212507b11,g90f42f885a+e1755607f3,g97be763408+34be90ab8c,g98df359435+ec1fa61bf1,ga2180abaac+8c5ae1fdc5,ga9e74d7ce9+43ac651df0,gbf99507273+8c5ae1fdc5,gc2a301910b+c4742f2e9e,gca7fc764a6+e32160a944,gd7ef33dd92+e32160a944,gdab6d2f7ff+c122e1277d,gdb1e2cdc75+1b18322db8,ge410e46f29+e32160a944,ge41e95a9f2+c4742f2e9e,geaed405ab2+0d91c11c6d,w.2025.44
LSST Data Management Base Package
|
A 1-d basis that transforms all input points before evaluating nested basis. More...
#include <ScaledBasis1d.h>
Public Types | |
| using | Function = Function1d<ScaledBasis1d> |
| A Function1d object that uses this basis. | |
| using | Scaled = ScaledBasis1d<Nested> |
| The type returned by scale(). | |
Public Member Functions | |
| ScaledBasis1d (Nested const &nested, Scaling1d const &scaling) | |
| Construct a scaled basis from a nested basis and a scaling transform. | |
| ScaledBasis1d (std::size_t order, double min, double max) | |
| Construct a basis that remaps the given interval to [-1, 1] before evaluating the nested basis. | |
| ScaledBasis1d (ScaledBasis1d const &)=default | |
| Default copy constructor. | |
| ScaledBasis1d (ScaledBasis1d &&)=default | |
| Default move constructor. | |
| ScaledBasis1d & | operator= (ScaledBasis1d const &)=default |
| Default copy assignment. | |
| ScaledBasis1d & | operator= (ScaledBasis1d &&)=default |
| Default move assignment. | |
| Nested const & | getNested () const noexcept |
| Return the nested basis. | |
| Scaling1d const & | getScaling () const noexcept |
| Return the scaling transform. | |
| std::size_t | getOrder () const |
| Return the order of the basis. | |
| std::size_t | size () const |
| Return the number of elements in the basis. | |
| Scaled | scaled (Scaling1d const &first) const |
| Return a further-scaled basis with the same order. | |
| template<typename Vector> | |
| double | sumWith (double x, Vector const &coefficients, SumMode mode=SumMode::FAST) const |
| Evaluate a basis expansion with the given coefficients. | |
| template<typename Vector> | |
| void | fill (double x, Vector &&basis) const |
| Evaluate the basis at a given point. | |
A 1-d basis that transforms all input points before evaluating nested basis.
If the nested basis is defined by basis functions \(B_n(x)\), the scaled basis functions are \(B_n(S(x))\), where \(S(x)\) is the scaling transform.
Both the nested basis and ScaledBasis1d itself are models of the Basis1d concept.
Definition at line 44 of file ScaledBasis1d.h.
| using lsst::geom::polynomials::ScaledBasis1d< Nested >::Function = Function1d<ScaledBasis1d> |
A Function1d object that uses this basis.
Definition at line 48 of file ScaledBasis1d.h.
| using lsst::geom::polynomials::ScaledBasis1d< Nested >::Scaled = ScaledBasis1d<Nested> |
The type returned by scale().
Definition at line 51 of file ScaledBasis1d.h.
|
inlineexplicit |
Construct a scaled basis from a nested basis and a scaling transform.
Definition at line 54 of file ScaledBasis1d.h.
|
inline |
Construct a basis that remaps the given interval to [-1, 1] before evaluating the nested basis.
| [in] | order | Maximum order of the basis (inclusive). |
| [in] | min | Minimum point of the interval, mapped to -1. |
| [in] | max | Maximum point of the interval, mapped to 1. |
This constructor is particularly useful for Chebyshev polynomials, for which most of the special functions of the basis are only active when the domain is limited to [-1, 1].
This signature requires that Nested(order) be a valid constructor.
Definition at line 73 of file ScaledBasis1d.h.
|
default |
Default copy constructor.
|
default |
Default move constructor.
|
inline |
Evaluate the basis at a given point.
| [in] | x | Point at which to evaluate the basis functions. |
| [out] | basis | Output vector. See Basis1d::fill more information. |
coefficients[n] does, and provides basic exception safety if it does. Definition at line 146 of file ScaledBasis1d.h.
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
default |
Default move assignment.
|
default |
Default copy assignment.
|
inline |
Return a further-scaled basis with the same order.
The scaled basis will transform all points by the given scaling before evaluating the basis functions in the same way as this.
Definition at line 108 of file ScaledBasis1d.h.
|
inline |
|
inline |
Evaluate a basis expansion with the given coefficients.
If the basis elements are \(B_n(x)\) and the given coefficients are a vector \(a_n\), this computes
\[ \sum_{n = 0}^{n \le N} a_n B_n(x) \]
| [in] | x | Point at which to evaluate the expansion. |
| [in] | coefficients | Coefficients vector. See Basis1d::sumWith for more information. |
| [in] | mode | Enum indicating the tradeoff to make between speed and numerical precision. |
coefficients[n] does, and provides the same exception safety as it if it does. Definition at line 131 of file ScaledBasis1d.h.