Interface for all matrices. More...
#include <core/alien/data/IMatrix.h>
Public Member Functions | |
| virtual void | visit (ICopyOnWriteMatrix &) const =0 |
| Visit method. | |
| virtual const ISpace & | rowSpace () const =0 |
| Get row space associated to the matrix. | |
| virtual const ISpace & | colSpace () const =0 |
| Get col space associated to the matrix. | |
| virtual MultiMatrixImpl * | impl ()=0 |
| Get the multimatrix implementation. | |
| virtual const MultiMatrixImpl * | impl () const =0 |
| Get the multimatrix implementation. | |
Protected Member Functions | |
| IMatrix () | |
| Constructor. | |
Private Member Functions | |
| IMatrix (const IMatrix &)=delete | |
| IMatrix (IMatrix &&)=delete | |
| void | operator= (const IMatrix &)=delete |
| void | operator= (IMatrix &&)=delete |
|
inlineprotected |
Constructor.
Definition at line 54 of file IMatrix.h.
Referenced by Alien::CompositeMatrix::operator()(), and Alien::CompositeMatrix::operator()().
|
pure virtual |
Get col space associated to the matrix.
Implemented in Alien::BlockMatrix, Alien::CompositeMatrix, Alien::Matrix, Alien::Move::MatrixData, Alien::NullMatrix, Alien::RedistributedMatrix, and Alien::VBlockMatrix.
|
pure virtual |
Get the multimatrix implementation.
Implemented in Alien::BlockMatrix, Alien::CompositeMatrix, Alien::Matrix, Alien::Move::MatrixData, Alien::NullMatrix, Alien::RedistributedMatrix, and Alien::VBlockMatrix.
|
pure virtual |
Get the multimatrix implementation.
Implemented in Alien::BlockMatrix, Alien::CompositeMatrix, Alien::Matrix, Alien::Move::MatrixData, Alien::NullMatrix, Alien::RedistributedMatrix, and Alien::VBlockMatrix.
Referenced by Alien::LinearAlgebraExpr< Tag, TagV >::add(), Alien::SchurOp::computePrimarySystem(), Alien::LinearAlgebraExpr< Tag, TagV >::copy(), Alien::LinearAlgebra< Tag, TagV >::diagonal(), Alien::LinearAlgebraExpr< Tag, TagV >::diagonal(), Alien::LinearAlgebra< Tag, TagV >::dump(), Alien::LinearAlgebraExpr< Tag, TagV >::dump(), Alien::LinearAlgebra< Tag, TagV >::mult(), Alien::LinearAlgebraExpr< Tag, TagV >::mult(), Alien::LinearAlgebraExpr< Tag, TagV >::mult(), Alien::LinearAlgebraExpr< Tag, TagV >::norm2(), Alien::NormalizeOpt::normalize(), Alien::LinearAlgebraExpr< Tag, TagV >::scal(), and Alien::LinearSolver< Tag >::solve().
|
pure virtual |
Get row space associated to the matrix.
Implemented in Alien::BlockMatrix, Alien::CompositeMatrix, Alien::Matrix, Alien::Move::MatrixData, Alien::NullMatrix, Alien::RedistributedMatrix, and Alien::VBlockMatrix.
|
pure virtual |
Visit method.
Implemented in Alien::BlockMatrix, Alien::CompositeMatrix, Alien::Matrix, Alien::Move::MatrixData, Alien::NullMatrix, Alien::RedistributedMatrix, and Alien::VBlockMatrix.