All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions
o2scl::interp_akima< vec_t, vec2_t > Class Template Reference

Akima spline interpolation (GSL) More...

Detailed Description

template<class vec_t, class vec2_t = vec_t>
class o2scl::interp_akima< vec_t, vec2_t >

See also the Interpolation section of the O2scl User's guide.

This class uses natural boundary conditions, where the second derivative vanishes at each end point. Extrapolation effectively assumes that the second derivative is linear outside of the endpoints. Use interp_akima_peri for perodic boundary conditions.

Definition at line 722 of file interp.h.

#include <interp.h>

Inheritance diagram for o2scl::interp_akima< vec_t, vec2_t >:
o2scl::interp_base< vec_t, vec2_t > o2scl::interp_akima_peri< vec_t, vec2_t >

Public Types

typedef
boost::numeric::ublas::vector
< double > 
ubvector
 
typedef
boost::numeric::ublas::vector_slice
< ubvector
ubvector_slice
 
typedef
boost::numeric::ublas::vector_range
< ubvector
ubvector_range
 
typedef
boost::numeric::ublas::slice 
slice
 
typedef
boost::numeric::ublas::range 
range
 

Public Member Functions

 interp_akima ()
 Create a base interpolation object with or without periodic boundary conditions.
 
virtual void set (size_t size, const vec_t &xa, const vec2_t &ya)
 Initialize interpolation routine.
 
virtual double eval (double x0) const
 Give the value of the function $ y(x=x_0) $ .
 
virtual double deriv (double x0) const
 Give the value of the derivative $ y^{\prime}(x=x_0) $ .
 
virtual double deriv2 (double x0) const
 Give the value of the second derivative $ y^{\prime \prime}(x=x_0) $ .
 
virtual double integ (double aa, double bb) const
 Give the value of the integral $ \int_a^{b}y(x)~dx $ .
 
virtual const char * type () const
 Return the type, "interp_akima".
 
- Public Member Functions inherited from o2scl::interp_base< vec_t, vec2_t >
virtual double operator() (double x0) const
 Give the value of the function $ y(x=x_0) $ .
 

Protected Member Functions

void akima_calc (const vec_t &x_array, size_t size, ubvector &umx)
 For initializing the interpolation.
 
- Protected Member Functions inherited from o2scl::interp_base< vec_t, vec2_t >
double integ_eval (double ai, double bi, double ci, double di, double xi, double a, double b) const
 An internal function to assist in computing the integral for both the cspline and Akima types.
 

Protected Attributes

Storage for Akima spline interpolation
ubvector b
 
ubvector c
 
ubvector d
 
ubvector um
 
- Protected Attributes inherited from o2scl::interp_base< vec_t, vec2_t >
search_vec< const vec_t > svx
 To perform binary searches. More...
 
const vec_t * px
 Independent vector.
 
const vec2_t * py
 Dependent vector.
 
size_t sz
 Vector size.
 

Private Member Functions

 interp_akima (const interp_akima< vec_t, vec2_t > &)
 
interp_akima< vec_t, vec2_t > & operator= (const interp_akima< vec_t, vec2_t > &)
 

Additional Inherited Members

- Data Fields inherited from o2scl::interp_base< vec_t, vec2_t >
size_t min_size
 The minimum size of the vectors to interpolate between. More...
 

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

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).
Hosted at Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads..