Rosetta  2019.07
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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

construct generic BicubicSpline

Referenced by Clone().

Member Function Documentation

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

copy constructor

References TricubicSpline().

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, basic::options::OptionKeys::frags::j, numeric::interpolation::spline::sqr(), start_, values_, and numeric::crick_equations::x().

Referenced by F().

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, basic::options::OptionKeys::frags::j, numeric::interpolation::spline::sqr(), start_, values_, and numeric::crick_equations::x().

Referenced by F().

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, basic::options::OptionKeys::frags::j, numeric::interpolation::spline::sqr(), start_, values_, and numeric::crick_equations::x().

Referenced by F().

double numeric::interpolation::spline::TricubicSpline::F ( Real  x,
Real  y,
Real  z 
) const
MathTensor< Real> const& numeric::interpolation::spline::TricubicSpline::get_dsecox ( ) const
inline

get the second order derivatives of the spline

References dsecox_.

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

References dsecoxy_.

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

References dsecoxyz_.

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

References dsecoxz_.

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

References dsecoy_.

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

References dsecoyz_.

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

References dsecoz_.

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

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(), and F().

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

gives the arguments as a sequence of equidistant points

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

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(), and get_dsecox().

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

second order derivatives for x and y

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

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

second order derivatives for x y and z

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

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

second order derivatives for xz

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

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

second order derivatives for y

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

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

second order derivatives for yz

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

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

second order derivatives for z

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

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

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

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

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

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

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

f(x,y,z)

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


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