SG++-Doxygen-Documentation
|
DBMatOffline specialization that uses a cholesky factorization on a dense matrix. More...
#include <DBMatOfflineChol.hpp>
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... | |
DBMatOffline * | clone () override |
Interface for the clone idiom. More... | |
DBMatOfflineChol () | |
DBMatOfflineChol (const std::string &fileName) | |
void | decomposeMatrix (RegularizationConfiguration ®ularizationConfig, 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 ®ularizationConfig) 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... | |
DataMatrix & | getDecomposedMatrix () |
Get a reference to the decomposed matrix. More... | |
virtual size_t | getGridSize () |
Returns the dimensionality of the quadratic lhs matrix (i.e. More... | |
DataMatrix & | getLhsMatrix_ONLY_FOR_TESTING () |
Allows access to lhs matrix, which is meant ONLY FOR TESTING. More... | |
DBMatOffline & | operator= (const DBMatOffline &rhs) |
Default copy assign operator. More... | |
DBMatOffline & | operator= (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 |
DBMatOffline specialization that uses a cholesky factorization on a dense matrix.
The resulting factorization can be updated when the grid changes.
sgpp::datadriven::DBMatOfflineChol::DBMatOfflineChol | ( | ) |
|
explicit |
|
protected |
Updates the cholesky factor when a new grid point is added (e.g.
refine)
newCol | DataVector with column to add to the system matrix |
size | columns/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().
|
virtual |
Updates offline cholesky factorization based on coarsed (deletedPoints) and refined (newPoints) gridPoints.
grid | the underlying grid |
densityEstimationConfig | configuration for the density estimation |
newPoints | amount of refined points |
deletedPoints | list of indices of last coarsed points |
lambda | the regularization parameter |
Reimplemented in sgpp::datadriven::DBMatOfflineDenseIChol.
References choleskyAddPoint(), choleskyPermutation(), sgpp::datadriven::DBMatDMSChol::choleskyUpdate(), sgpp::base::DataMatrix::copyFrom(), sgpp::base::DataMatrix::get(), sgpp::base::DataMatrix::getColumn(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridStorage::getLevelIndexArraysForEval(), sgpp::base::DataMatrix::getNcols(), sgpp::base::DataMatrix::getNrows(), sgpp::base::HashGridStorage::getSize(), sgpp::base::Grid::getSize(), sgpp::base::Grid::getStorage(), python.statsfileInfo::i, python.utils.statsfile2gnuplot::j, lambda, level, sgpp::datadriven::DBMatOffline::lhsMatrix, sgpp::base::DataMatrix::resizeQuadratic(), sgpp::base::DataMatrix::resizeToSubMatrix(), sgpp::base::DataVector::resizeZero(), and sgpp::base::DataMatrix::set().
|
protected |
Permutes the rows of the cholesky factor based on permutations of the system matrix (e.g.
coarsening)
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().
|
overridevirtual |
Interface for the clone idiom.
Implements sgpp::datadriven::DBMatOffline.
Reimplemented in sgpp::datadriven::DBMatOfflineDenseIChol.
|
overridevirtual |
Decomposes the matrix according to the chosen decomposition type.
The number of rows of the stored result depends on the decomposition type.
regularizationConfig | the regularization configuration |
densityEstimationConfig | the 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().
|
overridevirtual |
Returns the decomposition type of the DBMatOffline object.
Implements sgpp::datadriven::DBMatOffline.
Reimplemented in sgpp::datadriven::DBMatOfflineDenseIChol.
References sgpp::datadriven::Chol.
|
overridevirtual |
Only Offline objects based on Cholesky decomposition, or orthogonal adaptivity can be refined.
Implements sgpp::datadriven::DBMatOffline.