HLIBpro  2.7
TMaternCovCoeffFn< T_point > Class Template Reference

Matern covariance coefficient function. More...

#include <TMaternCovCoeffFn.hh>

Inheritance diagram for TMaternCovCoeffFn< T_point >:
TCoeffFn< real >

Public Member Functions

 TMaternCovCoeffFn (const real sigma, const real length, const real nu, const std::vector< T_point > &vertices)
 
virtual void eval (const std::vector< idx_t > &rowidxs, const std::vector< idx_t > &colidxs, value_t *matrix) const
 
virtual matform_t matrix_format () const
 
- Public Member Functions inherited from TCoeffFn< real >
 TCoeffFn ()
 default constructor
 
virtual ~TCoeffFn ()
 destructor
 
virtual bool is_complex () const
 return true if function is complex valued
 
virtual void eval (const TIndexSet &rowis, const TIndexSet &colis, value_t *matrix) const
 

Detailed Description

template<typename T_point = TPoint>
class HLIB::TMaternCovCoeffFn< T_point >

TMaternCovCoeffFn implements the Matern covarience kernel

\[ C(h, \theta ) := \frac{\sigma^2}{2^{\nu-1} \Gamma(\nu)} \left(\frac{h}{\ell}\right)^{\nu} K_{\nu}\left(\frac{h}{\ell}\right) \]

with \(\theta=(\sigma,\ell,\nu)\), where \(\sigma\) is the variance; \(\nu > 0\) controls the smoothness of the random field, with larger values of corresponding to smoother fields; and \(\ell\) is a spatial range parameter that measures how quickly the correlation of the random field decays with distance.

Constructor & Destructor Documentation

◆ TMaternCovCoeffFn()

TMaternCovCoeffFn ( const real  sigma,
const real  length,
const real  nu,
const std::vector< T_point > &  vertices 
)

constructor

Member Function Documentation

◆ eval()

virtual void eval ( const std::vector< idx_t > &  rowidxs,
const std::vector< idx_t > &  colidxs,
value_t *  matrix 
) const
virtual

coefficient evaluation

Implements TCoeffFn< real >.

◆ matrix_format()

virtual matform_t matrix_format ( ) const
inlinevirtual

return format of matrix, e.g. symmetric or hermitian

Reimplemented from TCoeffFn< real >.