LSST Applications g063fba187b+66a50001ff,g0f08755f38+1a22dc2551,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g217e2c1bcf+12e87a5bd8,g246886dfd9+466c7b6c06,g28da252d5a+858b171e04,g2bbee38e9b+404b60ec9b,g2bc492864f+404b60ec9b,g3156d2b45e+6e55a43351,g347aa1857d+404b60ec9b,g35bb328faa+a8ce1bb630,g3a166c0a6a+404b60ec9b,g3e281a1b8c+c5dd892a6c,g414038480c+6b9177ef31,g41af890bb2+70bea58702,g599934f4f4+b8c5400ca5,g781aacb6e4+a8ce1bb630,g7af13505b9+b5b9cefdb8,g80478fca09+c2997882f3,g82479be7b0+8974e6af0f,g858d7b2824+1a22dc2551,g89c8672015+f4add4ffd5,g8f1c07a47a+de51c9b0a5,g9125e01d80+a8ce1bb630,ga5288a1d22+b66f8cf76b,gb58c049af0+d64f4d3760,gc28159a63d+404b60ec9b,gcab2d0539d+66cf1de5d4,gcf0d15dbbd+12cb7e2563,gda6a2b7d83+12cb7e2563,gdaeeff99f8+1711a396fd,ge79ae78c31+404b60ec9b,gef2f8181fd+414189b318,gf0baf85859+c1f95f4921,gf0c06eb49c+1a22dc2551,gfa517265be+1a22dc2551,gfa999e8aa5+17cd334064,v28.0.0.rc2
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.