OpenMM

SplineFitter provides routines for performing cubic spline interpolation. More...
#include <SplineFitter.h>
Static Public Member Functions  
static void  createNaturalSpline (const std::vector< double > &x, const std::vector< double > &y, std::vector< double > &deriv) 
Fit a natural cubic spline to a set of data points. More...  
static void  createPeriodicSpline (const std::vector< double > &x, const std::vector< double > &y, std::vector< double > &deriv) 
Fit a periodic cubic spline to a set of data points. More...  
static double  evaluateSpline (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &deriv, double t) 
Evaluate a 1D spline generated by one of the other methods in this class. More...  
static double  evaluateSplineDerivative (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &deriv, double t) 
Evaluate the derivative of a 1D spline generated by one of the other methods in this class. More...  
static void  create2DNaturalSpline (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &values, std::vector< std::vector< double > > &c) 
Fit a natural cubic spline surface f(x,y) to a 2D set of data points. More...  
static double  evaluate2DSpline (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &values, const std::vector< std::vector< double > > &c, double u, double v) 
Evaluate a 2D spline generated by one of the other methods in this class. More...  
static void  evaluate2DSplineDerivatives (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &values, const std::vector< std::vector< double > > &c, double u, double v, double &dx, double &dy) 
Evaluate the derivatives of a 2D spline generated by one of the other methods in this class. More...  
static void  create3DNaturalSpline (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, const std::vector< double > &values, std::vector< std::vector< double > > &c) 
Fit a natural cubic spline surface f(x,y,z) to a 3D set of data points. More...  
static double  evaluate3DSpline (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, const std::vector< double > &values, const std::vector< std::vector< double > > &c, double u, double v, double w) 
Evaluate a 3D spline generated by one of the other methods in this class. More...  
static void  evaluate3DSplineDerivatives (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, const std::vector< double > &values, const std::vector< std::vector< double > > &c, double u, double v, double w, double &dx, double &dy, double &dz) 
Evaluate the derivatives of a 3D spline generated by one of the other methods in this class. More...  
SplineFitter provides routines for performing cubic spline interpolation.

static 
Fit a natural cubic spline surface f(x,y) to a 2D set of data points.
The resulting spline interpolates all the data points, has a continuous second derivative everywhere, and has a second derivative of 0 at the boundary.
x  the values of the first independent variable at the data points to interpolate. They must be strictly increasing: x[i] > x[i1]. 
y  the values of the second independent variable at the data points to interpolate. They must be strictly increasing: y[i] > y[i1]. 
values  the values of the dependent variable at the data points to interpolate. They must be ordered so that values[i+xsize*j] = f(x[i],y[j]), where xsize is the length of x. 
c  on exit, this contains the spline coefficients at each of the data points 

static 
Fit a natural cubic spline surface f(x,y,z) to a 3D set of data points.
The resulting spline interpolates all the data points, has a continuous second derivative everywhere, and has a second derivative of 0 at the boundary.
x  the values of the first independent variable at the data points to interpolate. They must be strictly increasing: x[i] > x[i1]. 
y  the values of the second independent variable at the data points to interpolate. They must be strictly increasing: y[i] > y[i1]. 
z  the values of the third independent variable at the data points to interpolate. They must be strictly increasing: z[i] > z[i1]. 
values  the values of the dependent variable at the data points to interpolate. They must be ordered so that values[i+xsize*j+xsize*ysize*k] = f(x[i],y[j],z[k]), where xsize is the length of x and ysize is the length of y. 
c  on exit, this contains the spline coefficients at each of the data points 

static 
Fit a natural cubic spline to a set of data points.
The resulting spline interpolates all the data points, has a continuous second derivative everywhere, and has a second derivative of 0 at its end points.
x  the values of the independent variable at the data points to interpolate. They must be strictly increasing: x[i] > x[i1]. 
y  the values of the dependent variable at the data points to interpolate 
deriv  on exit, this contains the second derivative of the spline at each of the data points 

static 
Fit a periodic cubic spline to a set of data points.
The resulting spline interpolates all the data points, has a continuous second derivative everywhere, and has identical second derivatives at the end points.
x  the values of the independent variable at the data points to interpolate. They must be strictly increasing: x[i] > x[i1]. 
y  the values of the dependent variable at the data points to interpolate. The first and last entries must be identical. 
deriv  on exit, this contains the second derivative of the spline at each of the data points 

static 
Evaluate a 2D spline generated by one of the other methods in this class.
x  the values of the first independent variable at the data points to interpolate 
y  the values of the second independent variable at the data points to interpolate 
values  the values of the dependent variable at the data points to interpolate 
c  the vector of spline coefficients that was calculated by one of the other methods 
u  the value of the first independent variable at which to evaluate the spline 
v  the value of the second independent variable at which to evaluate the spline 

static 
Evaluate the derivatives of a 2D spline generated by one of the other methods in this class.
x  the values of the first independent variable at the data points to interpolate 
y  the values of the second independent variable at the data points to interpolate 
values  the values of the dependent variable at the data points to interpolate 
c  the vector of spline coefficients that was calculated by one of the other methods 
u  the value of the first independent variable at which to evaluate the spline 
v  the value of the second independent variable at which to evaluate the spline 
dx  on exit, the x derivative of the spline at the specified point 
dy  on exit, the y derivative of the spline at the specified point 

static 
Evaluate a 3D spline generated by one of the other methods in this class.
x  the values of the first independent variable at the data points to interpolate 
y  the values of the second independent variable at the data points to interpolate 
z  the values of the third independent variable at the data points to interpolate 
values  the values of the dependent variable at the data points to interpolate 
c  the vector of spline coefficients that was calculated by one of the other methods 
u  the value of the first independent variable at which to evaluate the spline 
v  the value of the second independent variable at which to evaluate the spline 
w  the value of the third independent variable at which to evaluate the spline 

static 
Evaluate the derivatives of a 3D spline generated by one of the other methods in this class.
x  the values of the first independent variable at the data points to interpolate 
y  the values of the second independent variable at the data points to interpolate 
z  the values of the third independent variable at the data points to interpolate 
values  the values of the dependent variable at the data points to interpolate 
c  the vector of spline coefficients that was calculated by one of the other methods 
u  the value of the first independent variable at which to evaluate the spline 
v  the value of the second independent variable at which to evaluate the spline 
w  the value of the third independent variable at which to evaluate the spline 
dx  on exit, the x derivative of the spline at the specified point 
dy  on exit, the y derivative of the spline at the specified point 
dz  on exit, the z derivative of the spline at the specified point 

static 
Evaluate a 1D spline generated by one of the other methods in this class.
x  the values of the independent variable at the data points to interpolate 
y  the values of the dependent variable at the data points to interpolate 
deriv  the vector of second derivatives that was calculated by one of the other methods 
t  the value of the independent variable at which to evaluate the spline 

static 
Evaluate the derivative of a 1D spline generated by one of the other methods in this class.
x  the values of the independent variable at the data points to interpolate 
y  the values of the dependent variable at the data points to interpolate 
deriv  the vector of second derivatives that was calculated by one of the other methods 
t  the value of the independent variable at which to evaluate the spline 