Planetary Orbital Evolution due to Tides
Orbital evolution of two objects experiencing tides
Core::InterpolatingFunctionALGLIB Class Reference

Function which interpolates, with possible smoothing, between points. More...

#include <InterpolatingFunctionALGLIB.h>

+ Inheritance diagram for Core::InterpolatingFunctionALGLIB:
+ Collaboration diagram for Core::InterpolatingFunctionALGLIB:

Public Member Functions

 InterpolatingFunctionALGLIB ()
 Needed by the Boost serializer. More...
 
 InterpolatingFunctionALGLIB (const std::valarray< double > &x, const std::valarray< double > &y, const std::valarray< double > &yprime=std::valarray< double >(), double smoothing=NaN, int degrees_of_freedom=-1)
 Constuct an interpolating function. More...
 
 InterpolatingFunctionALGLIB (const double *x, const double *y, size_t num_points, const double *yprime=NULL, double smoothing=NaN, int degrees_of_freedom=-1)
 Constuct an interpolating function. More...
 
double operator() (double x) const
 Returns the value of the interpolating function at the given abscissa. More...
 
const CubicSplineDerivativesderiv (double x) const
 The derivatives of the interpolating function at the given abscissa. More...
 
double range_high () const
 The maximum abscissa at which the function is defined. More...
 
double range_low () const
 The minimum abscissa at which the function is defined. More...
 
InterpSolutionIterator crossings (double y=0) const
 Iterator over the abscissas where the function takes the given y value. More...
 
- Public Member Functions inherited from Core::OneArgumentFunction< double, double >
virtual ~OneArgumentFunction ()
 Provide a virtual destructor for a virtual class. More...
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int)
 Serialize this function. More...
 

Private Attributes

SerializableSpline1dInterpolant __spline
 The interpolating function information necessary to evaluate at any given point. More...
 
double __min_x
 The smallest abscissa covered by the spline points. More...
 
double __max_x
 The largest abscissa covered by the spline points. More...
 

Friends

class boost::serialization::access
 Needed for serialization to work. More...
 

Detailed Description

Function which interpolates, with possible smoothing, between points.

Definition at line 12 of file InterpolatingFunctionALGLIB.h.

Constructor & Destructor Documentation

◆ InterpolatingFunctionALGLIB() [1/3]

Core::InterpolatingFunctionALGLIB::InterpolatingFunctionALGLIB ( )
inline

Needed by the Boost serializer.

Definition at line 42 of file InterpolatingFunctionALGLIB.h.

◆ InterpolatingFunctionALGLIB() [2/3]

Core::InterpolatingFunctionALGLIB::InterpolatingFunctionALGLIB ( const std::valarray< double > &  x,
const std::valarray< double > &  y,
const std::valarray< double > &  yprime = std::valarray<double>(),
double  smoothing = NaN,
int  degrees_of_freedom = -1 
)
inline

Constuct an interpolating function.

Based on the ALGLIB (smoothing) cubic spline interpolation.

Parameters
xThe abscissas of tabulated points to fit.
yThe ordinates of tabulated points to fit.
yprimeThe values of the derivatives to impose on the nodes.
smoothingHow much smoothing to apply. Omit for no smoothnig, i.e. the interpolating curve passes through all the points).
degrees_of_freedomHow many degrees of freedom to use for smoothing interpolation. Ignored for non-smoothing interpolation. If omitted it is set to 3 times the number of points being fitted.

Definition at line 47 of file InterpolatingFunctionALGLIB.h.

◆ InterpolatingFunctionALGLIB() [3/3]

Core::InterpolatingFunctionALGLIB::InterpolatingFunctionALGLIB ( const double *  x,
const double *  y,
size_t  num_points,
const double *  yprime = NULL,
double  smoothing = NaN,
int  degrees_of_freedom = -1 
)

Constuct an interpolating function.

Based on the ALGLIB (smoothing) cubic spline interpolation.

Parameters
xThe abscissas of tabulated points to fit.
yThe ordinates of tabulated points to fit.
num_pointsThe number of input points.
yprimeThe values of the derivatives to impose on the nodes.
smoothingHow much smoothing to apply. Omit for no smoothnig, i.e. the interpolating curve passes through all the points).
degrees_of_freedomHow many degrees of freedom to use for smoothing interpolation. Ignored for non-smoothing interpolation. If omitted it is set to 3 times the number of points being fitted.

Definition at line 9 of file InterpolatingFunctionALGLIB.cpp.

Member Function Documentation

◆ crossings()

InterpSolutionIterator Core::InterpolatingFunctionALGLIB::crossings ( double  y = 0) const
virtual

Iterator over the abscissas where the function takes the given y value.

Implements Core::OneArgumentFunction< double, double >.

Definition at line 63 of file InterpolatingFunctionALGLIB.cpp.

◆ deriv()

const CubicSplineDerivatives* Core::InterpolatingFunctionALGLIB::deriv ( double  x) const
inlinevirtual

The derivatives of the interpolating function at the given abscissa.

Returns a newly allocated structure, which must be destroyed when no longer needed.

Implements Core::OneArgumentDiffFunction.

Definition at line 121 of file InterpolatingFunctionALGLIB.h.

◆ operator()()

double Core::InterpolatingFunctionALGLIB::operator() ( double  x) const
inlinevirtual

Returns the value of the interpolating function at the given abscissa.

Implements Core::OneArgumentFunction< double, double >.

Definition at line 113 of file InterpolatingFunctionALGLIB.h.

◆ range_high()

double Core::InterpolatingFunctionALGLIB::range_high ( ) const
inlinevirtual

The maximum abscissa at which the function is defined.

Implements Core::OneArgumentFunction< double, double >.

Definition at line 129 of file InterpolatingFunctionALGLIB.h.

◆ range_low()

double Core::InterpolatingFunctionALGLIB::range_low ( ) const
inlinevirtual

The minimum abscissa at which the function is defined.

Implements Core::OneArgumentFunction< double, double >.

Definition at line 132 of file InterpolatingFunctionALGLIB.h.

◆ serialize()

template<class Archive >
void Core::InterpolatingFunctionALGLIB::serialize ( Archive &  ar,
const unsigned  int 
)
inlineprivate

Serialize this function.

Definition at line 22 of file InterpolatingFunctionALGLIB.h.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Needed for serialization to work.

Definition at line 17 of file InterpolatingFunctionALGLIB.h.

Member Data Documentation

◆ __max_x

double Core::InterpolatingFunctionALGLIB::__max_x
private

The largest abscissa covered by the spline points.

Definition at line 36 of file InterpolatingFunctionALGLIB.h.

◆ __min_x

double Core::InterpolatingFunctionALGLIB::__min_x
private

The smallest abscissa covered by the spline points.

Definition at line 36 of file InterpolatingFunctionALGLIB.h.

◆ __spline

SerializableSpline1dInterpolant Core::InterpolatingFunctionALGLIB::__spline
private

The interpolating function information necessary to evaluate at any given point.

Definition at line 33 of file InterpolatingFunctionALGLIB.h.


The documentation for this class was generated from the following files: