Public Types | |
typedef VECTOR::value_type | value_type |
Public Member Functions | |
virtual | ~PointerMatrixBase () |
virtual void | clear ()=0 |
bool | operator== (const PointerMatrixBase< VECTOR > &) const |
bool | operator!= (const PointerMatrixBase< VECTOR > &) const |
bool | operator< (const PointerMatrixBase< VECTOR > &) const |
bool | operator<= (const PointerMatrixBase< VECTOR > &) const |
bool | operator> (const PointerMatrixBase< VECTOR > &) const |
bool | operator>= (const PointerMatrixBase< VECTOR > &) const |
virtual void | vmult (VECTOR &dst, const VECTOR &src) const =0 |
virtual void | Tvmult (VECTOR &dst, const VECTOR &src) const =0 |
virtual void | vmult_add (VECTOR &dst, const VECTOR &src) const =0 |
virtual void | Tvmult_add (VECTOR &dst, const VECTOR &src) const =0 |
Private Member Functions | |
virtual const void * | get () const =0 |
Abstract class for use in iterations. This class provides the interface required by LAC solver classes. It allows to use different concrete matrix classes in the same context, as long as they apply to the same vector class.
typedef VECTOR::value_type PointerMatrixBase< VECTOR >::value_type |
Value type of this matrix. since the matrix itself is unknown, we take the value type of the vector. Therefore, matrix entries must be convertible to vector entries.
This was defined to make this matrix a possible template argument to BlockMatrixArray.
PointerMatrixBase< VECTOR >::~PointerMatrixBase | ( | ) | [inline, virtual] |
Virtual destructor. Does nothing except making sure that the destructor of the derived class is called.
virtual void PointerMatrixBase< VECTOR >::clear | ( | ) | [pure virtual] |
Reset pointer and release the matrix pointed to.
Implemented in ProductMatrix< VECTOR >, ProductSparseMatrix< number, vector_number >, PointerMatrix< MATRIX, VECTOR >, PointerMatrixAux< MATRIX, VECTOR >, PointerMatrixVector< number >, and TransposeMatrix< MATRIX, VECTOR >.
bool PointerMatrixBase< VECTOR >::operator== | ( | const PointerMatrixBase< VECTOR > & | other | ) | const [inline] |
Find out if two matrices point to the same object.
References PointerMatrixBase< VECTOR >::get().
bool PointerMatrixBase< VECTOR >::operator!= | ( | const PointerMatrixBase< VECTOR > & | other | ) | const [inline] |
Find out if two matrices do not point to the same object.
References PointerMatrixBase< VECTOR >::get().
bool PointerMatrixBase< VECTOR >::operator< | ( | const PointerMatrixBase< VECTOR > & | other | ) | const [inline] |
Find out if this pointer is less.
References PointerMatrixBase< VECTOR >::get().
bool PointerMatrixBase< VECTOR >::operator<= | ( | const PointerMatrixBase< VECTOR > & | other | ) | const [inline] |
Find out if this pointer is less or equal.
References PointerMatrixBase< VECTOR >::get().
bool PointerMatrixBase< VECTOR >::operator> | ( | const PointerMatrixBase< VECTOR > & | other | ) | const [inline] |
Find out if this pointer is greater.
References PointerMatrixBase< VECTOR >::get().
bool PointerMatrixBase< VECTOR >::operator>= | ( | const PointerMatrixBase< VECTOR > & | other | ) | const [inline] |
Find out if this pointer is greater or equal.
References PointerMatrixBase< VECTOR >::get().
virtual void PointerMatrixBase< VECTOR >::vmult | ( | VECTOR & | dst, | |
const VECTOR & | src | |||
) | const [pure virtual] |
Matrix-vector product.
Implemented in ProductMatrix< VECTOR >, PointerMatrix< MATRIX, VECTOR >, PointerMatrixAux< MATRIX, VECTOR >, PointerMatrixVector< number >, and TransposeMatrix< MATRIX, VECTOR >.
virtual void PointerMatrixBase< VECTOR >::Tvmult | ( | VECTOR & | dst, | |
const VECTOR & | src | |||
) | const [pure virtual] |
Tranposed matrix-vector product.
Implemented in ProductMatrix< VECTOR >, PointerMatrix< MATRIX, VECTOR >, PointerMatrixAux< MATRIX, VECTOR >, PointerMatrixVector< number >, and TransposeMatrix< MATRIX, VECTOR >.
virtual void PointerMatrixBase< VECTOR >::vmult_add | ( | VECTOR & | dst, | |
const VECTOR & | src | |||
) | const [pure virtual] |
Matrix-vector product, adding to dst
.
Implemented in ProductMatrix< VECTOR >, PointerMatrix< MATRIX, VECTOR >, PointerMatrixAux< MATRIX, VECTOR >, PointerMatrixVector< number >, and TransposeMatrix< MATRIX, VECTOR >.
virtual void PointerMatrixBase< VECTOR >::Tvmult_add | ( | VECTOR & | dst, | |
const VECTOR & | src | |||
) | const [pure virtual] |
Tranposed matrix-vector product, adding to dst
.
Implemented in ProductMatrix< VECTOR >, PointerMatrix< MATRIX, VECTOR >, PointerMatrixAux< MATRIX, VECTOR >, PointerMatrixVector< number >, and TransposeMatrix< MATRIX, VECTOR >.
virtual const void* PointerMatrixBase< VECTOR >::get | ( | ) | const [private, pure virtual] |
Get the pointer for comparison.
Implemented in ProductMatrix< VECTOR >, ProductSparseMatrix< number, vector_number >, PointerMatrix< MATRIX, VECTOR >, PointerMatrixAux< MATRIX, VECTOR >, PointerMatrixVector< number >, and TransposeMatrix< MATRIX, VECTOR >.
Referenced by PointerMatrixBase< VECTOR >::operator!=(), PointerMatrixBase< VECTOR >::operator<(), PointerMatrixBase< VECTOR >::operator<=(), PointerMatrixBase< VECTOR >::operator==(), PointerMatrixBase< VECTOR >::operator>(), and PointerMatrixBase< VECTOR >::operator>=().