GEOSX
|
Abstract base class for linear operators. More...
#include <LinearOperator.hpp>
Public Types | |
using | Vector = VECTOR |
Alias for template parameter. | |
Public Member Functions | |
LinearOperator ()=default | |
Constructor. | |
virtual | ~LinearOperator ()=default |
Destructor. | |
virtual void | apply (Vector const &src, Vector &dst) const =0 |
Apply operator to a vector. More... | |
virtual void | residual (Vector const &x, Vector const &b, Vector &r) const |
Compute residual r = Ax - b . More... | |
virtual globalIndex | numGlobalRows () const =0 |
Get the number of global rows. More... | |
virtual globalIndex | numGlobalCols () const =0 |
Get the number of global columns. More... | |
Abstract base class for linear operators.
VECTOR | Type of vector this operator can be applied to |
Definition at line 37 of file LinearOperator.hpp.
|
pure virtual |
Apply operator to a vector.
src | Input vector (x). |
dst | Output vector (b). |
src
and dst
cannot alias the same vector (some implementations may allow this). Implemented in geosx::MatrixBase< MATRIX, VECTOR >, geosx::MatrixBase< HypreMatrix, HypreVector >, geosx::MatrixBase< PetscMatrix, PetscVector >, geosx::MatrixBase< EpetraMatrix, EpetraVector >, geosx::HypreMatrix, geosx::PetscMatrix, geosx::EpetraMatrix, geosx::BlockOperatorView< Vector, Matrix >, and geosx::NormalOperator< MATRIX, VECTOR >.
|
pure virtual |
Get the number of global columns.
Implemented in geosx::MatrixBase< MATRIX, VECTOR >, geosx::MatrixBase< HypreMatrix, HypreVector >, geosx::MatrixBase< PetscMatrix, PetscVector >, geosx::MatrixBase< EpetraMatrix, EpetraVector >, geosx::HypreMatrix, geosx::PetscMatrix, geosx::EpetraMatrix, geosx::BlockOperatorView< VECTOR, OPERATOR >, geosx::BlockOperatorView< Vector, Matrix >, geosx::KrylovSolver< VECTOR >, geosx::PreconditionerBase< LAI >, geosx::PreconditionerBase< PetscInterface >, geosx::PreconditionerBase< HypreInterface >, geosx::PreconditionerBase< TrilinosInterface >, geosx::PreconditionerJacobi< LAI >, and geosx::NormalOperator< MATRIX, VECTOR >.
|
pure virtual |
Get the number of global rows.
Implemented in geosx::MatrixBase< MATRIX, VECTOR >, geosx::MatrixBase< HypreMatrix, HypreVector >, geosx::MatrixBase< PetscMatrix, PetscVector >, geosx::MatrixBase< EpetraMatrix, EpetraVector >, geosx::HypreMatrix, geosx::PetscMatrix, geosx::EpetraMatrix, geosx::BlockOperatorView< VECTOR, OPERATOR >, geosx::BlockOperatorView< Vector, Matrix >, geosx::KrylovSolver< VECTOR >, geosx::PreconditionerBase< LAI >, geosx::PreconditionerBase< PetscInterface >, geosx::PreconditionerBase< HypreInterface >, geosx::PreconditionerBase< TrilinosInterface >, geosx::PreconditionerJacobi< LAI >, and geosx::NormalOperator< MATRIX, VECTOR >.
|
inlinevirtual |
Compute residual r = Ax - b
.
x | Input solution. |
b | Input right hand side. |
r | Output residual. |
b
and x
may alias the same vector. r
cannot alias any of the other two vectors (some implementations may allow this). Reimplemented in geosx::MatrixBase< MATRIX, VECTOR >, geosx::MatrixBase< HypreMatrix, HypreVector >, geosx::MatrixBase< PetscMatrix, PetscVector >, and geosx::MatrixBase< EpetraMatrix, EpetraVector >.
Definition at line 73 of file LinearOperator.hpp.