Class interp_akima (o2scl)¶
-
template<class vec_t, class vec2_t = vec_t, class fp_t = double>
class interp_akima : public o2scl::interp_base<vec_t, vec_t, double>¶ 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.
Subclassed by o2scl::interp_akima_peri< vec_t, vec2_t, fp_t >
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 fp_t deriv(fp_t x0) const¶
Give the value of the derivative \( y^{\prime}(x=x_0) \) .
-
inline virtual fp_t deriv2(fp_t x0) const¶
Give the value of the second derivative \( y^{\prime \prime}(x=x_0) \) .
-
inline virtual fp_t integ(fp_t aa, fp_t 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, fp_t>&)¶
-
interp_akima<vec_t, vec2_t, fp_t> &operator=(const interp_akima<vec_t, vec2_t, fp_t>&)¶
-
inline void akima_calc(const vec_t &x_array, size_t size, ubvector &umx)¶