|
linbox
|
Specialization for BlasMatrix. More...
#include <submatrix.h>
Inheritance diagram for Submatrix< BlasMatrix< _Field >, VectorCategories::DenseVectorTag >:
Collaboration diagram for Submatrix< BlasMatrix< _Field >, VectorCategories::DenseVectorTag >:Public Types | |
| typedef const BlasSubmatrix< typename _Matrix::constSelf_t > | constSelf_t |
| Self type (const) | |
| typedef Rep::pointer | pointer |
| pointer type to elements | |
| typedef const pointer | const_pointer |
| const pointer type | |
| typedef Self_t | subMatrixType |
| Submatrix type. | |
| typedef constSelf_t | constSubMatrixType |
| Submatrix type (const) | |
| typedef _Matrix::Self_t | matrixType |
| non const matrix type | |
| typedef _Matrix::constSelf_t | constMatrixType |
| matrix type (const) | |
| typedef matrixType | blasType |
| blas matrix type | |
| typedef BlasVector< Field, Rep > | vectorType |
| blas matrix type | |
typedef'd Row Iterators. | |
The row iterator gives the rows of the matrix in ascending order. Dereferencing the iterator yields a row vector in dense format | |
Public Member Functions | |
| Submatrix (const BlasMatrix< Field > *Mat, size_t row, size_t col, size_t Rowdim, size_t Coldim) | |
| Constructor from an existing BlasMatrix and dimensions. | |
| Submatrix (const BlasMatrix< Field > &Mat, size_t row, size_t col, size_t Rowdim, size_t Coldim) | |
| Constructor from an existing BlasMatrix and dimensions. | |
| Submatrix (const Submatrix< BlasMatrix< Field > > *SM, size_t row, size_t col, size_t Rowdim, size_t Coldim) | |
| Constructor from an existing submatrix and dimensions. | |
| Submatrix (const Submatrix< BlasMatrix< Field > > &SM, size_t row, size_t col, size_t Rowdim, size_t Coldim) | |
| Constructor from an existing submatrix and dimensions. | |
| const Field & | field () const |
| get the field | |
| std::istream & | read (std::istream &is) |
| read | |
| std::ostream & | write (std::ostream &os) const |
| write | |
| template<class Vect1 , class Vect2 > | |
| Vect1 & | apply (Vect1 &y, const Vect2 &x) const |
Generic matrix-vector apply y = A * x. | |
| template<class Vect1 , class Vect2 > | |
| Vect1 & | applyTranspose (Vect1 &y, const Vect2 &x) const |
Generic matrix-vector transpose apply y = A^T * x This version of applyTranspose allows use of arbitrary input and output vector types. | |
| BlasSubmatrix & | copy (const Matrix &B) |
| This is deep copy of the data, operator= is a shallow copy. | |
| BlasSubmatrix & | swap (Self_t &B) |
| Swap contents. Shapes must be the same. | |
| BlasSubmatrix & | zero () |
| Overwrite with zeroes. | |
| void | random () |
| Overwrite with random elements. | |
| size_t | rowdim () const |
| Get the number of rows in the matrix. | |
| size_t | coldim () const |
| Get the number of columns in the matrix. | |
| size_t | getStride () const |
| Get the stride of the matrix. | |
| std::ostream & | write (std::ostream &os, Tag::FileFormat f=Tag::FileFormat::MatrixMarket) const |
| Write the matrix to an output stream. | |
| pointer | getPointer () |
| | |
| pointer | getWritePointer () |
| | |
| const Element & | setEntry (size_t i, size_t j, const Element &a_ij) |
| Set the entry at (i, j). | |
| Element & | refEntry (size_t i, size_t j) |
| Get a writeable reference to an entry in the matrix. | |
| const Element & | getEntry (size_t i, size_t j) const |
| Get a read-only individual entry from the matrix. | |
| Element & | getEntry (Element &x, size_t i, size_t j) const |
| Get an entry and store it in the given value. | |
Protected Attributes | |
| BlasMatrix< _Field > & | _Mat |
| Parent BlasMatrix (ie encapsulated raw std::vector) | |
| size_t | _row |
| row dimension of Submatrix | |
| size_t | _col |
| col dimension of Submatrix | |
| size_t | _r0 |
upper left corner row of Submatrix in _Mat | |
| size_t | _c0 |
upper left corner row of Submatrix in _Mat | |
| size_t | _stride |
number of columns in _Mat (or stride of _Mat) | |
| size_t | _off |
offset in _Mat, precomputed (_row*_stride+_col) | |
typedef'd Column Iterators. | |
The columns iterator gives the columns of the matrix in ascending order. Dereferencing the iterator yields a column vector in dense format | |
| RowIterator | rowBegin () |
| iterator to the begining of a row | |
| ConstRowIterator | rowBegin () const |
| const iterator to the begining of a row | |
| RowIterator | rowEnd () |
| iterator to the end of a row | |
| ConstRowIterator | rowEnd () const |
| const iterator to the end of a row | |
| Row | operator[] (size_t i) |
| operator[]. | |
| Vector1 & | apply (Vector1 &y, const Vector2 &x) const |
| Vector1 & | applyTranspose (Vector1 &y, const Vector2 &x) const |
Specialization for BlasMatrix.
|
inline |
Constructor from an existing BlasMatrix and dimensions.
| Mat | Pointer to BlasMatrix of which to construct submatrix |
| row | Starting row |
| col | Starting column |
| Rowdim | Row dimension |
| Coldim | Column dimension |
|
inline |
Constructor from an existing BlasMatrix and dimensions.
| Mat | reference to BlasMatrix of which to construct submatrix |
| row | Starting row |
| col | Starting column |
| Rowdim | Row dimension |
| Coldim | Column dimension |
|
inline |
Constructor from an existing submatrix and dimensions.
| SM | pointer to Submatrix from which to construct submatrix |
| row | Starting row |
| col | Starting column |
| Rowdim | Row dimension |
| Coldim | Column dimension |
|
inline |
Constructor from an existing submatrix and dimensions.
| SM | reference to Submatrix from which to construct submatrix |
| row | Starting row |
| col | Starting column |
| Rowdim | Row dimension |
| Coldim | Column dimension |
|
inline |
Generic matrix-vector apply y = A * x.
This version of apply allows use of arbitrary input and output vector * types.
| y | Output vector |
| x | Input vector |
|
inline |
Generic matrix-vector transpose apply y = A^T * x This version of applyTranspose allows use of arbitrary input and output vector types.
| y | Output vector |
| x | Input vector |
|
inherited |
Get the number of rows in the matrix.
|
inherited |
Get the number of columns in the matrix.
|
inherited |
Get the stride of the matrix.
|
inherited |
Write the matrix to an output stream.
| os | Output stream to which to write |
| f | write in some format (Tag::FileFormat::Format). Default is MM's. |
|
inherited |
Set the entry at (i, j).
| i | Row number, 0...rowdim () - 1 |
| j | Column number 0...coldim () - 1 |
| a_ij | Element to set |
|
inherited |
Get a writeable reference to an entry in the matrix.
| i | Row index of entry |
| j | Column index of entry |
|
inherited |
Get a read-only individual entry from the matrix.
| i | Row index |
| j | Column index |
|
inherited |
Get an entry and store it in the given value.
This form is more in the Linbox style and is provided for interface compatibility with other parts of the library
| x | Element in which to store result |
| i | Row index |
| j | Column index |
|
inherited |
operator[].
Retrieve a reference to a row
| i | Row index |
|
inlineinherited |
|
inlineinherited |