strumpack::kernel::DenseKernel< scalar_t > Class Template Reference

Arbitrary dense matrix, with underlying geometry. More...

#include <Kernel.hpp>

Inheritance diagram for strumpack::kernel::DenseKernel< scalar_t >:
Collaboration diagram for strumpack::kernel::DenseKernel< scalar_t >:

Public Member Functions

 DenseKernel (DenseMatrix< scalar_t > &data, DenseMatrix< scalar_t > &A, scalar_t lambda)
 
scalar_t eval (std::size_t i, std::size_t j) const override
 
void permute () override
 
- Public Member Functions inherited from strumpack::kernel::Kernel< scalar_t >
 Kernel (DenseM_t &data, scalar_t lambda)
 
virtual ~Kernel ()=default
 
std::size_t n () const
 
std::size_t d () const
 
virtual scalar_t eval (std::size_t i, std::size_t j) const
 
void operator() (const std::vector< std::size_t > &I, const std::vector< std::size_t > &J, DenseMatrix< real_t > &B) const
 
void operator() (const std::vector< std::size_t > &I, const std::vector< std::size_t > &J, DenseMatrix< std::complex< real_t > > &B) const
 
DenseM_t fit_HSS (std::vector< scalar_t > &labels, const HSS::HSSOptions< scalar_t > &opts)
 
std::vector< scalar_t > predict (const DenseM_t &test, const DenseM_t &weights) const
 
DistM_t fit_HSS (const BLACSGrid &grid, std::vector< scalar_t > &labels, const HSS::HSSOptions< scalar_t > &opts)
 
std::vector< scalar_t > predict (const DenseM_t &test, const DistM_t &weights) const
 
DenseM_t fit_HODLR (const MPIComm &c, std::vector< scalar_t > &labels, const HODLR::HODLROptions< scalar_t > &opts)
 
const DenseM_tdata () const
 
DenseM_tdata ()
 
std::vector< int > & permutation ()
 
const std::vector< int > & permutation () const
 
virtual void permute ()
 

Detailed Description

template<typename scalar_t>
class strumpack::kernel::DenseKernel< scalar_t >

Arbitrary dense matrix, with underlying geometry.

This is a subclass of Kernel. It overrides the eval routine, unlike other kernel classes (Gauss and Laplace), which only implement the kernel function.

See also
Kernel, GaussKernel, LaplaceKernel

Constructor & Destructor Documentation

◆ DenseKernel()

template<typename scalar_t >
strumpack::kernel::DenseKernel< scalar_t >::DenseKernel ( DenseMatrix< scalar_t > &  data,
DenseMatrix< scalar_t > &  A,
scalar_t  lambda 
)
inline

Constructor of the dense matrix kernel object.

Parameters
dataCoordinates of the points used to generate the matrix.
AThe actual dense matrix
lambdaRegularization parameter, added to the diagonal

Member Function Documentation

◆ eval()

template<typename scalar_t >
scalar_t strumpack::kernel::DenseKernel< scalar_t >::eval ( std::size_t  i,
std::size_t  j 
) const
inlineoverridevirtual

Evaluate an entry of the kernel matrix.

Parameters
irow coordinate of entry to evaluate
jcolumn coordinate of entry to evaluate
Returns
the value K(i, j) of the kernel

Reimplemented from strumpack::kernel::Kernel< scalar_t >.

◆ permute()

template<typename scalar_t >
void strumpack::kernel::DenseKernel< scalar_t >::permute ( )
inlineoverridevirtual

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