HMLP: High-performance Machine Learning Primitives
|
VirtualMatrix is the abstract base class for matrix-free access and operations. Most of the public functions will be virtual. To inherit VirtualMatrix, you "must" implement the evaluation operator. Otherwise, the code won't compile. More...
#include <VirtualMatrix.hpp>
Public Types | |
typedef DATATYPE | T |
Public Member Functions | |
VirtualMatrix (size_t m, size_t n) | |
virtual void | resize (size_t m, size_t n) |
size_t | row () |
size_t | col () |
virtual T | operator() (size_t i, size_t j)=0 |
virtual Data< T > | operator() (const vector< size_t > &I, const vector< size_t > &J) |
Data< T > | KernelDistances (const vector< size_t > &I, const vector< size_t > &J) |
Data< T > | AngleDistances (const vector< size_t > &I, const vector< size_t > &J) |
virtual Data< T > | UserDistances (const vector< size_t > &I, const vector< size_t > &J) |
virtual Data< T > | GeometryDistances (const vector< size_t > &I, const vector< size_t > &J) |
Data< T > | Distances (DistanceMetric metric, const vector< size_t > &I, const vector< size_t > &J) |
virtual Data< pair< T, size_t > > | NeighborSearch (DistanceMetric metric, size_t kappa, const vector< size_t > &Q, const vector< size_t > &R, pair< T, size_t > init) |
virtual Data< T > | Diagonal (const vector< size_t > &I) |
virtual pair< T, size_t > | ImportantSample (size_t j) |
virtual pair< T, int > | ImportantSample (int j) |
![]() | |
virtual void | SendIndices (vector< size_t > ids, int dest, mpi::Comm comm) |
virtual void | RecvIndices (int src, mpi::Comm comm, mpi::Status *status) |
virtual void | BcastIndices (vector< size_t > ids, int root, mpi::Comm comm) |
virtual void | RequestIndices (const vector< vector< size_t >> &ids) |
VirtualMatrix is the abstract base class for matrix-free access and operations. Most of the public functions will be virtual. To inherit VirtualMatrix, you "must" implement the evaluation operator. Otherwise, the code won't compile.
end class SPDMatrixMPISupport
|
inline |
ESSENTIAL: return number of rows
|
inlinevirtual |
end ImportantSample()
|
inlinevirtual |
Compute all pairwise distances.
Sanity check: distance must be >= 0.
Loop over each query.
Sort the query according to distances.
Fill-in the neighbor list.
|
pure virtual |
ESSENTIAL: this is an abstract function
Implemented in hmlp::DistKernelMatrix< T, TP, Allocator >, hmlp::MLPGaussNewton< T >, hmlp::KernelMatrix< T, Allocator >, hmlp::OOCCovMatrix< T >, hmlp::OOCSPDMatrix< T >, hmlp::PVFMMKernelMatrix< T >, and hmlp::SPDMatrix< T >.
|
inlinevirtual |
ESSENTIAL: return a submatrix
Reimplemented in hmlp::DistKernelMatrix< T, TP, Allocator >, hmlp::MLPGaussNewton< T >, hmlp::KernelMatrix< T, Allocator >, hmlp::OOCCovMatrix< T >, hmlp::OOCSPDMatrix< T >, and hmlp::SPDMatrix< T >.
|
inline |
ESSENTIAL: return number of coumns