|
typedef Field::Element | Element |
| Element type.
|
|
typedef Field::Element_ptr | Element_ptr |
| Pointer to Element type.
|
|
typedef Field::ConstElement_ptr | ConstElement_ptr |
| Pointer to const Element type.
|
|
typedef _Storage | RawStorage |
| Actually a std::vector<Element> (or alike: cstor(n), cstor(n, val), operator[], resize(n).)
|
|
typedef BlasVector< Field, RawStorage > | Storage |
| Actually a BlasVector of a std::vector<Element> (or alike: cstor(n), cstor(n, val), operator[], resize(n).)
|
|
typedef BlasMatrix< Field, RawStorage > | Self_t |
| Self type.
|
|
typedef Self_t | matrixType |
| matrix type
|
|
|
void | init (const size_t &r=0, const size_t &c=0) |
| (Re)allocates a new zero matrix (shaped and ready).
|
|
void | resize (const size_t &m, const size_t &n, const Element &val=Element()) |
| Resize the matrix to the given dimensions. More...
|
|
| BlasMatrix (const Self_t &A) |
| Copy Constructor of a matrix (copying data). More...
|
|
| BlasMatrix (const _Field &F) |
| Allocates a new matrix (shaped and ready).
|
|
| BlasMatrix (const _Field &F, const size_t &m, const size_t &n) |
| Allocates a new zero matrix (shaped and ready). More...
|
|
| BlasMatrix (MatrixStream< _Field > &ms) |
| Constructor from a matrix stream. More...
|
|
template<class Matrix > |
| BlasMatrix (const Matrix &A) |
| Generic copy constructor from either a blackbox or a matrix container. More...
|
|
template<class Matrix > |
| BlasMatrix (const Matrix &A, const size_t &i0, const size_t &j0, const size_t &m, const size_t &n) |
| Generic copy constructor from either a blackbox or a matrix container (allow submatrix). More...
|
|
template<class StreamVector > |
| BlasMatrix (const Field &F, VectorStream< StreamVector > &stream) |
| Constructor using a finite vector stream (stream of the rows). More...
|
|
template<class constIterator > |
| BlasMatrix (const _Field &F, const size_t &m, const size_t &n, const constIterator &it) |
| Create a BlasMatrix from an iterator of elements. More...
|
|
template<class _Matrix > |
| BlasMatrix (const _Matrix &A, const _Field &F) |
| Create a BlasMatrix from another matrix defined over a different field (use homomorphism if it exists) More...
|
|
| ~BlasMatrix () |
| Destructor.
|
|
Self_t & | operator= (const Self_t &A) |
| operator = (copying data)
|
|
template<class _Matrix > |
Self_t & | operator= (const _Matrix &A) |
| operator = (copying data from different matrix type)
|
|
size_t | rowdim () const |
| Get the number of rows in the matrix. More...
|
|
size_t | coldim () const |
| Get the number of columns in the matrix. More...
|
|
size_t | getStride () const |
| Get the stride of the matrix.
|
|
ConstElement_ptr | getPointer () const |
|
|
|
void | setEntry (size_t i, size_t j, const Element &a_ij) |
| Set the entry at the (i, j) position to a_ij. More...
|
|
Element & | refEntry (size_t i, size_t j) |
| Get a writeable reference to the entry in the (i, j) position. More...
|
|
const Element & | getEntry (size_t i, size_t j) const |
| Get a read-only reference to the entry in the (i, j) position. More...
|
|
Element & | getEntry (Element &x, size_t i, size_t j) const |
| Copy the (i, j) entry into x, and return a reference to x. More...
|
|
const _Field & | field () const |
| get a read only reference to the field of the matrix
|
|
std::istream & | read (std::istream &file) |
| Read the matrix from an input stream. More...
|
|
std::ostream & | write (std::ostream &os, Tag::FileFormat f=Tag::FileFormat::MatrixMarket) const |
| Write the matrix to an output stream. More...
|
|
|
Like the raw iterator, the indexed iterator is a method for accessing all entries in the matrix in some unspecified order.
At each position of the the indexed iterator, it also provides the row and column indices of the currently referenced entry. This is provided through it's rowIndex() and colIndex() functions.
|
using | IndexedIterator = BlasMatrixIndexedIterator< Field, Element_ptr, Element > |
| Retrieve a reference to a row. More...
|
|
using | ConstIndexedIterator = BlasMatrixIndexedIterator< Field, ConstElement_ptr, const Element > |
| Retrieve a reference to a row. More...
|
|
IndexedIterator | IndexedBegin () |
| Retrieve a reference to a row. More...
|
|
ConstIndexedIterator | IndexedBegin () const |
| Retrieve a reference to a row. More...
|
|
IndexedIterator | IndexedEnd () |
| Retrieve a reference to a row. More...
|
|
ConstIndexedIterator | IndexedEnd () const |
| Retrieve a reference to a row. More...
|
|
subVectorType | operator[] (size_t i) |
| Retrieve a reference to a row. More...
|
|
constSubVectorType | operator[] (size_t i) const |
| Retrieve a reference to a row. More...
|
|
template<class Vector > |
Vector & | columnDensity (Vector &v) const |
| Compute column density.
|
|
size_t | size () const |
| Compute the number of non zero elt.
|
|
void | finalize () |
| Finalize some optimization in the matrix storage.
|
|
template<class Vector1 , class Vector2 > |
Vector1 & | apply (Vector1 &y, const Vector2 &x) const |
| Retrieve a reference to a row. More...
|
|
template<class Vector1 , class Vector2 > |
Vector1 & | applyTranspose (Vector1 &y, const Vector2 &x) const |
| Retrieve a reference to a row. More...
|
|
subMatrixType & | applyRight (subMatrixType &Y, const subMatrixType &X) |
| Retrieve a reference to a row. More...
|
|
subMatrixType & | applyLeft (subMatrixType &Y, const subMatrixType &X) |
| Retrieve a reference to a row. More...
|
|
void | zero () |
| Retrieve a reference to a row. More...
|
|
void | random () |
| Retrieve a reference to a row. More...
|
|
template<class RandIter > |
void | random (RandIter &I) |
| Retrieve a reference to a row. More...
|
|
template<class _Field, class _Storage>
class LinBox::BlasMatrix< _Field, _Storage >
Dense matrix representation.
A BlasMatrix
is a matrix of _Field::Element
, with the structure of BLAS matrices. It is basically a vector of _Field::Element
. In the Mother model, a BlasMatrix
is allocated by the user.
- Bug:
- necessitates the inclusion of those things after of before. We should not include directly this but just the matrices and they automatically need their domain (for now)
- Examples
- examples/matrices.C, examples/omp_block_rank.C, and examples/samplebb.C.