SG++
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 (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 (const sgpp::base::RegularGridConfiguration &gridConfig, const sgpp::base::AdpativityConfiguration &adaptivityConfig, const sgpp::datadriven::RegularizationConfiguration &regularizationConfig, const sgpp::datadriven::DensityEstimationConfiguration &densityEstimationConfig)
 
 DBMatOfflineChol (const std::string &fileName)
 
void decomposeMatrix () override
 Decomposes the matrix according to the chosen decomposition type. 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 () override
 Builds the right hand side matrix with identity regularization term. More...
 
 DBMatOfflineGE (const sgpp::base::RegularGridConfiguration &gridConfig, const sgpp::base::AdpativityConfiguration &adaptivityConfig, const sgpp::datadriven::RegularizationConfiguration &regularizationConfig, const sgpp::datadriven::DensityEstimationConfiguration &densityEstimationConfig)
 
 DBMatOfflineGE (const std::string &fileName)
 
- Public Member Functions inherited from sgpp::datadriven::DBMatOffline
 DBMatOffline (const sgpp::base::RegularGridConfiguration &gridConfig, const sgpp::base::AdpativityConfiguration &adaptivityConfig, const sgpp::datadriven::RegularizationConfiguration &regularizationConfig, const sgpp::datadriven::DensityEstimationConfiguration &densityEstimationConfig)
 Constructor Build DBMatOffline Object from configuration. More...
 
 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...
 
sgpp::base::AdpativityConfigurationgetAdaptivityConfig ()
 Get a reference to the grid adaptivity configuration object. More...
 
DataMatrixgetDecomposedMatrix ()
 Get a reference to the decomposed matrix. More...
 
sgpp::datadriven::DensityEstimationConfigurationgetDensityEstimationConfig ()
 Get a reference to the matrix decomposition configuration object. More...
 
GridgetGrid ()
 Returns a reference to the sparse grid. More...
 
sgpp::base::RegularGridConfigurationgetGridConfig ()
 Get a reference to the grid configuration object. More...
 
DataMatrixgetLhsMatrix_ONLY_FOR_TESTING ()
 Allows access to lhs matrix, which is meant ONLY FOR TESTING. More...
 
sgpp::datadriven::RegularizationConfigurationgetRegularizationConfig ()
 Get a reference to the grid regularization configuration object. 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...
 
void setInter (std::vector< std::vector< size_t >> interactions)
 Sets interaction Term. 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 InitializeGrid ()
 Build the initial sparse grid. More...
 
void parseConfig (const std::string &fileName, sgpp::base::RegularGridConfiguration &gridConfig, sgpp::base::AdpativityConfiguration &adaptivityConfig, sgpp::datadriven::RegularizationConfiguration &regularizationConfig, sgpp::datadriven::DensityEstimationConfiguration &densityEstimationConfig) const
 Read the configuration from a serialized DBMatOffline object. More...
 
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
sgpp::base::AdpativityConfiguration adaptivityConfig
 
sgpp::datadriven::DensityEstimationConfiguration densityEstimationConfig
 
std::unique_ptr< Gridgrid
 An offline object works on a hierarchical basis grid. More...
 
sgpp::base::RegularGridConfiguration gridConfig
 
bool isConstructed
 
bool isDecomposed
 
DataMatrix lhsMatrix
 
sgpp::datadriven::RegularizationConfiguration regularizationConfig
 

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

sgpp::datadriven::DBMatOfflineChol::DBMatOfflineChol ( const sgpp::base::RegularGridConfiguration gridConfig,
const sgpp::base::AdpativityConfiguration adaptivityConfig,
const sgpp::datadriven::RegularizationConfiguration regularizationConfig,
const sgpp::datadriven::DensityEstimationConfiguration densityEstimationConfig 
)
explicit
sgpp::datadriven::DBMatOfflineChol::DBMatOfflineChol ( const std::string &  fileName)
explicit

Member Function Documentation

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().

void sgpp::datadriven::DBMatOfflineChol::choleskyModification ( size_t  newPoints,
std::list< size_t >  deletedPoints,
double  lambda 
)
virtual
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(), sgpp::datadriven::DBMatOffline::isDecomposed, sgpp::datadriven::DBMatOffline::lhsMatrix, and m.

Referenced by choleskyModification().

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.

void sgpp::datadriven::DBMatOfflineChol::decomposeMatrix ( )
overridevirtual
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: