template<typename MatrixType,
gsGaussSeidel::ordering ordering = gsGaussSeidel::forward>
class gismo::gsGaussSeidelOp< MatrixType, ordering >
Gauss-Seidel preconditioner.
ordering
can be gsGaussSeidel::forward
, gsGaussSeidel::reverse
or gsGaussSeidel::symmetric
.
|
virtual void | apply (const gsMatrix< T > &input, gsMatrix< T > &x) const =0 |
| apply the operator on the input vector and store the result in x
|
|
index_t | cols () const |
| Returns the number of columns of the operator.
|
|
MatrixType::Scalar | estimateLargestEigenvalueOfPreconditionedSystem (index_t steps=10) const |
| Estimates the largest eigenvalue of \( PA \).
|
|
| gsGaussSeidelOp (const MatrixPtr &mat) |
| Constructor with shared pointer to matrix.
|
|
| gsGaussSeidelOp (const MatrixType &mat) |
| Constructor with given matrix.
|
|
NestedMatrix | matrix () const |
| Returns the matrix.
|
|
MatrixPtr | matrixPtr () const |
| Returns a shared pinter to the matrix.
|
|
index_t | numOfSweeps () |
| Get the number of sweeps to be applied in the member function apply.
|
|
index_t | rows () const |
| Returns the number of rows of the operator.
|
|
void | setNumOfSweeps (index_t n) |
| Set the number of sweeps to be applied in the member function apply.
|
|
virtual void | setOptions (const gsOptionList &opt) |
| Set options based on a gsOptionList object.
|
|
void | step (const gsMatrix< T > &rhs, gsMatrix< T > &x) const |
| Apply the method for given right hand side and current iterate.
|
|
void | stepT (const gsMatrix< T > &rhs, gsMatrix< T > &x) const |
| Apply the transposed variant of the method for given right hand side and current iterate.
|
|
gsLinearOperator< T >::Ptr | underlyingOp () const |
| Return the underlying operator \( A \).
|
|
|
(Note that these are not member symbols.)
|
template<class Derived > |
gsGaussSeidelOp< Derived >::uPtr | makeGaussSeidelOp (const gsEigen::EigenBase< Derived > &mat) |
| Returns a smart pointer to a Gauss-Seidel operator referring on mat.
|
|
template<class Derived > |
gsGaussSeidelOp< Derived >::uPtr | makeGaussSeidelOp (const memory::shared_ptr< Derived > &mat) |
| Returns a smart pointer to a Jacobi operator referring on mat.
|
|
template<class Derived > |
gsGaussSeidelOp< Derived, gsGaussSeidel::reverse >::uPtr | makeReverseGaussSeidelOp (const gsEigen::EigenBase< Derived > &mat) |
| Returns a smart pointer to a reverse Gauss-Seidel operator referring on mat.
|
|
template<class Derived > |
gsGaussSeidelOp< Derived, gsGaussSeidel::reverse >::uPtr | makeReverseGaussSeidelOp (const memory::shared_ptr< Derived > &mat) |
| Returns a smart pointer to a reverse Gauss-Seidel operator referring on mat.
|
|
template<class Derived > |
gsGaussSeidelOp< Derived, gsGaussSeidel::symmetric >::uPtr | makeSymmetricGaussSeidelOp (const gsEigen::EigenBase< Derived > &mat) |
| Returns a smart pointer to a symmetric Gauss-Seidel operator referring on mat.
|
|
template<class Derived > |
gsGaussSeidelOp< Derived, gsGaussSeidel::symmetric >::uPtr | makeSymmetricGaussSeidelOp (const memory::shared_ptr< Derived > &mat) |
| Returns a smart pointer to a symmetric Gauss-Seidel operator referring on mat.
|
|