Rosetta
Public Member Functions | Private Attributes | List of all members
numeric::interpolation::spline::TricubicSpline Class Reference

#include <TricubicSpline.hh>

Public Member Functions

 TricubicSpline ()
 construct generic BicubicSpline More...
 
TricubicSplineClone () const
 copy constructor More...
 
MathTensor< Real > const & get_dsecox () const
 get the second order derivatives of the spline More...
 
MathTensor< Real > const & get_dsecoy () const
 
MathTensor< Real > const & get_dsecoz () const
 
MathTensor< Real > const & get_dsecoxy () const
 
MathTensor< Real > const & get_dsecoxz () const
 
MathTensor< Real > const & get_dsecoyz () const
 
MathTensor< Real > const & get_dsecoxyz () const
 
Real F (Real x, Real y, Real z) const
 return value at certain (x, y, z) More...
 
Real dFdx (Real x, Real y, Real z) const
 return partial derivative at certain (x, y, z) for x More...
 
Real dFdy (Real x, Real y, Real z) const
 return partial derivative at certain (x, y, z) for y More...
 
Real dFdz (Real x, Real y, Real z) const
 return partial derivative at certain (x, y, z) for z More...
 
void train (const BorderFlag BORDER[3], const double START[3], const double DELTA[3], const MathTensor< Real > &RESULTS, const bool LINCONT[3], const std::pair< Real, Real > FIRSTBE[3])
 train TricubicSpline More...
 

Private Attributes

BorderFlag border_ [3]
 controls the behavior at x/y_0 and x/y_dim-1 More...
 
Real start_ [3]
 
Real delta_ [3]
 gives the arguments as a sequence of equidistant points More...
 
MathTensor< Realvalues_
 f(x,y,z) More...
 
MathTensor< Realdsecox_
 second order derivatives for x – d**2/dx**2 f(x,y,z) More...
 
MathTensor< Realdsecoy_
 second order derivatives for y More...
 
MathTensor< Realdsecoxy_
 second order derivatives for x and y More...
 
MathTensor< Realdsecoz_
 second order derivatives for z More...
 
MathTensor< Realdsecoxz_
 second order derivatives for xz More...
 
MathTensor< Realdsecoyz_
 second order derivatives for yz More...
 
MathTensor< Realdsecoxyz_
 second order derivatives for x y and z More...
 
std::pair< Real, Realfirstbe_ [3]
 first order derivative at x_0/dim-1, y_0/dim-1, z_0/dim-1 can be set for BorderFlag FIRSTDER More...
 
bool LinCont_ [3]
 if the argument x is outside the range decide if the spline should be continued linearly More...
 

Constructor & Destructor Documentation

◆ TricubicSpline()

numeric::interpolation::spline::TricubicSpline::TricubicSpline ( )
inline

construct generic BicubicSpline

Referenced by Clone().

Member Function Documentation

◆ Clone()

TricubicSpline* numeric::interpolation::spline::TricubicSpline::Clone ( ) const
inline

copy constructor

References TricubicSpline().

◆ dFdx()

double numeric::interpolation::spline::TricubicSpline::dFdx ( Real  x,
Real  y,
Real  z 
) const

return partial derivative at certain (x, y, z) for x

Returns
partial derivative at (x, y, z) for x

References border_, delta_, dsecox_, dsecoxy_, dsecoxyz_, dsecoxz_, dsecoy_, dsecoyz_, dsecoz_, numeric::interpolation::spline::e_Periodic, create_a3b_hbs::i, create_a3b_hbs::j, create_a3b_hbs::k, numeric::interpolation::spline::sqr(), start_, values_, x, predPRE::y, and predPRE::z.

Referenced by F().

◆ dFdy()

double numeric::interpolation::spline::TricubicSpline::dFdy ( Real  x,
Real  y,
Real  z 
) const

return partial derivative at certain (x, y, z) for y

Returns
partial derivative at (x, y, z) for y

References border_, delta_, dsecox_, dsecoxy_, dsecoxyz_, dsecoxz_, dsecoy_, dsecoyz_, dsecoz_, numeric::interpolation::spline::e_Periodic, create_a3b_hbs::i, create_a3b_hbs::j, create_a3b_hbs::k, numeric::interpolation::spline::sqr(), start_, values_, x, predPRE::y, and predPRE::z.

Referenced by F().

◆ dFdz()

double numeric::interpolation::spline::TricubicSpline::dFdz ( Real  x,
Real  y,
Real  z 
) const

return partial derivative at certain (x, y, z) for z

Returns
partial derivative at (x, y, z) for z

References border_, delta_, dsecox_, dsecoxy_, dsecoxyz_, dsecoxz_, dsecoy_, dsecoyz_, dsecoz_, numeric::interpolation::spline::e_Periodic, create_a3b_hbs::i, create_a3b_hbs::j, create_a3b_hbs::k, numeric::interpolation::spline::sqr(), start_, values_, x, predPRE::y, and predPRE::z.

