SG++-Doxygen-Documentation
sgpp::base::OperationMultipleEval Class Referenceabstract

Interface for multiplication with Matrices $$B$$ and $$B^T$$. More...

#include <OperationMultipleEval.hpp>

Inheritance diagram for sgpp::base::OperationMultipleEval:

Public Member Functions

void eval (DataVector &alpha, DataVector &result)
Evaluate multiple datapoints with the specified grid. More...

virtual double getDuration ()=0

virtual std::string getImplementationName ()
Name of this implementation of the operation. More...

virtual void mult (DataVector &alpha, DataVector &result)=0
Multiplication of $$B^T$$ with vector $$\alpha$$. More...

virtual void mult (DataVector &alpha, DataVector &result, size_t startIndexData, size_t endIndexData)
Multiplication of $$B^T$$ with vector $$\alpha$$. More...

virtual void multTranspose (DataVector &source, DataVector &result)=0
Multiplication of $$B$$ with vector $$\alpha$$. More...

virtual void multTranspose (DataVector &source, DataVector &result, size_t startIndexGrid, size_t endIndexGrid)
Multiplication of $$B$$ with vector $$\alpha$$. More...

OperationMultipleEval (sgpp::base::Grid &grid, DataMatrix &dataset)
Constructor. More...

virtual void prepare ()
Used for kernel-specific setup like special data structures that are defined from the current state of the grid. More...

virtual ~OperationMultipleEval ()
Destructor. More...

Protected Attributes

DataMatrixdataset

Gridgrid

bool isPrepared

Detailed Description

Interface for multiplication with Matrices $$B$$ and $$B^T$$.

If there are $$N$$ basis functions, $$\{\varphi(\vec{x})\}_{i=1,\ldots,N}$$ and $$m$$ data points

◆ OperationMultipleEval()

 sgpp::base::OperationMultipleEval::OperationMultipleEval ( sgpp::base::Grid & grid, DataMatrix & dataset )
inline

Constructor.

Parameters
 grid the sparse grid used for this operation dataset data set that should be evaluated on the sparse grid, a operation may create a copy of the dataset

◆ ~OperationMultipleEval()

 virtual sgpp::base::OperationMultipleEval::~OperationMultipleEval ( )
inlinevirtual

Destructor.

References alpha, and mult().

◆ eval()

 void sgpp::base::OperationMultipleEval::eval ( DataVector & alpha, DataVector & result )
inline

Evaluate multiple datapoints with the specified grid.

Parameters
 alpha surplus vector of the grid result result of the evaluations

References mult().

◆ getImplementationName()

 virtual std::string sgpp::base::OperationMultipleEval::getImplementationName ( )
inlinevirtual

Name of this implementation of the operation.

◆ mult() [2/2]

 virtual void sgpp::base::OperationMultipleEval::mult ( DataVector & alpha, DataVector & result, size_t startIndexData, size_t endIndexData )
inlinevirtual

Multiplication of $$B^T$$ with vector $$\alpha$$.

This implementation variant produces a partial result passed on the start and end index provided. Not every MultiEval operation implements this method, as it only useful for distributed algorithms.

Parameters
 alpha vector, to which $$B$$ is applied. Typically the coefficient vector result the result vector of the matrix vector multiplication startIndexData begin of the fragment of the dataset to be evaluated endIndexData end of the fragment of the dataset to be evaluated
Returns
The results of the evaluation for the specified range of the dataset

References multTranspose().

◆ multTranspose() [1/2]

 virtual void sgpp::base::OperationMultipleEval::multTranspose ( DataVector & source, DataVector & result )
pure virtual

◆ multTranspose() [2/2]

 virtual void sgpp::base::OperationMultipleEval::multTranspose ( DataVector & source, DataVector & result, size_t startIndexGrid, size_t endIndexGrid )
inlinevirtual

Multiplication of $$B$$ with vector $$\alpha$$.

This implementation variant produces a partial result passed on the start and end index provided. Not every MultiEval operation implements this method, as it only useful for distributed algorithms.

Parameters
 source vector, to which $$B^T$$ is applied. Typically the coefficient vector result the result vector of the matrix vector multiplication startIndexGrid begin of the fragment of the grid to apply the operator to endIndexGrid end of the fragment of the grid to be apply the operator to
Returns
The results of the evaluation for the specified range of the dataset

◆ prepare()

 virtual void sgpp::base::OperationMultipleEval::prepare ( )
inlinevirtual

Used for kernel-specific setup like special data structures that are defined from the current state of the grid.

This function is by default called with each "mult()", "multTranspose()" or evaluation operation and can be ignored from an external perspective. This is not overridden by every kernel.

References getDuration().

◆ isPrepared

 bool sgpp::base::OperationMultipleEval::isPrepared
protected

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