SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::datadriven::DMSystemMatrix Class Reference

Class that implements the virtual class base::OperationMatrix for applications for the Systemmatrix. More...

#include <DMSystemMatrix.hpp>

Inheritance diagram for sgpp::datadriven::DMSystemMatrix:
sgpp::datadriven::DMSystemMatrixBase sgpp::base::OperationMatrix

Public Member Functions

 DMSystemMatrix (base::Grid &grid, base::DataMatrix &trainData, std::shared_ptr< base::OperationMatrix > C, double lambdaRegression)
 Std-Constructor.
 
virtual void generateb (base::DataVector &classes, base::DataVector &b)
 Generates the right hand side of the classification equation.
 
virtual void mult (base::DataVector &alpha, base::DataVector &result)
 starts the Multiplication with the matrix
 
virtual ~DMSystemMatrix ()
 Std-Destructor.
 
- Public Member Functions inherited from sgpp::datadriven::DMSystemMatrixBase
 DMSystemMatrixBase (base::DataMatrix &trainData, double lambda)
 Std-Constructor.
 
virtual void getTimers (double &timeMult, double &computeMult, double &timeMultTrans, double &computeMultTrans)
 gets the timer's values by saving them into call by reference values
 
virtual void prepareGrid ()
 forward declaration
 
virtual void resetTimers ()
 resets all timers to 0
 
virtual ~DMSystemMatrixBase ()
 Std-Destructor.
 
- Public Member Functions inherited from sgpp::base::OperationMatrix
 OperationMatrix ()
 Constructor.
 
virtual ~OperationMatrix ()
 Destructor.
 

Additional Inherited Members

- Protected Attributes inherited from sgpp::datadriven::DMSystemMatrixBase
double completeTimeMult_
 time needed for Mult
 
double completeTimeMultTrans_
 time needed for Mult transposed
 
double computeTimeMult_
 time needed only for the computation of mult, interesting on accelerator boards
 
double computeTimeMultTrans_
 time needed only for the computation of mult transposed, interesting on accelerator boards
 
base::DataMatrix dataset_
 the dataset
 
double lambda_
 the lambda, the regularisation parameter
 
base::SGppStopwatchmyTimer_
 Stopwatch needed to determine the durations of mult and mult transposed.
 

Detailed Description

Class that implements the virtual class base::OperationMatrix for applications for the Systemmatrix.

Constructor & Destructor Documentation

◆ DMSystemMatrix()

sgpp::datadriven::DMSystemMatrix::DMSystemMatrix ( base::Grid grid,
base::DataMatrix trainData,
std::shared_ptr< base::OperationMatrix C,
double  lambdaRegression 
)

Std-Constructor.

Parameters
gridreference to the sparse grid
trainDatareference to base::DataVector that contains the training data
Cthe regression functional
lambdaRegressionthe lambda, the regression parameter

References sgpp::op_factory::createOperationMultipleEval(), and sgpp::datadriven::DMSystemMatrixBase::dataset_.

◆ ~DMSystemMatrix()

sgpp::datadriven::DMSystemMatrix::~DMSystemMatrix ( )
virtual

Std-Destructor.

Member Function Documentation

◆ generateb()

void sgpp::datadriven::DMSystemMatrix::generateb ( base::DataVector classes,
base::DataVector b 
)
virtual

Generates the right hand side of the classification equation.

Parameters
classesthe class information of the training data
breference to the vector that will contain the result of the matrix vector multiplication on the rhs

Implements sgpp::datadriven::DMSystemMatrixBase.

References sgpp::op_factory::createOperationMultipleEval(), and sgpp::datadriven::DMSystemMatrixBase::dataset_.

◆ mult()

void sgpp::datadriven::DMSystemMatrix::mult ( base::DataVector alpha,
base::DataVector result 
)
virtual

starts the Multiplication with the matrix

Parameters
alphaDataVector that contains the ansatzfunctions' coefficients
resultDataVector into which the result of the Laplace operation is stored

Implements sgpp::datadriven::DMSystemMatrixBase.

References alpha, sgpp::base::DataVector::axpy(), sgpp::op_factory::createOperationMultipleEval(), sgpp::datadriven::DMSystemMatrixBase::dataset_, sgpp::base::DataMatrix::getNrows(), sgpp::base::DataVector::getSize(), and sgpp::datadriven::DMSystemMatrixBase::lambda_.


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