SG++
sgpp::datadriven::DMSystemMatrixBase Class Referenceabstract

Abstract class that defines the virtual class base::OperationMatrix for classification and regression problems. More...

#include <DMSystemMatrixBase.hpp>

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

Public Member Functions

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

Protected Attributes

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

Detailed Description

Abstract class that defines the virtual class base::OperationMatrix for classification and regression problems.

Constructor & Destructor Documentation

sgpp::datadriven::DMSystemMatrixBase::DMSystemMatrixBase ( base::DataMatrix trainData,
double  lambda 
)

Std-Constructor.

Parameters
trainDatamatrix with training data
lambdathe lambda, the regression parameter

References myTimer_.

sgpp::datadriven::DMSystemMatrixBase::~DMSystemMatrixBase ( )
virtual

Std-Destructor.

References myTimer_.

Member Function Documentation

virtual void sgpp::datadriven::DMSystemMatrixBase::generateb ( base::DataVector classes,
base::DataVector b 
)
pure 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

Implemented in sgpp::datadriven::SystemMatrixLeastSquaresIdentity, and sgpp::datadriven::DMSystemMatrix.

Referenced by sgpp::datadriven::LearnerBase::train().

void sgpp::datadriven::DMSystemMatrixBase::getTimers ( double &  timeMult,
double &  computeMult,
double &  timeMultTrans,
double &  computeMultTrans 
)
virtual

gets the timer's values by saving them into call by reference values

Parameters
timeMultvariable to store overall time needed for Mult
computeMultvariable to store compute time needed for Mult
timeMultTransvariable to store everall time needed for Mult Transposed
computeMultTransvariable to store compute time needed for Mult Transposed

References completeTimeMult_, completeTimeMultTrans_, computeTimeMult_, and computeTimeMultTrans_.

Referenced by sgpp::datadriven::LearnerBase::train().

virtual void sgpp::datadriven::DMSystemMatrixBase::mult ( base::DataVector alpha,
base::DataVector result 
)
pure 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::base::OperationMatrix.

Implemented in sgpp::datadriven::SystemMatrixLeastSquaresIdentity, and sgpp::datadriven::DMSystemMatrix.

void sgpp::datadriven::DMSystemMatrixBase::prepareGrid ( )
virtual

forward declaration

rebuilds the base::DataMatrix for Level and Index this routine is needed for supporting adaptive grids with vectorized high performance kernels

Reimplemented in sgpp::datadriven::SystemMatrixLeastSquaresIdentity.

Referenced by sgpp::datadriven::LearnerBase::train().

void sgpp::datadriven::DMSystemMatrixBase::resetTimers ( )
virtual

Member Data Documentation

double sgpp::datadriven::DMSystemMatrixBase::completeTimeMult_
protected
double sgpp::datadriven::DMSystemMatrixBase::completeTimeMultTrans_
protected
double sgpp::datadriven::DMSystemMatrixBase::computeTimeMult_
protected

time needed only for the computation of mult, interesting on accelerator boards

Referenced by getTimers(), sgpp::datadriven::SystemMatrixLeastSquaresIdentity::mult(), and resetTimers().

double sgpp::datadriven::DMSystemMatrixBase::computeTimeMultTrans_
protected

time needed only for the computation of mult transposed, interesting on accelerator boards

Referenced by sgpp::datadriven::SystemMatrixLeastSquaresIdentity::generateb(), getTimers(), sgpp::datadriven::SystemMatrixLeastSquaresIdentity::mult(), and resetTimers().

double sgpp::datadriven::DMSystemMatrixBase::lambda_
protected
base::SGppStopwatch* sgpp::datadriven::DMSystemMatrixBase::myTimer_
protected

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