![]() |
QMCPACK
|
Go to the source code of this file.
Functions | |
template<typename T > | |
void | CubicSplineSolve (T const *x, T const *y, int n, T yp0, T ypn, T *y2) |
Solve for second derivatives for cubic splines. More... | |
template<typename Tg , typename T > | |
void | QuinticSplineSolve (int N, const Tg *X, T *Y, T *B, T *C, T *D, T *E, T *F) |
template function: note that the range of data is [0,n) instead of [1,n] solve the linear system for the first and second derivatives Copy of routine from: "One dimensional spline interpolation algorithms" by Helmuth Spath QUINAT routine More... | |
void CubicSplineSolve | ( | T const * | x, |
T const * | y, | ||
int | n, | ||
T | yp0, | ||
T | ypn, | ||
T * | y2 | ||
) |
Solve for second derivatives for cubic splines.
[in] | x | location of knots |
[in] | y | values of function at knots |
[in] | n | number of values (size of x,y, and y2) |
[in] | yp0 | boundary condition at start of interval - first derivative or natural BC (second derivative equals 0) if yp0 > 1e30) |
[in] | ypn | boundary condition at end of interval - first derivative or natural BC (second derivative equals 0) if ypn > 1e30) |
[out] | y2 | second derivative at each knot |
Definition at line 33 of file SplineSolvers.h.
References qmcplusplus::n.
Referenced by OneDimCubicSpline< T >::spline(), and qmcplusplus::TEST_CASE().
|
inline |
template function: note that the range of data is [0,n) instead of [1,n] solve the linear system for the first and second derivatives Copy of routine from: "One dimensional spline interpolation algorithms" by Helmuth Spath QUINAT routine
Definition at line 78 of file SplineSolvers.h.
References qmcplusplus::abs(), B(), qmcplusplus::Units::charge::C, and qmcplusplus::Units::force::N.
Referenced by OneDimQuinticSpline< Td, Tg, CTd, CTg >::spline().