|
lsst.afw g3a5ebb7d8a+28b83bf6a5
|
#include <Spline.h>
Public Types | |
| enum | Symmetry { Unknown , Odd , Even } |
Public Member Functions | |
| TautSpline (std::vector< double > const &x, std::vector< double > const &y, double const gamma=0, Symmetry type=Unknown) | |
| Construct cubic spline interpolant to given data. | |
| void | interpolate (std::vector< double > const &x, std::vector< double > &y) const |
| Interpolate a Spline. | |
| void | derivative (std::vector< double > const &x, std::vector< double > &dydx) const |
| Find the derivative of a Spline. | |
| std::vector< double > | roots (double const value, double const x0, double const x1) const |
| Find the roots of Spline - val = 0 in the range [x0, x1). | |
Protected Member Functions | |
| void | _allocateSpline (int const nknot) |
| Allocate the storage a Spline needs. | |
Protected Attributes | |
| std::vector< double > | _knots |
| std::vector< std::vector< double > > | _coeffs |
| lsst::afw::math::detail::TautSpline::TautSpline | ( | std::vector< double > const & | x, |
| std::vector< double > const & | y, | ||
| double const | gamma = 0, | ||
| Symmetry | type = Unknown ) |
Construct cubic spline interpolant to given data.
Adapted from A Practical Guide to Splines by C. de Boor (N.Y. : Springer-Verlag, 1978). (His routine tautsp converted to C by Robert Lupton and then to C++ by an older and grayer Robert Lupton)
If gamma > 0, additional knots are introduced where needed to make the interpolant more flexible locally. This avoids extraneous inflection points typical of cubic spline interpolation at knots to rapidly changing data. Values for gamma are:
| x | points where function's specified |
| y | values of function at tau[] |
| gamma | control extra knots. See main description for details. |
| type | specify the desired symmetry (e.g. Even) |
| pex::exceptions::InvalidParameterError | Thrown if x and y do not have the same length or do not have at least two points |
|
protectedinherited |
|
inherited |
|
inherited |
| [in] | x | points to interpolate at |
| [out] | y | values of spline interpolation at x |
|
inherited |
|
protectedinherited |
|
protectedinherited |