SG++-Doxygen-Documentation
sgpp::base::AlgorithmDGEMV< BASIS > Class Template Reference

Basic multiplaction with B and B^T on grids with no boundaries. More...

#include <AlgorithmDGEMV.hpp>

Public Member Functions

void mult (GridStorage &storage, BASIS &basis, const DataVector &source, DataMatrix &x, DataVector &result)
 Performs the DGEMV Operation on the grid having a transposed matrix. More...
 
void mult_transposed (GridStorage &storage, BASIS &basis, const DataVector &source, DataMatrix &x, DataVector &result)
 Performs the DGEMV Operation on the grid. More...
 

Detailed Description

template<class BASIS>
class sgpp::base::AlgorithmDGEMV< BASIS >

Basic multiplaction with B and B^T on grids with no boundaries.

If there are \(N\) basis functions \(\varphi(\vec{x})\) and \(m\) data points, then B is a (Nxm) matrix, with

\[ (B)_{i,j} = \varphi_i(x_j). \]

(The common known name for this operation is the BLAS routine DGEMV.)

Member Function Documentation

◆ mult()

template<class BASIS>
void sgpp::base::AlgorithmDGEMV< BASIS >::mult ( GridStorage storage,
BASIS &  basis,
const DataVector source,
DataMatrix x,
DataVector result 
)
inline

Performs the DGEMV Operation on the grid having a transposed matrix.

This operation can be executed in parallel by setting the USEOMP define

Parameters
storageGridStorage object that contains the grid's points information
basisa reference to a class that implements a specific basis
sourcethe coefficients of the grid points
xthe d-dimensional vector with data points (row-wise)
resultthe result vector of the matrix vector multiplication

References sgpp::base::DataMatrix::getNcols(), sgpp::base::DataMatrix::getRow(), sgpp::base::DataVector::getSize(), python.statsfileInfo::i, python.utils.data_projections::line, and sgpp::base::DataVector::setAll().

Referenced by sgpp::base::OperationMultipleEvalLinearStretched::mult(), sgpp::base::OperationMultipleEvalModLinear::mult(), sgpp::base::OperationMultipleEvalPrewavelet::mult(), sgpp::base::OperationMultipleEvalPoly::mult(), sgpp::base::OperationMultipleEvalPolyBoundary::mult(), sgpp::base::OperationMultipleEvalLinearBoundary::mult(), sgpp::base::OperationMultipleEvalPeriodic::mult(), sgpp::base::OperationMultipleEvalLinearStretchedBoundary::mult(), and sgpp::base::OperationMultipleEvalModPoly::mult().

◆ mult_transposed()

template<class BASIS>
void sgpp::base::AlgorithmDGEMV< BASIS >::mult_transposed ( GridStorage storage,
BASIS &  basis,
const DataVector source,
DataMatrix x,
DataVector result 
)
inline

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