linbox
BlasMatrix< _Field, _Storage > Class Template Reference

Dense matrix representation. More...

#include <blas-matrix.h>

Data Structures

struct  rebind
 Rebind operator. More...
 

Public Types

typedef _Field Field
 
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, RawStorageStorage
 Actually a BlasVector of a std::vector<Element> (or alike: cstor(n), cstor(n, val), operator[], resize(n).)
 
typedef BlasMatrix< Field, RawStorageSelf_t
 Self type.
 
typedef Self_t matrixType
 matrix type
 
typedef BlasSubmatrix< Self_tsubMatrixType
 
typedef BlasSubmatrix< const Self_tconstSubMatrixType
 
typedef Storage::subVectorType subVectorType
 
typedef Storage::constSubVectorType constSubVectorType
 
typedef subVectorType Row
 
typedef subVectorType Col
 
typedef constSubVectorType ConstRow
 
typedef constSubVectorType ConstCol
 

Public Member Functions

void init (const size_t &r=0, const size_t &c=0)
 (Re)allocates a new \( m \times n\) 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.
 
 BlasMatrix (const Self_t &A)
 Copy Constructor of a matrix (copying data).
 
 BlasMatrix (const _Field &F)
 Allocates a new \( 0 \times 0\) matrix (shaped and ready).
 
 BlasMatrix (const _Field &F, const size_t &m, const size_t &n)
 Allocates a new \( m \times n\) zero matrix (shaped and ready).
 
 BlasMatrix (MatrixStream< _Field > &ms)
 Constructor from a matrix stream.
 
template<class Matrix>
 BlasMatrix (const Matrix &A)
 Generic copy constructor from either a blackbox or a matrix container.
 
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).
 
template<class StreamVector>
 BlasMatrix (const Field &F, VectorStream< StreamVector > &stream)
 Constructor using a finite vector stream (stream of the rows).
 
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.
 
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)
 
 ~BlasMatrix ()
 Destructor.
 
Self_toperator= (const Self_t &A)
 operator = (copying data)
 
template<class _Matrix>
Self_toperator= (const _Matrix &A)
 operator = (copying data from different matrix type)
 
template<class _Matrix>
Self_tcopy (const _Matrix &A)
 
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.
 
ConstElement_ptr getPointer () const
  
 
Element_ptr getPointer ()
 
ConstElement_ptr getConstPointer () const
 
void setEntry (size_t i, size_t j, const Element &a_ij)
 Set the entry at the (i, j) position to a_ij.
 
ElementrefEntry (size_t i, size_t j)
 Get a writeable reference to the entry in the (i, j) position.
 
const ElementgetEntry (size_t i, size_t j) const
 Get a read-only reference to the entry in the (i, j) position.
 
ElementgetEntry (Element &x, size_t i, size_t j) const
 Copy the (i, j) entry into x, and return a reference to x.
 
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.
 
std::ostream & write (std::ostream &os, Tag::FileFormat f=Tag::FileFormat::MatrixMarket) const
 Write the matrix to an output stream.
 
template<class _Matrix>
void createBlasMatrix (const _Matrix &A, const size_t i0, const size_t j0, const size_t m, const size_t n, MatrixContainerCategory::Container)
 
template<class _Matrix>
void createBlasMatrix (const _Matrix &A, const size_t i0, const size_t j0, const size_t m, const size_t n, MatrixContainerCategory::BlasContainer)
 
template<class OtherMatrix>
 BlasMatrix (const OtherMatrix &A, const _Field &F)
 
template<class Matrix>
BlasMatrix< _Field, _Storage > & operator= (const Matrix &A)
 

Protected Member Functions

create BlasMatrix
template<class Matrix>
void createBlasMatrix (const Matrix &A, const size_t i0, const size_t j0, const size_t m, const size_t n, MatrixContainerCategory::Container)
 
template<class Matrix>
void createBlasMatrix (const Matrix &A, const size_t i0, const size_t j0, const size_t m, const size_t n, MatrixContainerCategory::BlasContainer)
 
template<class Matrix>
void createBlasMatrix (const Matrix &A, const size_t i0, const size_t j0, const size_t m, const size_t n, MatrixContainerCategory::Blackbox)
 
template<class constIterator>
void createBlasMatrix (constIterator it)
 

Protected Attributes

size_t _row
 
size_t _col
 
Storage _rep
 

Column of rows iterator

The column of rows iterator traverses the rows of the matrix in ascending order.

