Standard dense matrix in basic linear algebra, i.e. BLAS/LAPACK.
Public Member Functions |
| Matrix () |
| creates zero sized matrix
|
| Matrix (const size_t anrows, const size_t ancols) |
| creates matrix of size anrows × ancols
|
| Matrix (const Matrix &M) |
| copy operator (copy reference)
|
| Matrix (const Matrix &M, const Range &r1, const Range &r2, const copy_policy_t p=copy_reference) |
Matrix & | operator= (const Matrix &M) |
| copy operator for matrices: data is not copied but referenced!
|
size_t | nrows () const |
| return number of rows of matrix
|
size_t | ncols () const |
| return number of columns of matrix
|
blasview_t | blas_view () const |
| return BLAS matrix view of matrix object
|
size_t | blas_nrows () const |
| return number of rows of actual BLAS matrix
|
size_t | blas_ncols () const |
| return number of columns of actual BLAS matrix
|
value_t | operator() (const idx_t i, const idx_t j) const |
| return coefficient (i,j)
|
value_t & | operator() (const idx_t i, const idx_t j) |
| return reference to coefficient (i,j)
|
value_t * | data () const |
| return pointer to internal data
|
size_t | row_stride () const |
| return stride w.r.t. row index set
|
size_t | col_stride () const |
| return stride w.r.t. column index set
|
void | resize (const size_t n, const size_t m) |
| optimised resize: only change if (n,m) != (nrows,ncols)
|
Matrix< value_t > | operator() (const Range &r1, const Range &r2) const |
| return matrix referencing sub matrix defined by r1 × r2
|
Vector< value_t > | operator() (const Range &r, const idx_t j) const |
| return vector referencing part of column j defined by r
|
Vector< value_t > | operator() (const idx_t i, const Range &r) const |
| return vector referencing part of row i defined by r
|
Vector< value_t > | column (const idx_t j) const |
| return vector referencing column j
|
Vector< value_t > | row (const idx_t i) const |
| return vector referencing row i
|
void | check_data () const |
| test data for invalid values, e.g. INF and NAN
|
| MemBlockRef () |
| ctor for zero sized block but reference to NULL block
|
| MemBlockRef (const MemBlockRef< T_value > &ref) |
| ctor: store memory block ref and add a reference
|
| MemBlockRef (const size_t n) |
| ctor: create memory block of size n and one reference
|
| ~MemBlockRef () |
| dtor: delete reference, but not necessarily the data
|
void | set_block (MemBlock< T_value > *b=&_null_block) |
| set internal memory block to b (default = NULL)
|
void | set_block (const MemBlockRef< T_value > &ref) |