SG++-Doxygen-Documentation
|
Solve the system of equations with a LL'-decomposed matrix where LL' is created by an iterative, incomplete cholesky factorization on a dense matrix. More...
#include <DBMatDMSDenseIChol.hpp>
Public Member Functions | |
DBMatDMSDenseIChol (const sgpp::datadriven::DensityEstimationConfiguration &densityEstimationConfig, Grid &grid, double lambda, bool doCV) | |
Public Member Functions inherited from sgpp::datadriven::DBMatDMSChol | |
void | choleskyDowndate (sgpp::base::DataMatrix &decompMatrix, const sgpp::base::DataVector &downdate, bool do_cv=false) const |
Performe a rank one cholesky downdate. More... | |
void | choleskyUpdate (sgpp::base::DataMatrix &decompMatrix, const sgpp::base::DataVector &update, bool do_cv=false) const |
Performe a rank one cholesky update. More... | |
DBMatDMSChol ()=default | |
Default constructor. More... | |
virtual void | solve (sgpp::base::DataMatrix &decompMatrix, sgpp::base::DataVector &alpha, const sgpp::base::DataVector &b, double lambda_old, double lambda_new) const |
Solves a system of equations. More... | |
Public Member Functions inherited from sgpp::datadriven::DBMatDecompMatrixSolver | |
DBMatDecompMatrixSolver () | |
Public Member Functions inherited from sgpp::solver::SGSolver | |
double | getEpsilon () |
gets the the epsilon, that is used in the SGSolver More... | |
size_t | getNumberIterations () |
function that returns the number of needed solve steps More... | |
double | getResiduum () |
function the returns the residuum (current or final), error of the solver More... | |
void | setEpsilon (double eps) |
resets the epsilon, that is used in the SGSolver More... | |
void | setMaxIterations (size_t nIterations) |
resets the number of maximum iterations More... | |
SGSolver (size_t nMaximumIterations, double epsilon) | |
Std-Constructor. More... | |
virtual | ~SGSolver () |
Std-Destructor. More... | |
Protected Member Functions | |
void | choleskyBackwardSolve (const DataMatrix &decompMatrix, const DataVector &y, DataVector &alpha) const override |
Perform backward substitution solving the triangular system $A alpha = y$ with a parallel Jaccobi solver. More... | |
void | choleskyForwardSolve (const DataMatrix &decompMatrix, const DataVector &b, DataVector &y) const override |
Perform forward substitution solving the triangular system $L y = b$ with a parallel Jaccobi solver. More... | |
void | choleskyUpdateLambda (DataMatrix &decompMatrix, double lambdaUp) const override |
Update the regularization factor of the decomposition. More... | |
Additional Inherited Members | |
Protected Attributes inherited from sgpp::solver::SGSolver | |
double | myEpsilon |
epsilon needed in the, e.g. final error in the iterative solver, or a timestep More... | |
size_t | nIterations |
Number of Iterations needed for the solve. More... | |
size_t | nMaxIterations |
Number of maximum iterations for cg. More... | |
double | residuum |
residuum More... | |
Solve the system of equations with a LL'-decomposed matrix where LL' is created by an iterative, incomplete cholesky factorization on a dense matrix.
sgpp::datadriven::DBMatDMSDenseIChol::DBMatDMSDenseIChol | ( | const sgpp::datadriven::DensityEstimationConfiguration & | densityEstimationConfig, |
Grid & | grid, | ||
double | lambda, | ||
bool | doCV | ||
) |
|
overrideprotectedvirtual |
Perform backward substitution solving the triangular system $A alpha = y$ with a parallel Jaccobi solver.
decompMatrix | Triangular matrix |
y | right hand side obtained by forward substitution |
alpha | the vector of unknowns we solve for |
Reimplemented from sgpp::datadriven::DBMatDMSChol.
References sgpp::base::DataVector::get(), sgpp::base::DataMatrix::get(), sgpp::base::DataVector::getSize(), python.statsfileInfo::i, sgpp::datadriven::DensityEstimationConfiguration::iCholSweepsSolver_, python.utils.statsfile2gnuplot::j, sgpp::base::DataVector::set(), sgpp::base::DataVector::setAll(), and python.utils.pca_normalize_dataset::u.
|
overrideprotectedvirtual |
Perform forward substitution solving the triangular system $L y = b$ with a parallel Jaccobi solver.
decompMatrix | Triangular matrix |
b | right hand side of our initial system matrix we solve for |
y | the vector of unknowns we solve for |
Reimplemented from sgpp::datadriven::DBMatDMSChol.
References sgpp::base::DataVector::get(), sgpp::base::DataMatrix::get(), sgpp::base::DataMatrix::getNrows(), sgpp::base::DataVector::getSize(), python.statsfileInfo::i, sgpp::datadriven::DensityEstimationConfiguration::iCholSweepsSolver_, python.utils.statsfile2gnuplot::j, sgpp::base::DataVector::set(), sgpp::base::DataMatrix::set(), sgpp::base::DataVector::setAll(), analyse_erg::tmp, and python.utils.pca_normalize_dataset::u.
|
overrideprotectedvirtual |
Update the regularization factor of the decomposition.
This is a very costly operation as the iterative algorithm will need to recalculate the entire decomposition. However the current solution is used as an initial guess, reducing the required amount of sweeps.
decompMatrix | |
lambdaUp |
Reimplemented from sgpp::datadriven::DBMatDMSChol.
References sgpp::datadriven::DBMatOfflineDenseIChol::ichol(), and sgpp::datadriven::DensityEstimationConfiguration::iCholSweepsUpdateLambda_.