Dereferencing the iterator yields a row vector in dense format

using RowIterator = BlasMatrixIterator<Field, Storage, subVectorType>
 
using ConstRowIterator = BlasMatrixIterator<Field, Storage, constSubVectorType>
 
RowIterator rowBegin ()
 
ConstRowIterator rowBegin () const
 
RowIterator rowEnd ()
 
ConstRowIterator rowEnd () const
 

Row of columns iterator

The row of columns iterator traverses the columns of the matrix in ascending order.

Dereferencing the iterator yields a column vector in dense format

using ColIterator = BlasMatrixIterator<Field, Storage, subVectorType>
 
using ConstColIterator = BlasMatrixIterator<Field, Storage, constSubVectorType>
 
ColIterator colBegin ()
 
ConstColIterator colBegin () const
 
ColIterator colEnd ()
 
ConstColIterator colEnd () const
 

Iterator

The iterator is a method for accessing all entries in the matrix in some unspecified order.

This can be used, e.g. to reduce all matrix entries modulo a prime before passing the matrix into an algorithm.

typedef Storage::iterator Iterator
 
typedef Storage::const_iterator ConstIterator
 
Iterator Begin ()
 
Iterator End ()
 
ConstIterator Begin () const
 
ConstIterator End () const
 

Raw Indexed iterator

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.
 
using ConstIndexedIterator = BlasMatrixIndexedIterator<Field, ConstElement_ptr, const Element>
 Retrieve a reference to a row.
 
IndexedIterator IndexedBegin ()
 Retrieve a reference to a row.
 
ConstIndexedIterator IndexedBegin () const
 Retrieve a reference to a row.
 
IndexedIterator IndexedEnd ()
 Retrieve a reference to a row.
 
ConstIndexedIterator IndexedEnd () const
 Retrieve a reference to a row.
 
subVectorType operator[] (size_t i)
 Retrieve a reference to a row.
 
constSubVectorType operator[] (size_t i) const
 Retrieve a reference to a row.
 
template<class Vector>
VectorcolumnDensity (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.
 
template<class Vector1, class Vector2>
Vector1 & applyTranspose (Vector1 &y, const Vector2 &x) const
 Retrieve a reference to a row.
 
subMatrixTypeapplyRight (subMatrixType &Y, const subMatrixType &X)
 Retrieve a reference to a row.
 
subMatrixTypeapplyLeft (subMatrixType &Y, const subMatrixType &X)
 Retrieve a reference to a row.
 
void zero ()
 Retrieve a reference to a row.
 
void random ()
 Retrieve a reference to a row.
 
template<class RandIter>
void random (RandIter &I)
 Retrieve a reference to a row.
 

Detailed Description

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)

Member Typedef Documentation

◆ Field

template<class _Field, class _Storage>
typedef _Field Field

◆ Element

template<class _Field, class _Storage>
typedef Field::Element Element

Element type.

◆ Element_ptr

template<class _Field, class _Storage>
typedef Field::Element_ptr Element_ptr

Pointer to Element type.

◆ ConstElement_ptr

template<class _Field, class _Storage>
typedef Field::ConstElement_ptr ConstElement_ptr

Pointer to const Element type.

◆ RawStorage

template<class _Field, class _Storage>
typedef _Storage RawStorage

Actually a std::vector<Element> (or alike: cstor(n), cstor(n, val), operator[], resize(n).)

◆ Storage

template<class _Field, class _Storage>
typedef BlasVector<Field,RawStorage> Storage

Actually a BlasVector of a std::vector<Element> (or alike: cstor(n), cstor(n, val), operator[], resize(n).)

◆ Self_t

template<class _Field, class _Storage>
typedef BlasMatrix<Field,RawStorage> Self_t

Self type.

◆ matrixType

template<class _Field, class _Storage>
typedef Self_t matrixType

matrix type

◆ subMatrixType

template<class _Field, class _Storage>
typedef BlasSubmatrix< Self_t> subMatrixType

◆ constSubMatrixType

template<class _Field, class _Storage>
typedef BlasSubmatrix<const Self_t> constSubMatrixType

◆ subVectorType

template<class _Field, class _Storage>
typedef Storage::subVectorType subVectorType

◆ constSubVectorType

template<class _Field, class _Storage>
typedef Storage::constSubVectorType constSubVectorType

◆ Row

template<class _Field, class _Storage>
typedef subVectorType Row

