+, +=, -, -=, and multiplication by scalars. The elements of indices (i,j) can be read but not modified, because they can be related to each other. Similarly, read-only access to rows and columns are provided. Multiplication by vectors is allowed but the product of two structured matrices will not yield a structured matrix (at least of the same type). Typical examples are symmetric, band, Toeplitz, Hankel, matrices.
Definition at line 34 of file MatrStr.h.
Public Types | |
|
typedef VectDse< typename R::value_type > | vector_type |
| typedef vector_type | col_type |
| typedef vector_type | row_type |
| typedef R::size_type | size_type |
| typedef R::value_type | value_type |
| typedef MatrStr< R > | self_t |
|
typedef binary_operator_prototype< linalg::_submatrix_, self_t, Range2d >::F | submatrix_t |
Public Member Functions | |
| R & | rep () |
| R | rep () const |
| MatrStr () | |
| MatrStr (const R &r) | |
| MatrStr (int m, int n) | |
| MatrStr (int m, int n, value_type *t) | |
| MatrStr (unsigned m, unsigned n, char *t) | |
| MatrStr (const self_t &M) | |
| self_t & | operator= (const self_t &M) |
| template<class X> | |
| self_t & | operator= (const X &M) |
| size_type | nbrow () const |
| size_type | nbcol () const |
| value_type | operator() (size_type i, size_type j) const |
| submatrix_t | operator() (const Range &I, const Range &J) |
| template<class X> | |
| self_t & | operator+= (const X &x) |
| template<class X> | |
| self_t & | operator-= (const X &x) |
| template<class X> | |
| self_t & | operator *= (const X &x) |
| self_t & | transpose () |
Public Attributes | |
| shared_object< R > | data |
![]() |