Referenced by F().

◆ F()

double numeric::interpolation::spline::TricubicSpline::F ( Real  x,
Real  y,
Real  z 
) const

◆ get_dsecox()

MathTensor< Real> const& numeric::interpolation::spline::TricubicSpline::get_dsecox ( ) const
inline

get the second order derivatives of the spline

References dsecox_.

◆ get_dsecoxy()

MathTensor< Real> const& numeric::interpolation::spline::TricubicSpline::get_dsecoxy ( ) const
inline

References dsecoxy_.

◆ get_dsecoxyz()

MathTensor< Real> const& numeric::interpolation::spline::TricubicSpline::get_dsecoxyz ( ) const
inline

References dsecoxyz_.

◆ get_dsecoxz()

MathTensor< Real> const& numeric::interpolation::spline::TricubicSpline::get_dsecoxz ( ) const
inline

References dsecoxz_.

◆ get_dsecoy()

MathTensor< Real> const& numeric::interpolation::spline::TricubicSpline::get_dsecoy ( ) const
inline

References dsecoy_.

◆ get_dsecoyz()

MathTensor< Real> const& numeric::interpolation::spline::TricubicSpline::get_dsecoyz ( ) const
inline

References dsecoyz_.

◆ get_dsecoz()

MathTensor< Real> const& numeric::interpolation::spline::TricubicSpline::get_dsecoz ( ) const
inline

References dsecoz_.

◆ train()

void numeric::interpolation::spline::TricubicSpline::train ( const BorderFlag  BORDER[3],
const double  START[3],
const double  DELTA[3],
const MathTensor< Real > &  RESULTS,
const bool  LINCONT[3],
const std::pair< Real, Real FIRSTBE[3] 
)

Member Data Documentation

◆ border_

BorderFlag numeric::interpolation::spline::TricubicSpline::border_[3]
private

controls the behavior at x/y_0 and x/y_dim-1

Referenced by dFdx(), dFdy(), dFdz(), F(), and train().

◆ delta_

Real numeric::interpolation::spline::TricubicSpline::delta_[3]
private

gives the arguments as a sequence of equidistant points

Referenced by dFdx(), dFdy(), dFdz(), F(), and train().

◆ dsecox_

MathTensor< Real> numeric::interpolation::spline::TricubicSpline::dsecox_
private

second order derivatives for x – d**2/dx**2 f(x,y,z)

Referenced by dFdx(), dFdy(), dFdz(), F(), get_dsecox(), and train().

◆ dsecoxy_

MathTensor< Real> numeric::interpolation::spline::TricubicSpline::dsecoxy_
private

second order derivatives for x and y

Referenced by dFdx(), dFdy(), dFdz(), F(), get_dsecoxy(), and train().

◆ dsecoxyz_

MathTensor< Real> numeric::interpolation::spline::TricubicSpline::dsecoxyz_
private

second order derivatives for x y and z

Referenced by dFdx(), dFdy(), dFdz(), F(), get_dsecoxyz(), and train().

◆ dsecoxz_

MathTensor< Real> numeric::interpolation::spline::TricubicSpline::dsecoxz_
private

second order derivatives for xz

Referenced by dFdx(), dFdy(), dFdz(), F(), get_dsecoxz(), and train().

◆ dsecoy_

MathTensor< Real> numeric::interpolation::spline::TricubicSpline::dsecoy_
private

second order derivatives for y

Referenced by dFdx(), dFdy(), dFdz(), F(), get_dsecoy(), and train().

◆ dsecoyz_

MathTensor< Real> numeric::interpolation::spline::TricubicSpline::dsecoyz_
private

second order derivatives for yz

Referenced by dFdx(), dFdy(), dFdz(), F(), get_dsecoyz(), and train().

◆ dsecoz_

MathTensor< Real> numeric::interpolation::spline::TricubicSpline::dsecoz_
private

second order derivatives for z

Referenced by dFdx(), dFdy(), dFdz(), F(), get_dsecoz(), and train().

◆ firstbe_

std::pair< Real, Real> numeric::interpolation::spline::TricubicSpline::firstbe_[3]
private

first order derivative at x_0/dim-1, y_0/dim-1, z_0/dim-1 can be set for BorderFlag FIRSTDER

Referenced by train().

◆ LinCont_

bool numeric::interpolation::spline::TricubicSpline::LinCont_[3]
private

if the argument x is outside the range decide if the spline should be continued linearly

Referenced by train().

◆ start_

Real numeric::interpolation::spline::TricubicSpline::start_[3]
private

Referenced by dFdx(), dFdy(), dFdz(), F(), and train().

◆ values_

MathTensor< Real> numeric::interpolation::spline::TricubicSpline::values_
private

f(x,y,z)

Referenced by dFdx(), dFdy(), dFdz(), F(), and train().


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