◆ Col

template<class _Field, class _Storage>
typedef subVectorType Col

◆ ConstRow

template<class _Field, class _Storage>
typedef constSubVectorType ConstRow

◆ ConstCol

template<class _Field, class _Storage>
typedef constSubVectorType ConstCol

◆ RowIterator

template<class _Field, class _Storage>
using RowIterator = BlasMatrixIterator<Field, Storage, subVectorType>

◆ ConstRowIterator

template<class _Field, class _Storage>
using ConstRowIterator = BlasMatrixIterator<Field, Storage, constSubVectorType>

◆ ColIterator

template<class _Field, class _Storage>
using ColIterator = BlasMatrixIterator<Field, Storage, subVectorType>

◆ ConstColIterator

template<class _Field, class _Storage>
using ConstColIterator = BlasMatrixIterator<Field, Storage, constSubVectorType>

◆ Iterator

template<class _Field, class _Storage>
typedef Storage::iterator Iterator

◆ ConstIterator

template<class _Field, class _Storage>
typedef Storage::const_iterator ConstIterator

◆ IndexedIterator

template<class _Field, class _Storage>
using IndexedIterator = BlasMatrixIndexedIterator<Field, Element_ptr, Element>

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ ConstIndexedIterator

template<class _Field, class _Storage>
using ConstIndexedIterator = BlasMatrixIndexedIterator<Field, ConstElement_ptr, const Element>

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

Constructor & Destructor Documentation

◆ BlasMatrix() [1/10]

template<class _Field, class _Storage>
BlasMatrix ( const Self_t & A)

Copy Constructor of a matrix (copying data).

Parameters
Amatrix to be copied.

◆ BlasMatrix() [2/10]

template<class _Field, class _Storage>
BlasMatrix ( const _Field & F)

Allocates a new \( 0 \times 0\) matrix (shaped and ready).

◆ BlasMatrix() [3/10]

template<class _Field, class _Storage>
BlasMatrix ( const _Field & F,
const size_t & m,
const size_t & n )

Allocates a new \( m \times n\) zero matrix (shaped and ready).

Parameters
F
mrows
ncols

◆ BlasMatrix() [4/10]

template<class _Field, class _Storage>
BlasMatrix ( MatrixStream< _Field > & ms)

Constructor from a matrix stream.

Parameters
msmatrix stream.

◆ BlasMatrix() [5/10]

template<class _Field, class _Storage>
template<class Matrix>
BlasMatrix ( const Matrix & A)

Generic copy constructor from either a blackbox or a matrix container.

Parameters
Amatrix to be copied

◆ BlasMatrix() [6/10]

template<class _Field, class _Storage>
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).

Parameters
Amatrix to be copied
i0
j0
mrows
ncolumns

◆ BlasMatrix() [7/10]

template<class _Field, class _Storage>
template<class StreamVector>
BlasMatrix ( const Field & F,
VectorStream< StreamVector > & stream )

Constructor using a finite vector stream (stream of the rows).

Parameters
FThe field of entries; passed so that arithmetic may be done on elements
streamA vector stream to use as a source of vectors for this matrix

◆ BlasMatrix() [8/10]

template<class _Field, class _Storage>
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.

Parameters
F
m
n
it

◆ BlasMatrix() [9/10]

template<class _Field, class _Storage>
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)

Parameters
FField of the created nmatrix
Amatrix to be copied

◆ ~BlasMatrix()

template<class _Field, class _Storage>
~BlasMatrix ( )
inline

Destructor.

◆ BlasMatrix() [10/10]

template<class _Field, class _Storage>
template<class OtherMatrix>
BlasMatrix ( const OtherMatrix & A,
const _Field & F )

Member Function Documentation

◆ createBlasMatrix() [1/6]

template<class _Field, class _Storage>
template<class Matrix>
void createBlasMatrix ( const Matrix & A,
const size_t i0,
const size_t j0,
const size_t m,
const size_t n,
MatrixContainerCategory::Container  )
protected

Copy data according to Matrix container structure (allow submatrix).

◆ createBlasMatrix() [2/6]

template<class _Field, class _Storage>
template<class Matrix>
void createBlasMatrix ( const Matrix & A,
const size_t i0,
const size_t j0,
const size_t m,
const size_t n,
MatrixContainerCategory::BlasContainer  )
protected

Copy data according to Matrix container structure (allow submatrix).

◆ createBlasMatrix() [3/6]

