Helios++
Helios software for LiDAR simulations
fluxionum::DiffDesignMatrixInterpolator Namespace Reference

Util methods to interpolate functions from given DiffDesignMatrix. More...

Functions

template<typename A , typename B >
LinearPiecesFunction< A, B > makeLinearPiecesFunction (DiffDesignMatrix< A, B > const &ddm, arma::Col< B > const &slope, arma::Col< B > const &intercept)
 Obtain a linear pieces function from given DiffDesignMatrix and known values. More...
 
template<typename A , typename B >
LinearPiecesFunction< A, B > makeLinearPiecesFunction (DiffDesignMatrix< A, B > const &ddm, DesignMatrix< B > const &dm, size_t const colIdx, arma::Col< B > *intercept, arma::Col< B > *slope)
 Like DiffDesignMatrixInterpolator::makeLinearPiecesFunction but taking the vector of known values from given DesignMatrix. More...
 
template<typename A , typename B >
ParametricLinearPiecesFunction< A, B > makeParametricLinearPiecesFunction (DiffDesignMatrix< A, B > const &ddm, arma::Mat< B > const &intercepts)
 Obtain a parametric linear pieces function from given DiffDesignMatrix and known values. More...
 
template<typename A , typename B >
ParametricLinearPiecesFunction< A, B > makeParametricLinearPiecesFunction (DiffDesignMatrix< A, B > const &ddm, DesignMatrix< B > const &dm)
 Like DiffDesignMatrixInterpolator::makeParametricLinearPiecesFunction but taking the vector of known values from given DesignMatrix. More...
 
template<typename A , typename B >
FixedIterativeEulerMethod< A, B > makeFixedIterativeEulerMethod (DiffDesignMatrix< A, B > const &ddm, arma::Col< B > const &y, Function< A, B > &dydt)
 Obtain a function representing a fixed iterative Euler method from given DiffDesignMatrix, known values and derivative function. More...
 
template<typename A , typename B >
FixedIterativeEulerMethod< A, B > makeFixedIterativeEulerMethod (DiffDesignMatrix< A, B > const &ddm, DesignMatrix< B > const &dm, size_t const colIdx, arma::Col< B > *y, ClosestLesserSampleFunction< A, B > *dydt, arma::Col< B > *dydtSamples)
 Like DiffDesignMatrixInterpolator::makeFixedIterativeEulerMethod but automatically generating the vector of known values, the derivative and the samples of the derivative from given DiffDesignMatrix and DesignMatrix. More...
 
template<typename A , typename B >
FixedParametricIterativeEulerMethod< A, B > makeFixedParametricIterativeEulerMethod (DiffDesignMatrix< A, B > const &ddm, arma::Mat< B > const &y, Function< A, arma::Col< B >> &dydt)
 Obtain a function representing a fixed parametric iterative Euler method from given DiffDesignMatrix, known values and parametric derivative function. More...
 
template<typename A , typename B >
FixedParametricIterativeEulerMethod< A, B > makeFixedParametricIterativeEulerMethod (DiffDesignMatrix< A, B > const &ddm, DesignMatrix< B > const &dm, ParametricClosestLesserSampleFunction< A, B > *dydt)
 Like DiffDesignMatrixInterpolator::makeFixedParametricIterativeEulerMethod but automatically generating the matrix of known values, the parametric derivative and the samples of the derivative from given DiffDesignMatrix and DesignMatrix. More...
 

Detailed Description

Util methods to interpolate functions from given DiffDesignMatrix.

Author
Alberto M. Esmoris Pena
Version
1.0

Function Documentation

◆ makeFixedIterativeEulerMethod() [1/2]

template<typename A , typename B >
FixedIterativeEulerMethod<A, B> fluxionum::DiffDesignMatrixInterpolator::makeFixedIterativeEulerMethod ( DiffDesignMatrix< A, B > const &  ddm,
arma::Col< B > const &  y,
Function< A, B > &  dydt 
)

Obtain a function representing a fixed iterative Euler method from given DiffDesignMatrix, known values and derivative function.

Parameters
ddmThe DiffDesignMatrix itself
[in]yThe vector of known values such that \(y(t_i) = y_i\)
[in]dydtThe derivative function
Template Parameters
AThe time's domain
BThe non time's domain
Returns
FixedIterativeEulerMethod from given arguments

◆ makeFixedIterativeEulerMethod() [2/2]

