+
, +=
, -
, -=
, 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 |