template<class _Field, class _Storage>
template<class Matrix>
void createBlasMatrix ( const Matrix & A,
const size_t i0,
const size_t j0,
const size_t m,
const size_t n,
MatrixContainerCategory::Blackbox  )
protected

Copy data according to Matrix container structure (allow submatrix).

◆ createBlasMatrix() [4/6]

template<class _Field, class _Storage>
template<class constIterator>
void createBlasMatrix ( constIterator it)
protected

constructor from an iterator of elements.

Parameters
viterator on to Element s

◆ init()

template<class _Field, class _Storage>
void init ( const size_t & r = 0,
const size_t & c = 0 )

(Re)allocates a new \( m \times n\) zero matrix (shaped and ready).

◆ resize()

template<class _Field, class _Storage>
void resize ( const size_t & m,
const size_t & n,
const Element & val = Element() )

Resize the matrix to the given dimensions.

The state of the matrix's entries after a call to this method is undefined

Parameters
mNumber of rows
nNumber of columns
val

◆ operator=() [1/3]

template<class _Field, class _Storage>
Self_t & operator= ( const Self_t & A)

operator = (copying data)

◆ operator=() [2/3]

template<class _Field, class _Storage>
template<class _Matrix>
Self_t & operator= ( const _Matrix & A)

operator = (copying data from different matrix type)

◆ copy()

template<class _Field, class _Storage>
template<class _Matrix>
Self_t & copy ( const _Matrix & A)
inline

◆ rowdim()

template<class _Field, class _Storage>
size_t rowdim ( ) const
inline

Get the number of rows in the matrix.

Returns
Number of rows in matrix

◆ coldim()

template<class _Field, class _Storage>
size_t coldim ( ) const
inline

Get the number of columns in the matrix.

Returns
Number of columns in matrix

◆ getStride()

template<class _Field, class _Storage>
size_t getStride ( ) const
inline

 Get the stride of the matrix.

◆ getPointer() [1/2]

template<class _Field, class _Storage>
ConstElement_ptr getPointer ( ) const
inline

 

Get read-only access to the matrix data.

◆ getPointer() [2/2]

template<class _Field, class _Storage>
Element_ptr getPointer ( )
inline

◆ getConstPointer()

template<class _Field, class _Storage>
ConstElement_ptr getConstPointer ( ) const
inline

◆ setEntry()

template<class _Field, class _Storage>
void setEntry ( size_t i,
size_t j,
const Element & a_ij )
inline

Set the entry at the (i, j) position to a_ij.

Parameters
iRow number, 0...rowdim () - 1
jColumn number 0...coldim () - 1
a_ijElement to set

◆ refEntry()

template<class _Field, class _Storage>
Element & refEntry ( size_t i,
size_t j )
inline

Get a writeable reference to the entry in the (i, j) position.

Parameters
iRow index of entry
jColumn index of entry
Returns
Reference to matrix entry

◆ getEntry() [1/2]

template<class _Field, class _Storage>
const Element & getEntry ( size_t i,
size_t j ) const
inline

Get a read-only reference to the entry in the (i, j) position.

Parameters
iRow index
jColumn index
Returns
Const reference to matrix entry

◆ getEntry() [2/2]

template<class _Field, class _Storage>
Element & getEntry ( Element & x,
size_t i,
size_t j ) const
inline

Copy the (i, j) entry into x, and return a reference to x.

This form is more in the Linbox style and is provided for interface compatibility with other parts of the library

Parameters
xElement in which to store result
iRow index
jColumn index
Returns
Reference to x

◆ field()

template<class _Field, class _Storage>
const _Field & field ( ) const
inline

get a read only reference to the field of the matrix

◆ read()

template<class _Field, class _Storage>
std::istream & read ( std::istream & file)

Read the matrix from an input stream.

The stream is in SMS, DENSE, or MatrixMarket format and is autodetected.

Parameters
fileInput stream from which to read

◆ write()

template<class _Field, class _Storage>
std::ostream & write ( std::ostream & os,
Tag::FileFormat f = Tag::FileFormat::MatrixMarket ) const

Write the matrix to an output stream.

Parameters
osOutput stream to which to write
fwrite in some format (Tag::FileFormat::Format). Default is Maple's.

◆ rowBegin() [1/2]

template<class _Field, class _Storage>
RowIterator rowBegin ( )
inline

◆ rowBegin() [2/2]