template<typename A , typename B >
FixedIterativeEulerMethod<A, B> fluxionum::DiffDesignMatrixInterpolator::makeFixedIterativeEulerMethod ( DiffDesignMatrix< A, B > const &  ddm,
DesignMatrix< B > const &  dm,
size_t const  colIdx,
arma::Col< B > *  y,
ClosestLesserSampleFunction< A, B > *  dydt,
arma::Col< B > *  dydtSamples 
)

Like DiffDesignMatrixInterpolator::makeFixedIterativeEulerMethod but automatically generating the vector of known values, the derivative and the samples of the derivative from given DiffDesignMatrix and DesignMatrix.

See also
DiffDesignMatrixInterpolator::makeFixedIterativeEulerMethod

◆ makeFixedParametricIterativeEulerMethod() [1/2]

template<typename A , typename B >
FixedParametricIterativeEulerMethod<A, B> fluxionum::DiffDesignMatrixInterpolator::makeFixedParametricIterativeEulerMethod ( DiffDesignMatrix< A, B > const &  ddm,
arma::Mat< B > const &  y,
Function< A, arma::Col< B >> &  dydt 
)

Obtain a function representing a fixed parametric iterative Euler method from given DiffDesignMatrix, known values and parametric derivative function.

Parameters
ddmThe DiffDesignMatrix itself
[in]yThe matrix of known values such that \(\vec{y}(t_i) = \vec{y_i}\)a
dydtThe parametric derivative function
Template Parameters
AThe time's domain
BThe non time's domain
Returns
FixedParametricIterativeEulerMethod from given arguments

◆ makeFixedParametricIterativeEulerMethod() [2/2]

template<typename A , typename B >
FixedParametricIterativeEulerMethod<A, B> fluxionum::DiffDesignMatrixInterpolator::makeFixedParametricIterativeEulerMethod ( DiffDesignMatrix< A, B > const &  ddm,
DesignMatrix< B > const &  dm,
ParametricClosestLesserSampleFunction< A, B > *  dydt 
)

Like DiffDesignMatrixInterpolator::makeFixedParametricIterativeEulerMethod but automatically generating the matrix of known values, the parametric derivative and the samples of the derivative from given DiffDesignMatrix and DesignMatrix.

See also
DiffDesignMatrixInterpolator::makeFixedParametricIterativeEulerMethod

◆ makeLinearPiecesFunction() [1/2]

template<typename A , typename B >
LinearPiecesFunction<A, B> fluxionum::DiffDesignMatrixInterpolator::makeLinearPiecesFunction ( DiffDesignMatrix< A, B > const &  ddm,
arma::Col< B > const &  slope,
arma::Col< B > const &  intercept 
)

Obtain a linear pieces function from given DiffDesignMatrix and known values.

Parameters
ddmThe DiffDesignMatrix itself
slopeThe vector of known derivatives (line slopes) \(\frac{dy}{dt}(t_i)\)
interceptThe vector of known values such that \(y(t_i) = y_i\)
Template Parameters
AThe time's domain
BThe non time's domain
Returns
LinearPiecesFunction from given arguments

◆ makeLinearPiecesFunction() [2/2]

template<typename A , typename B >
LinearPiecesFunction<A, B> fluxionum::DiffDesignMatrixInterpolator::makeLinearPiecesFunction ( DiffDesignMatrix< A, B > const &  ddm,
DesignMatrix< B > const &  dm,
size_t const  colIdx,
arma::Col< B > *  intercept,
arma::Col< B > *  slope 
)

◆ makeParametricLinearPiecesFunction() [1/2]

template<typename A , typename B >
ParametricLinearPiecesFunction<A, B> fluxionum::DiffDesignMatrixInterpolator::makeParametricLinearPiecesFunction ( DiffDesignMatrix< A, B > const &  ddm,
arma::Mat< B > const &  intercepts 
)

Obtain a parametric linear pieces function from given DiffDesignMatrix and known values.

Parameters
ddmThe DiffDesignMatrix itself
interceptsThe matrix of known values such that \(y_j(t_i) = y_{ij}\)
Template Parameters
AThe time's domain
BThe non time's domain
Returns
ParametricVectorialLinearPiecesFunction from given arguments

◆ makeParametricLinearPiecesFunction() [2/2]

template<typename A , typename B >
ParametricLinearPiecesFunction<A, B> fluxionum::DiffDesignMatrixInterpolator::makeParametricLinearPiecesFunction ( DiffDesignMatrix< A, B > const &  ddm,
DesignMatrix< B > const &  dm 
)