![]() |
SG++-Doxygen-Documentation
|
This class solves an (lhs + lambda*I) * alpha = b system of linear equations after the offline and online phases are done. More...
#include <DBMatDMS_SMW.hpp>
Public Member Functions | |
DBMatDMS_SMW ()=default | |
Constructor. | |
void | solve (sgpp::base::DataMatrix &A_inv, sgpp::base::DataMatrix &B, sgpp::base::DataVector &b, sgpp::base::DataVector &alpha) |
Solves the system after the corresponding offline and online objects are done with decomposing and adaptivity, resp. | |
void | solveParallel (DataMatrixDistributed &A_inv, DataMatrixDistributed &B, DataVectorDistributed &b, DataVectorDistributed &alpha) |
Parallel/Distributed version of solve. | |
![]() | |
DBMatDecompMatrixSolver () | |
![]() | |
double | getEpsilon () |
gets the the epsilon, that is used in the SGSolver | |
size_t | getNumberIterations () |
function that returns the number of needed solve steps | |
double | getResiduum () |
function the returns the residuum (current or final), error of the solver | |
void | setEpsilon (double eps) |
resets the epsilon, that is used in the SGSolver | |
void | setMaxIterations (size_t nIterations) |
resets the number of maximum iterations | |
SGSolver (size_t nMaximumIterations, double epsilon) | |
Std-Constructor. | |
virtual | ~SGSolver () |
Std-Destructor. | |
Additional Inherited Members | |
![]() | |
double | myEpsilon |
epsilon needed in the, e.g. final error in the iterative solver, or a timestep | |
size_t | nIterations |
Number of Iterations needed for the solve. | |
size_t | nMaxIterations |
Number of maximum iterations for cg. | |
double | residuum |
residuum | |
This class solves an (lhs + lambda*I) * alpha = b system of linear equations after the offline and online phases are done.
|
default |
Constructor.
void sgpp::datadriven::DBMatDMS_SMW::solve | ( | sgpp::base::DataMatrix & | A_inv, |
sgpp::base::DataMatrix & | B, | ||
sgpp::base::DataVector & | b, | ||
sgpp::base::DataVector & | alpha | ||
) |
Solves the system after the corresponding offline and online objects are done with decomposing and adaptivity, resp.
The computation done: alpha = A_inv*b + B*b
A_inv | Inverse of the original lhs matrix |
B | Storage of the online objects refined/coarsened points |
b | The right side of the system |
alpha | The solution vector of the system, computed values go there |
References alpha, sgpp::base::DataMatrix::getNcols(), sgpp::base::DataMatrix::getNrows(), sgpp::base::DataMatrix::getPointer(), sgpp::base::DataVector::getPointer(), and sgpp::base::DataVector::getSize().
void sgpp::datadriven::DBMatDMS_SMW::solveParallel | ( | DataMatrixDistributed & | A_inv, |
DataMatrixDistributed & | B, | ||
DataVectorDistributed & | b, | ||
DataVectorDistributed & | alpha | ||
) |
Parallel/Distributed version of solve.
A_inv | Inverse of a tridiagonal matrix |
B | Storage of the online objects refined/coarsened points |
b | The right side of the system |
alpha | The solution vector of the system, computed values go there |
References alpha, sgpp::datadriven::DataMatrixDistributed::getGlobalCols(), sgpp::datadriven::DataMatrixDistributed::getGlobalRows(), and sgpp::datadriven::DataMatrixDistributed::mult().