template<class _Field, class _Storage>
ConstRowIterator rowBegin ( ) const
inline

◆ rowEnd() [1/2]

template<class _Field, class _Storage>
RowIterator rowEnd ( )
inline

◆ rowEnd() [2/2]

template<class _Field, class _Storage>
ConstRowIterator rowEnd ( ) const
inline

◆ colBegin() [1/2]

template<class _Field, class _Storage>
ColIterator colBegin ( )
inline

◆ colBegin() [2/2]

template<class _Field, class _Storage>
ConstColIterator colBegin ( ) const
inline

◆ colEnd() [1/2]

template<class _Field, class _Storage>
ColIterator colEnd ( )
inline

◆ colEnd() [2/2]

template<class _Field, class _Storage>
ConstColIterator colEnd ( ) const
inline

◆ Begin() [1/2]

template<class _Field, class _Storage>
Iterator Begin ( )
inline

◆ End() [1/2]

template<class _Field, class _Storage>
Iterator End ( )
inline

◆ Begin() [2/2]

template<class _Field, class _Storage>
ConstIterator Begin ( ) const
inline

◆ End() [2/2]

template<class _Field, class _Storage>
ConstIterator End ( ) const
inline

◆ IndexedBegin() [1/2]

template<class _Field, class _Storage>
IndexedIterator IndexedBegin ( )
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ IndexedBegin() [2/2]

template<class _Field, class _Storage>
ConstIndexedIterator IndexedBegin ( ) const
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ IndexedEnd() [1/2]

template<class _Field, class _Storage>
IndexedIterator IndexedEnd ( )
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ IndexedEnd() [2/2]

template<class _Field, class _Storage>
ConstIndexedIterator IndexedEnd ( ) const
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ operator[]() [1/2]

template<class _Field, class _Storage>
subVectorType operator[] ( size_t i)
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ operator[]() [2/2]

template<class _Field, class _Storage>
constSubVectorType operator[] ( size_t i) const
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ columnDensity()

template<class _Field, class _Storage>
template<class Vector>
Vector & columnDensity ( Vector & v) const
inline

Compute column density.

◆ size()

template<class _Field, class _Storage>
size_t size ( ) const
inline

Compute the number of non zero elt.

◆ finalize()

template<class _Field, class _Storage>
void finalize ( )
inline

Finalize some optimization in the matrix storage.

◆ apply()

template<class _Field, class _Storage>
template<class Vector1, class Vector2>
Vector1 & apply ( Vector1 & y,
const Vector2 & x ) const
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ applyTranspose()

template<class _Field, class _Storage>
template<class Vector1, class Vector2>
Vector1 & applyTranspose ( Vector1 & y,
const Vector2 & x ) const
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ applyRight()

template<class _Field, class _Storage>
subMatrixType & applyRight ( subMatrixType & Y,
const subMatrixType & X )
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ applyLeft()

template<class _Field, class _Storage>
subMatrixType & applyLeft ( subMatrixType & Y,
const subMatrixType & X )
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ zero()

template<class _Field, class _Storage>
void zero ( )
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ random() [1/2]

template<class _Field, class _Storage>
void random ( )
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ random() [2/2]

template<class _Field, class _Storage>
template<class RandIter>
void random ( RandIter & I)
inline

Retrieve a reference to a row.

Since rows may also be indexed, this allows A[i][j] notation to be used.

Parameters
iRow index
Bug
Rows and Cols should be BlasVectors

◆ createBlasMatrix() [5/6]

template<class _Field, class _Storage>
template<class _Matrix>
void createBlasMatrix ( const _Matrix & A,
const size_t i0,
const size_t j0,
const size_t m,
const size_t n,
MatrixContainerCategory::Container  )

◆ createBlasMatrix() [6/6]

template<class _Field, class _Storage>
template<class _Matrix>
void createBlasMatrix ( const _Matrix & A,
const size_t i0,
const size_t j0,
const size_t m,
const size_t n,
MatrixContainerCategory::BlasContainer  )

◆ operator=() [3/3]

template<class _Field, class _Storage>
template<class Matrix>
BlasMatrix< _Field, _Storage > & operator= ( const Matrix & A)

Field Documentation

◆ _row

template<class _Field, class _Storage>
size_t _row
protected

◆ _col

template<class _Field, class _Storage>
size_t _col
protected

◆ _rep

template<class _Field, class _Storage>
Storage _rep
protected

The documentation for this class was generated from the following files: