SG++-Doxygen-Documentation
|
Interface for multiplication with Matrices \(B\) and \(B^T\). More...
#include <OperationMultipleEval.hpp>
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 | |
DataMatrix & | dataset |
Grid & | grid |
bool | isPrepared |
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
|
inline |
Constructor.
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 |
|
inlinevirtual |
|
inline |
Evaluate multiple datapoints with the specified grid.
alpha | surplus vector of the grid |
result | result of the evaluations |
References mult().
Referenced by python.uq.analysis.asgc.ASGCAnalysis.ASGCAnalysis::estimateDensity(), sgpp::datadriven::DBMatOnlineDE::eval(), sgpp::datadriven::ModelFittingLeastSquares::evaluate(), sgpp::datadriven::ModelFittingDensityEstimationCG::evaluate(), main(), and sgpp::datadriven::LearnerSGDE::pdf().
|
pure virtual |
Implemented in sgpp::datadriven::StreamingOCLMultiPlatform::OperationMultiEvalStreamingOCLMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLFastMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLUnified< T >, sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >, sgpp::datadriven::AbstractOperationMultipleEvalSubspace, sgpp::datadriven::OperationMultiEvalCuda, sgpp::datadriven::OperationMultiEvalModMaskStreaming, sgpp::base::OperationMultipleEvalInterModLinear, sgpp::datadriven::OperationMultiEvalStreaming, sgpp::datadriven::OperationMultiEvalMPI, sgpp::datadriven::OperationMultiEvalHPX, sgpp::base::OperationMultipleEvalLinearStretchedBoundary, sgpp::base::OperationMultipleEvalModPoly, sgpp::base::OperationMultipleEvalLinearBoundary, sgpp::base::OperationMultipleEvalPeriodic, sgpp::base::OperationMultipleEvalPoly, sgpp::base::OperationMultipleEvalPolyBoundary, sgpp::base::OperationMultipleEvalLinearStretched, sgpp::base::OperationMultipleEvalModLinear, sgpp::base::OperationMultipleEvalPrewavelet, sgpp::base::OperationMultipleEvalLinear, sgpp::datadriven::OperationMultipleEvalMatrix, sgpp::base::OperationMultipleEvalBsplineNaive, sgpp::base::OperationMultipleEvalModBsplineNaive, sgpp::base::OperationMultipleEvalPolyClenshawCurtisBoundaryNaive, sgpp::base::OperationMultipleEvalBsplineBoundaryNaive, sgpp::base::OperationMultipleEvalBsplineClenshawCurtisNaive, sgpp::base::OperationMultipleEvalLinearBoundaryNaive, sgpp::base::OperationMultipleEvalLinearClenshawCurtisBoundaryNaive, sgpp::base::OperationMultipleEvalLinearClenshawCurtisNaive, sgpp::base::OperationMultipleEvalLinearNaive, sgpp::base::OperationMultipleEvalModBsplineClenshawCurtisNaive, sgpp::base::OperationMultipleEvalModLinearClenshawCurtisNaive, sgpp::base::OperationMultipleEvalModPolyClenshawCurtisNaive, sgpp::base::OperationMultipleEvalPolyBoundaryNaive, sgpp::base::OperationMultipleEvalPolyClenshawCurtisNaive, and sgpp::base::OperationMultipleEvalPolyNaive.
Referenced by hpx_main(), main(), and prepare().
|
inlinevirtual |
Name of this implementation of the operation.
Reimplemented in sgpp::datadriven::OperationMultipleEvalSubspaceCombined, and sgpp::datadriven::OperationMultipleEvalSubspaceSimple.
|
pure virtual |
Multiplication of \(B^T\) with vector \(\alpha\).
alpha | vector, to which \(B\) is applied. Typically the coefficient vector |
result | the result vector of the matrix vector multiplication |
Implemented in sgpp::datadriven::StreamingOCLMultiPlatform::OperationMultiEvalStreamingOCLMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLFastMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLUnified< T >, sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >, sgpp::datadriven::AbstractOperationMultipleEvalSubspace, sgpp::datadriven::OperationMultiEvalCuda, sgpp::datadriven::OperationMultiEvalModMaskStreaming, sgpp::base::OperationMultipleEvalInterModLinear, sgpp::datadriven::OperationMultiEvalStreaming, sgpp::datadriven::OperationMultiEvalHPX, sgpp::datadriven::OperationMultiEvalMPI, sgpp::base::OperationMultipleEvalLinearStretchedBoundary, sgpp::base::OperationMultipleEvalModPoly, sgpp::base::OperationMultipleEvalLinearBoundary, sgpp::base::OperationMultipleEvalPeriodic, sgpp::base::OperationMultipleEvalPoly, sgpp::base::OperationMultipleEvalPolyBoundary, sgpp::base::OperationMultipleEvalLinearStretched, sgpp::base::OperationMultipleEvalModLinear, sgpp::base::OperationMultipleEvalPrewavelet, sgpp::base::OperationMultipleEvalLinear, sgpp::datadriven::OperationMultipleEvalMatrix, sgpp::base::OperationMultipleEvalBsplineNaive, sgpp::base::OperationMultipleEvalModBsplineNaive, sgpp::base::OperationMultipleEvalPolyClenshawCurtisBoundaryNaive, sgpp::base::OperationMultipleEvalBsplineBoundaryNaive, sgpp::base::OperationMultipleEvalBsplineClenshawCurtisNaive, sgpp::base::OperationMultipleEvalLinearBoundaryNaive, sgpp::base::OperationMultipleEvalLinearClenshawCurtisBoundaryNaive, sgpp::base::OperationMultipleEvalLinearClenshawCurtisNaive, sgpp::base::OperationMultipleEvalLinearNaive, sgpp::base::OperationMultipleEvalModBsplineClenshawCurtisNaive, sgpp::base::OperationMultipleEvalModLinearClenshawCurtisNaive, sgpp::base::OperationMultipleEvalModPolyClenshawCurtisNaive, sgpp::base::OperationMultipleEvalPolyBoundaryNaive, sgpp::base::OperationMultipleEvalPolyClenshawCurtisNaive, and sgpp::base::OperationMultipleEvalPolyNaive.
Referenced by sgpp::quadrature::OperationQuadratureMCAdvanced::doQuadrature(), sgpp::datadriven::OperationDensityRejectionSamplingLinear::doSampling(), eval(), hpx_main(), main(), sgpp::datadriven::DMWeightMatrix::mult(), sgpp::datadriven::MultipleEvalHPX::LocalityMultiplier::mult(), sgpp::datadriven::OperationMultiEvalMPI::multSlave(), sgpp::datadriven::LearnerLeastSquaresIdentity::multTranspose(), sgpp::datadriven::LearnerLeastSquaresIdentity::predict(), sgpp::datadriven::LearnerBaseSP::predict(), sgpp::datadriven::LearnerBase::predict(), sgpp::solver::Fista< F >::solve(), sgpp::datadriven::LearnerLeastSquaresIdentity::testRegular(), and ~OperationMultipleEval().
|
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.
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 |
Reimplemented in sgpp::datadriven::StreamingOCLMultiPlatform::OperationMultiEvalStreamingOCLMultiPlatform< T >.
References multTranspose().
|
pure virtual |
Multiplication of \(B\) with vector \(\alpha\).
source | vector, to which \(B^T\) is applied. Typically the coefficient vector |
result | the result vector of the matrix vector multiplication |
Implemented in sgpp::datadriven::StreamingOCLMultiPlatform::OperationMultiEvalStreamingOCLMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLFastMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLUnified< T >, sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >, sgpp::datadriven::OperationMultiEvalCuda, sgpp::datadriven::OperationMultiEvalModMaskStreaming, sgpp::base::OperationMultipleEvalInterModLinear, sgpp::datadriven::OperationMultiEvalStreaming, sgpp::datadriven::OperationMultiEvalMPI, sgpp::datadriven::OperationMultiEvalHPX, sgpp::base::OperationMultipleEvalLinearStretchedBoundary, sgpp::base::OperationMultipleEvalModPoly, sgpp::base::OperationMultipleEvalLinearBoundary, sgpp::base::OperationMultipleEvalPeriodic, sgpp::base::OperationMultipleEvalPoly, sgpp::base::OperationMultipleEvalPolyBoundary, sgpp::datadriven::AbstractOperationMultipleEvalSubspace, sgpp::base::OperationMultipleEvalLinearStretched, sgpp::base::OperationMultipleEvalModLinear, sgpp::base::OperationMultipleEvalPrewavelet, sgpp::base::OperationMultipleEvalLinear, sgpp::datadriven::OperationMultipleEvalMatrix, sgpp::base::OperationMultipleEvalBsplineNaive, sgpp::base::OperationMultipleEvalModBsplineNaive, sgpp::base::OperationMultipleEvalPolyClenshawCurtisBoundaryNaive, sgpp::base::OperationMultipleEvalBsplineBoundaryNaive, sgpp::base::OperationMultipleEvalBsplineClenshawCurtisNaive, sgpp::base::OperationMultipleEvalLinearBoundaryNaive, sgpp::base::OperationMultipleEvalLinearClenshawCurtisBoundaryNaive, sgpp::base::OperationMultipleEvalLinearClenshawCurtisNaive, sgpp::base::OperationMultipleEvalLinearNaive, sgpp::base::OperationMultipleEvalModBsplineClenshawCurtisNaive, sgpp::base::OperationMultipleEvalModLinearClenshawCurtisNaive, sgpp::base::OperationMultipleEvalModPolyClenshawCurtisNaive, sgpp::base::OperationMultipleEvalPolyBoundaryNaive, sgpp::base::OperationMultipleEvalPolyClenshawCurtisNaive, and sgpp::base::OperationMultipleEvalPolyNaive.
Referenced by sgpp::datadriven::DBMatOnlineDE::computeDensityFunction(), sgpp::datadriven::DMWeightMatrix::generateb(), main(), sgpp::datadriven::DMWeightMatrix::mult(), mult(), sgpp::datadriven::LearnerBase::multTranspose(), and sgpp::solver::Fista< F >::solve().
|
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.
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 |
Reimplemented in sgpp::datadriven::StreamingOCLMultiPlatform::OperationMultiEvalStreamingOCLMultiPlatform< T >.
|
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.
Reimplemented in sgpp::datadriven::StreamingOCLMultiPlatform::OperationMultiEvalStreamingOCLMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLFastMultiPlatform< T >, sgpp::datadriven::OperationMultiEvalStreamingModOCLUnified< T >, sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >, sgpp::datadriven::OperationMultipleEvalSubspaceCombined, sgpp::datadriven::OperationMultipleEvalSubspaceSimple, sgpp::datadriven::OperationMultiEvalCuda, sgpp::datadriven::OperationMultiEvalModMaskStreaming, sgpp::datadriven::OperationMultiEvalStreaming, sgpp::datadriven::OperationMultiEvalMPI, and sgpp::datadriven::OperationMultiEvalHPX.
References getDuration().
Referenced by hpx_main(), main(), sgpp::datadriven::AbstractOperationMultipleEvalSubspace::mult(), and sgpp::datadriven::AbstractOperationMultipleEvalSubspace::multTranspose().
|
protected |
Referenced by sgpp::datadriven::AbstractOperationMultipleEvalSubspace::getPaddedDatasetSize(), sgpp::base::OperationMultipleEvalBsplineBoundaryNaive::mult(), sgpp::base::OperationMultipleEvalLinearClenshawCurtisNaive::mult(), sgpp::base::OperationMultipleEvalLinearNaive::mult(), sgpp::base::OperationMultipleEvalModPolyClenshawCurtisNaive::mult(), sgpp::base::OperationMultipleEvalPolyBoundaryNaive::mult(), sgpp::base::OperationMultipleEvalPolyClenshawCurtisNaive::mult(), sgpp::base::OperationMultipleEvalBsplineClenshawCurtisNaive::mult(), sgpp::base::OperationMultipleEvalLinearBoundaryNaive::mult(), sgpp::base::OperationMultipleEvalModBsplineClenshawCurtisNaive::mult(), sgpp::base::OperationMultipleEvalPolyNaive::mult(), sgpp::base::OperationMultipleEvalLinearClenshawCurtisBoundaryNaive::mult(), sgpp::base::OperationMultipleEvalModLinearClenshawCurtisNaive::mult(), sgpp::base::OperationMultipleEvalBsplineNaive::mult(), sgpp::base::OperationMultipleEvalPolyClenshawCurtisBoundaryNaive::mult(), sgpp::base::OperationMultipleEvalModBsplineNaive::mult(), sgpp::datadriven::OperationMultipleEvalMatrix::mult(), sgpp::base::OperationMultipleEvalLinear::mult(), sgpp::base::OperationMultipleEvalLinearStretched::mult(), sgpp::base::OperationMultipleEvalPrewavelet::mult(), sgpp::base::OperationMultipleEvalModLinear::mult(), sgpp::base::OperationMultipleEvalPeriodic::mult(), sgpp::base::OperationMultipleEvalPoly::mult(), sgpp::base::OperationMultipleEvalPolyBoundary::mult(), sgpp::base::OperationMultipleEvalLinearBoundary::mult(), sgpp::base::OperationMultipleEvalModPoly::mult(), sgpp::base::OperationMultipleEvalLinearStretchedBoundary::mult(), sgpp::datadriven::OperationMultiEvalHPX::mult(), sgpp::datadriven::OperationMultiEvalMPI::mult(), sgpp::base::OperationMultipleEvalInterModLinear::mult(), sgpp::datadriven::OperationMultipleEvalSubspaceSimple::multImpl(), sgpp::datadriven::OperationMultiEvalMPI::multSlave(), sgpp::base::OperationMultipleEvalModLinearClenshawCurtisNaive::multTranspose(), sgpp::base::OperationMultipleEvalLinearClenshawCurtisBoundaryNaive::multTranspose(), sgpp::base::OperationMultipleEvalModPolyClenshawCurtisNaive::multTranspose(), sgpp::base::OperationMultipleEvalLinearClenshawCurtisNaive::multTranspose(), sgpp::base::OperationMultipleEvalBsplineClenshawCurtisNaive::multTranspose(), sgpp::base::OperationMultipleEvalLinearBoundaryNaive::multTranspose(), sgpp::base::OperationMultipleEvalLinearNaive::multTranspose(), sgpp::base::OperationMultipleEvalPolyBoundaryNaive::multTranspose(), sgpp::base::OperationMultipleEvalBsplineBoundaryNaive::multTranspose(), sgpp::base::OperationMultipleEvalPolyClenshawCurtisNaive::multTranspose(), sgpp::base::OperationMultipleEvalPolyNaive::multTranspose(), sgpp::base::OperationMultipleEvalModBsplineClenshawCurtisNaive::multTranspose(), sgpp::base::OperationMultipleEvalPolyClenshawCurtisBoundaryNaive::multTranspose(), sgpp::base::OperationMultipleEvalBsplineNaive::multTranspose(), sgpp::base::OperationMultipleEvalModBsplineNaive::multTranspose(), sgpp::datadriven::OperationMultipleEvalMatrix::multTranspose(), sgpp::base::OperationMultipleEvalLinear::multTranspose(), sgpp::base::OperationMultipleEvalLinearStretched::multTranspose(), sgpp::base::OperationMultipleEvalPrewavelet::multTranspose(), sgpp::base::OperationMultipleEvalModLinear::multTranspose(), sgpp::base::OperationMultipleEvalLinearBoundary::multTranspose(), sgpp::base::OperationMultipleEvalPeriodic::multTranspose(), sgpp::base::OperationMultipleEvalPolyBoundary::multTranspose(), sgpp::base::OperationMultipleEvalPoly::multTranspose(), sgpp::base::OperationMultipleEvalModPoly::multTranspose(), sgpp::base::OperationMultipleEvalLinearStretchedBoundary::multTranspose(), sgpp::datadriven::OperationMultiEvalStreaming::multTranspose(), sgpp::base::OperationMultipleEvalInterModLinear::multTranspose(), sgpp::datadriven::OperationMultiEvalModMaskStreaming::multTranspose(), sgpp::datadriven::OperationMultipleEvalSubspaceSimple::multTransposeImpl(), sgpp::datadriven::OperationMultipleEvalSubspaceCombined::padDataset(), sgpp::datadriven::OperationMultiEvalCuda::prepare(), sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::prepare(), sgpp::datadriven::OperationMultiEvalStreamingModOCLUnified< T >::prepare(), sgpp::datadriven::OperationMultiEvalStreamingModOCLFastMultiPlatform< T >::prepare(), sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::prepare(), sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::prepare(), and sgpp::datadriven::StreamingOCLMultiPlatform::OperationMultiEvalStreamingOCLMultiPlatform< T >::prepare().
|
protected |
Referenced by python.uq.dists.SGDEdist.SGDEdist::__str__(), python.learner.Learner.Learner::applyData(), python.tools.Matrix::ApplyMatrix(), python.uq.dists.SGDEdist.SGDEdist::cdf(), python.uq.learner.Interpolant.Interpolant::doLearningIteration(), python.learner.Learner.Learner::doLearningIteration(), python.learner.Classifier.Classifier::evalError(), python.uq.learner.Interpolant.Interpolant::evalError(), python.tools.Matrix::generateb(), python.controller.CheckpointController.CheckpointController::generateFoldValidationJob(), python.uq.learner.SimulationLearner.SimulationLearner::getCollocationNodes(), python.uq.learner.SimulationLearner.SimulationLearner::getGrid(), python.uq.learner.SimulationLearner.SimulationLearner::getLearner(), python.uq.learner.Regressor.Regressor::learnData(), python.learner.Learner.Learner::learnData(), python.uq.learner.Regressor.Regressor::learnDataWithFolding(), python.learner.Learner.Learner::learnDataWithFolding(), python.uq.learner.Regressor.Regressor::learnDataWithTest(), python.learner.Learner.Learner::learnDataWithTest(), python.controller.CheckpointController.CheckpointController::loadAll(), python.uq.operations.forcePositivity.operationMakePositive.OperationMakePositive::makePositive(), python.uq.operations.forcePositivity.operationMakePositiveFast.OperationMakePositiveFast::makePositive(), python.uq.dists.SGDEdist.SGDEdist::mean(), sgpp::datadriven::OperationMultiEvalHPX::mult(), sgpp::datadriven::OperationMultiEvalMPI::multSlave(), sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::OperationMultiEvalStreamingBSplineOCL(), python.uq.dists.SGDEdist.SGDEdist::pdf(), python.uq.dists.SGDEdist.SGDEdist::ppf(), sgpp::datadriven::OperationMultiEvalCuda::prepare(), sgpp::datadriven::OperationMultiEvalStreamingModOCLUnified< T >::prepare(), sgpp::datadriven::OperationMultiEvalStreamingModOCLFastMultiPlatform< T >::prepare(), sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::prepare(), sgpp::datadriven::StreamingOCLMultiPlatform::OperationMultiEvalStreamingOCLMultiPlatform< T >::prepare(), python.learner.Classifier.Classifier::refineGrid(), python.learner.Regressor.Regressor::refineGrid(), python.uq.learner.Regressor.Regressor::refineGrid(), python.uq.learner.SimulationLearner.SimulationLearner::refineGrid(), python.controller.CheckpointController.CheckpointController::saveGrid(), python.controller.CheckpointController.CheckpointController::setGrid(), python.uq.learner.Learner.Learner::setGrid(), python.learner.Learner.Learner::setGrid(), python.uq.operations.forcePositivity.localFullGridSearch.LocalFullGrid::split(), python.uq.dists.SGDEdist.SGDEdist::toJson(), python.learner.Classifier.Classifier::updateResults(), python.learner.Regressor.Regressor::updateResults(), python.uq.learner.Regressor.Regressor::updateResults(), and python.uq.dists.SGDEdist.SGDEdist::var().
|
protected |