HLIBpro  2.7
TPermHCAGeneratorFn< T_val > Class Template Referenceabstract

base class for HCA generator functions using row/column permutations More...

#include <TLowRankApx.hh>

Inheritance diagram for TPermHCAGeneratorFn< T_val >:
THCA< T >::TGeneratorFn TQuadHCAGenFn< T_ansatzsp, T_testsp, T_val > TInvarBasisQuadHCAGenFn< T_ansatzsp, T_testsp, T_val >

Public Member Functions

 TPermHCAGeneratorFn (const TPermutation *row_perm_i2e, const TPermutation *col_perm_i2e)
 
virtual void integrate_dx (const TIndexSet &is, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const
 
virtual void integrate_dy (const TIndexSet &is, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const
 
virtual void integrate_dx_perm (const std::vector< idx_t > &idxs, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const =0
 
virtual void integrate_dy_perm (const std::vector< idx_t > &idxs, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const =0
 
- Public Member Functions inherited from THCA< T >::TGeneratorFn
virtual bool is_complex () const
 indicate complex nature of function
 
virtual value_t eval (const T3Point &x, const T3Point &y) const =0
 
virtual void integrate_dx (const TIndexSet &is, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const =0
 
virtual void integrate_dy (const TIndexSet &is, const std::vector< T3Point > &pts, BLAS::Matrix< value_t > &matrix) const =0
 

Detailed Description

template<typename T_val>
class HLIB::TPermHCAGeneratorFn< T_val >

Provides basic permutation management for evaluating the integrals over the derivatives of the kernel generator function.

Constructor & Destructor Documentation

◆ TPermHCAGeneratorFn()

TPermHCAGeneratorFn ( const TPermutation row_perm_i2e,
const TPermutation col_perm_i2e 
)
inline

constructor

  • order defines (maximal) quadrature order for evaluating the integrals

Member Function Documentation

◆ integrate_dx()

virtual void integrate_dx ( const TIndexSet is,
const std::vector< T3Point > &  pts,
BLAS::Matrix< value_t > &  matrix 
) const
inlinevirtual

Evaluate \( \int \phi_i(x) D_x \gamma(x, y_{l}) dx\) for i ∈ is and points \( y_{l} \) defined by pts. Store results in matrix at index (i,l).

◆ integrate_dx_perm()

virtual void integrate_dx_perm ( const std::vector< idx_t > &  idxs,
const std::vector< T3Point > &  pts,
BLAS::Matrix< value_t > &  matrix 
) const
pure virtual

◆ integrate_dy()

virtual void integrate_dy ( const TIndexSet is,
const std::vector< T3Point > &  pts,
BLAS::Matrix< value_t > &  matrix 
) const
inlinevirtual

Evaluate \( \int \phi_j(y) D_y \gamma(x_{l}, y) dy\) for j ∈ is and points \( x_{l} \) defined by pts. Store results in matrix at index (j,l).

◆ integrate_dy_perm()

virtual void integrate_dy_perm ( const std::vector< idx_t > &  idxs,
const std::vector< T3Point > &  pts,
BLAS::Matrix< value_t > &  matrix 
) const
pure virtual