SG++-Doxygen-Documentation
sgpp::datadriven::DBMatOfflineChol Class Reference

DBMatOffline specialization that uses a cholesky factorization on a dense matrix. More...

#include <DBMatOfflineChol.hpp>

Inheritance diagram for sgpp::datadriven::DBMatOfflineChol:
sgpp::datadriven::DBMatOfflineGE sgpp::datadriven::DBMatOffline sgpp::datadriven::DBMatOfflineDenseIChol

Public Member Functions

virtual void choleskyModification (Grid &grid, datadriven::DensityEstimationConfiguration &densityEstimationConfig, size_t newPoints, std::list< size_t > deletedPoints, double lambda)
 Updates offline cholesky factorization based on coarsed (deletedPoints) and refined (newPoints) gridPoints. More...
 
DBMatOfflineclone () override
 Interface for the clone idiom. More...
 
 DBMatOfflineChol ()
 
 DBMatOfflineChol (const std::string &fileName)
 
void decomposeMatrix (RegularizationConfiguration &regularizationConfig, DensityEstimationConfiguration &densityEstimationConfig) override
 Decomposes the matrix according to the chosen decomposition type. More...
 
sgpp::datadriven::MatrixDecompositionType getDecompositionType () override
 Returns the decomposition type of the DBMatOffline object. More...
 
bool isRefineable () override
 Only Offline objects based on Cholesky decomposition, or orthogonal adaptivity can be refined. More...
 
- Public Member Functions inherited from sgpp::datadriven::DBMatOfflineGE
void buildMatrix (Grid *grid, RegularizationConfiguration &regularizationConfig) override
 Builds the right hand side matrix with identity regularization term. More...
 
 DBMatOfflineGE (const std::string &fileName)
 
- Public Member Functions inherited from sgpp::datadriven::DBMatOffline
 DBMatOffline (const std::string &fileName)
 Constructor Create offline object from serialized offline object. More...
 
 DBMatOffline (const DBMatOffline &rhs)
 Copy Constructor. More...
 
 DBMatOffline (DBMatOffline &&rhs)=default
 Default move constructor. More...
 
DataMatrixgetDecomposedMatrix ()
 Get a reference to the decomposed matrix. More...
 
