#include <linalg_abstract.h>
Inherited by DenseMatrix< T >, and PermScaleMatrix< T >.
Inheritance diagram for Matrix< T >:
Public Member Functions | |
virtual itype | Rows () const =0 |
The number of rows in the Matrix. | |
virtual itype | Columns () const =0 |
The number of columns in the Matrix. | |
virtual itype | Size () const =0 |
The total number of elements (can be nontrivial for non-dense matrices). | |
virtual T & | operator() (itype r, itype c)=0 |
Returns a (non-const) reference to an element. | |
virtual T | operator() (itype r, itype c) const =0 |
Returns the value of an element (needed for const objects). | |
virtual void | print (std::ostream &os=std::cout) const |
Prettyprints the Matrix to a stream, but without justification. |
Matrix<T> is the absolute bare bones interface to a linear algebraic matrix. It provides an interface to size and shape, and an interface to obtain constant elements (thus, no guarantee of write-ability is made). Concrete classes may be derived from Matrix<T>, or from derived classes. Methods for obtaining submatrices are currently commented out because G++ 3.3 did not implement covariant return types (5/20/04).