Class interp_akima (o2scl)¶
-
template<class vec_t, class vec2_t = vec_t>
class o2scl::interp_akima : public o2scl::interp_base<vec_t, vec_t>¶ Akima spline interpolation (GSL)
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.
Storage for Akima spline interpolation
-
inline void akima_calc(const vec_t &x_array, size_t size, ubvector &umx)¶
For initializing the interpolation.
-
inline interp_akima()¶
Create a base interpolation object with or without periodic boundary conditions.
-
inline virtual ~interp_akima()¶
-
inline virtual void set(size_t size, const vec_t &xa, const vec2_t &ya)¶
Initialize interpolation routine.
-
inline virtual double eval(double x0) const¶
Give the value of the function \( y(x=x_0) \) .
-
inline virtual double deriv(double x0) const¶
Give the value of the derivative \( y^{\prime}(x=x_0) \) .
-
inline virtual double deriv2(double x0) const¶
Give the value of the second derivative \( y^{\prime \prime}(x=x_0) \) .
-
inline virtual double integ(double aa, double bb) const¶
Give the value of the integral \( \int_a^{b}y(x)~dx \) .
-
inline virtual const char *type() const¶
Return the type,
"interp_akima"
.
-
interp_akima(const interp_akima<vec_t, vec2_t>&)¶
-
interp_akima<vec_t, vec2_t> &operator=(const interp_akima<vec_t, vec2_t>&)¶
-
inline void akima_calc(const vec_t &x_array, size_t size, ubvector &umx)¶