virtual size_t getGridSize ()
 Returns the dimensionality of the quadratic lhs matrix (i.e. More...
 
DataMatrixgetLhsMatrix_ONLY_FOR_TESTING ()
 Allows access to lhs matrix, which is meant ONLY FOR TESTING. More...
 
DBMatOfflineoperator= (const DBMatOffline &rhs)
 Default copy assign operator. More...
 
DBMatOfflineoperator= (DBMatOffline &&rhs)=default
 Default move assign operator. More...
 
void printMatrix ()
 Prints the matrix onto standard output. More...
 
virtual void store (const std::string &fileName)
 Serialize the DBMatOffline Object. More...
 
virtual ~DBMatOffline ()=default
 Default virtual destructor. More...
 

Protected Member Functions

void choleskyAddPoint (DataVector &newCol, size_t size)
 Updates the cholesky factor when a new grid point is added (e.g. More...
 
void choleskyPermutation (size_t k, size_t l, size_t job)
 Permutes the rows of the cholesky factor based on permutations of the system matrix (e.g. More...
 
- Protected Member Functions inherited from sgpp::datadriven::DBMatOfflineGE
 DBMatOfflineGE ()
 
- Protected Member Functions inherited from sgpp::datadriven::DBMatOffline
 DBMatOffline ()
 
void parseInter (const std::string &fileName, std::vector< std::vector< size_t >> &interactions) const
 Read the Interactionsterms from a serialized DBMatOfflibe object. More...
 

Additional Inherited Members

- Public Attributes inherited from sgpp::datadriven::DBMatOffline
std::vector< std::vector< size_t > > interactions
 
- Protected Attributes inherited from sgpp::datadriven::DBMatOffline
bool isConstructed
 
bool isDecomposed
 
DataMatrix lhsMatrix
 

Detailed Description

DBMatOffline specialization that uses a cholesky factorization on a dense matrix.

The resulting factorization can be updated when the grid changes.

Constructor & Destructor Documentation

◆ DBMatOfflineChol() [1/2]

sgpp::datadriven::DBMatOfflineChol::DBMatOfflineChol ( )

◆ DBMatOfflineChol() [2/2]

sgpp::datadriven::DBMatOfflineChol::DBMatOfflineChol ( const std::string &  fileName)
explicit

Member Function Documentation

◆ choleskyAddPoint()

void sgpp::datadriven::DBMatOfflineChol::choleskyAddPoint ( DataVector newCol,
size_t  size 
)
protected

Updates the cholesky factor when a new grid point is added (e.g.

refine)

Parameters
newColDataVector with column to add to the system matrix
sizecolumns/rows of current Cholesky factor, necessary since the allocated memory is increased before the Cholesky factor is modified

References sgpp::base::DataMatrix::getNrows(), sgpp::base::DataVector::getPointer(), sgpp::base::DataMatrix::getPointer(), sgpp::base::DataVector::getSize(), sgpp::datadriven::DBMatOffline::isDecomposed, sgpp::datadriven::DBMatOffline::lhsMatrix, m, sgpp::base::DataVector::resizeZero(), sgpp::base::DataVector::set(), sgpp::base::DataMatrix::setColumn(), and sgpp::base::DataMatrix::setRow().

Referenced by choleskyModification().

◆ choleskyModification()

void sgpp::datadriven::DBMatOfflineChol::choleskyModification ( Grid grid,
datadriven::DensityEstimationConfiguration densityEstimationConfig,
size_t  newPoints,
std::list< size_t >  deletedPoints,
double  lambda 
)
virtual

◆ choleskyPermutation()

void sgpp::datadriven::DBMatOfflineChol::choleskyPermutation ( size_t  k,
size_t  l,
size_t  job 
)
protected

Permutes the rows of the cholesky factor based on permutations of the system matrix (e.g.

coarsening)

Parameters
k"left" column to permutate
l"right" column to permutate
job= 2 => left circular shift 1,...,k-1,k,k+1, ..., l-1,l,l+1, ..,size => 1,...,k-1,k+1, ..., l-1,l,k,l+1,..., size job = 1 => right circular shift 1,...,k-1,k,k+1, ..., l-1,l,l+1,...size => 1,...,k-1,l,k,k+1, ..., l-1,l+1,...size

References sgpp::base::DataMatrix::getNrows(), sgpp::base::DataMatrix::getPointer(), python.statsfileInfo::i, sgpp::datadriven::DBMatOffline::isDecomposed, python.utils.statsfile2gnuplot::j, sgpp::datadriven::DBMatOffline::lhsMatrix, and m.

Referenced by choleskyModification().

◆ clone()

DBMatOffline * sgpp::datadriven::DBMatOfflineChol::clone ( )
overridevirtual

Interface for the clone idiom.

Returns
a copy of this very object as a pointer to a new DBMatOffline object which is owned by the caller.

Implements sgpp::datadriven::DBMatOffline.

Reimplemented in sgpp::datadriven::DBMatOfflineDenseIChol.

◆ decomposeMatrix()

void sgpp::datadriven::DBMatOfflineChol::decomposeMatrix ( RegularizationConfiguration regularizationConfig,
DensityEstimationConfiguration densityEstimationConfig 
)
overridevirtual

Decomposes the matrix according to the chosen decomposition type.

The number of rows of the stored result depends on the decomposition type.

Parameters
regularizationConfigthe regularization configuration
densityEstimationConfigthe density estimation configuration

Implements sgpp::datadriven::DBMatOffline.

Reimplemented in sgpp::datadriven::DBMatOfflineDenseIChol.

References python.leja::count, sgpp::base::DataMatrix::getNrows(), sgpp::base::DataMatrix::getPointer(), python.statsfileInfo::i, sgpp::datadriven::DBMatOffline::isConstructed, sgpp::datadriven::DBMatOffline::isDecomposed, python.utils.statsfile2gnuplot::j, sgpp::datadriven::DBMatOffline::lhsMatrix, m, and sgpp::base::DataMatrix::set().

◆ getDecompositionType()

sgpp::datadriven::MatrixDecompositionType sgpp::datadriven::DBMatOfflineChol::getDecompositionType ( )
overridevirtual

Returns the decomposition type of the DBMatOffline object.

Returns
the type of matrix decomposition

Implements sgpp::datadriven::DBMatOffline.

Reimplemented in sgpp::datadriven::DBMatOfflineDenseIChol.

References sgpp::datadriven::Chol.

◆ isRefineable()

bool sgpp::datadriven::DBMatOfflineChol::isRefineable ( )
overridevirtual

Only Offline objects based on Cholesky decomposition, or orthogonal adaptivity can be refined.

Returns
true if object can be refined, else false;

Implements sgpp::datadriven::DBMatOffline.


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