dune-common
2.2.1
|
A dense n x m matrix. More...
#include <dune/common/densematrix.hh>
Public Types | |
enum | { rows = ROWS, cols = COLS } |
export size More... | |
typedef Base::size_type | size_type |
typedef Base::row_type | row_type |
typedef Base::row_reference | row_reference |
typedef Base::const_row_reference | const_row_reference |
enum | |
We are at the leaf of the block recursion. More... | |
typedef Traits::derived_type | derived_type |
type of derived matrix class More... | |
typedef Traits::value_type | value_type |
export the type representing the field More... | |
typedef Traits::value_type | field_type |
export the type representing the field More... | |
typedef Traits::value_type | block_type |
export the type representing the components More... | |
typedef DenseIterator < DenseMatrix, row_type > | Iterator |
Iterator class for sequential access. More... | |
typedef Iterator | iterator |
typedef for stl compliant access More... | |
typedef Iterator | RowIterator |
rename the iterators for easier access More... | |
typedef row_type::Iterator | ColIterator |
rename the iterators for easier access More... | |
typedef DenseIterator< const DenseMatrix, const row_type > | ConstIterator |
Iterator class for sequential access. More... | |
typedef ConstIterator | const_iterator |
typedef for stl compliant access More... | |
typedef ConstIterator | ConstRowIterator |
rename the iterators for easier access More... | |
typedef row_type::ConstIterator | ConstColIterator |
rename the iterators for easier access More... | |
Public Member Functions | |
FieldMatrix () | |
Default constructor. More... | |
FieldMatrix (const K &k) | |
Constructor initializing the whole matrix with a scalar. More... | |
template<typename T > | |
FieldMatrix (const T &t) | |
template<int l> | |
FieldMatrix< K, l, cols > | leftmultiplyany (const FieldMatrix< K, l, rows > &M) const |
Multiplies M from the left to this matrix, this matrix is not modified. More... | |
FieldMatrix & | rightmultiply (const FieldMatrix< K, cols, cols > &M) |
Multiplies M from the right to this matrix. More... | |
template<int l> | |
FieldMatrix< K, rows, l > | rightmultiplyany (const FieldMatrix< K, cols, l > &M) const |
Multiplies M from the right to this matrix, this matrix is not modified. More... | |
size_type | mat_rows () const |
size_type | mat_cols () const |
row_reference | mat_access (size_type i) |
const_row_reference | mat_access (size_type i) const |
row_reference | operator[] (size_type i) |
random access More... | |
const_row_reference | operator[] (size_type i) const |
size_type | size () const |
size method (number of rows) More... | |
Iterator | begin () |
begin iterator More... | |
ConstIterator | begin () const |
begin iterator More... | |
Iterator | end () |
end iterator More... | |
ConstIterator | end () const |
end iterator More... | |
Iterator | beforeEnd () |
ConstIterator | beforeEnd () const |
Iterator | beforeBegin () |
ConstIterator | beforeBegin () const |
DenseMatrix & | operator+= (const DenseMatrix< Other > &y) |
vector space addition More... | |
DenseMatrix & | operator-= (const DenseMatrix< Other > &y) |
vector space subtraction More... | |
DenseMatrix & | operator*= (const field_type &k) |
vector space multiplication with scalar More... | |
DenseMatrix & | operator/= (const field_type &k) |
vector space division by scalar More... | |
DenseMatrix & | axpy (const field_type &k, const DenseMatrix< Other > &y) |
vector space axpy operation (*this += k y) More... | |
bool | operator== (const DenseMatrix< Other > &y) const |
Binary matrix comparison. More... | |
bool | operator!= (const DenseMatrix< Other > &y) const |
Binary matrix incomparison. More... | |
void | mv (const X &x, Y &y) const |
y = A x More... | |
void | mtv (const X &x, Y &y) const |
y = A^T x More... | |
void | umv (const X &x, Y &y) const |
y += A x More... | |
void | umtv (const X &x, Y &y) const |
y += A^T x More... | |
void | umhv (const X &x, Y &y) const |
y += A^H x More... | |
void | mmv (const X &x, Y &y) const |
y -= A x More... | |
void | mmtv (const X &x, Y &y) const |
y -= A^T x More... | |
void | mmhv (const X &x, Y &y) const |
y -= A^H x More... | |
void | usmv (const field_type &alpha, const X &x, Y &y) const |
y += alpha A x More... | |
void | usmtv (const field_type &alpha, const X &x, Y &y) const |
y += alpha A^T x More... | |
void | usmhv (const field_type &alpha, const X &x, Y &y) const |
y += alpha A^H x More... | |
FieldTraits< value_type > ::real_type | frobenius_norm () const |
frobenius norm: sqrt(sum over squared values of entries) More... | |
FieldTraits< value_type > ::real_type | frobenius_norm2 () const |
square of frobenius norm, need for block recursion More... | |
FieldTraits< value_type > ::real_type | infinity_norm () const |
infinity norm (row sum norm, how to generalize for blocks?) More... | |
FieldTraits< value_type > ::real_type | infinity_norm_real () const |
simplified infinity norm (uses Manhattan norm for complex values) More... | |
void | solve (V &x, const V &b) const |
Solve system A x = b. More... | |
void | invert () |
Compute inverse. More... | |
field_type | determinant () const |
calculates the determinant of this matrix More... | |
MAT & | leftmultiply (const DenseMatrix< M2 > &FieldMatrix< K, ROWS, COLS >) |
Multiplies M from the left to this matrix. More... | |
MAT & | rightmultiply (const DenseMatrix< M2 > &FieldMatrix< K, ROWS, COLS >) |
Multiplies M from the right to this matrix. More... | |
size_type | N () const |
number of rows More... | |
size_type | M () const |
number of columns More... | |
size_type | rows () const |
number of rows More... | |
size_type | cols () const |
number of columns More... | |
bool | exists (size_type i, size_type j) const |
return true when (i,j) is in pattern More... | |
A dense n x m matrix.
Matrices represent linear maps from a vector space V to a vector space W. This class represents such a linear map by storing a two-dimensional array of numbers of a given field type K. The number of rows and columns is given at compile time.
|
inherited |
export the type representing the components
|
inherited |
rename the iterators for easier access
|
inherited |
typedef for stl compliant access
typedef Base::const_row_reference Dune::FieldMatrix< K, N, M >::const_row_reference |
|
inherited |
rename the iterators for easier access
|
inherited |
Iterator class for sequential access.
|
inherited |
rename the iterators for easier access
|
inherited |
type of derived matrix class
|
inherited |
export the type representing the field
|
inherited |
Iterator class for sequential access.
|
inherited |
typedef for stl compliant access
typedef Base::row_reference Dune::FieldMatrix< K, N, M >::row_reference |
typedef Base::row_type Dune::FieldMatrix< K, N, M >::row_type |
|
inherited |
rename the iterators for easier access
typedef Base::size_type Dune::FieldMatrix< K, N, M >::size_type |
|
inherited |
export the type representing the field
anonymous enum |
|
inherited |
We are at the leaf of the block recursion.
|
inline |
Default constructor.
|
inlineexplicit |
Constructor initializing the whole matrix with a scalar.
|
inlineexplicit |
|
inlineinherited |
vector space axpy operation (*this += k y)
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
begin iterator
|
inlineinherited |
begin iterator
|
inlineinherited |
number of columns
Referenced by Dune::FieldMatrix< T, n, m >::leftmultiplyany(), Dune::FieldMatrix< T, n, m >::rightmultiply(), and Dune::FieldMatrix< T, n, m >::rightmultiplyany().
|
inherited |
calculates the determinant of this matrix
|
inlineinherited |
end iterator
|
inlineinherited |
end iterator
|
inlineinherited |
return true when (i,j) is in pattern
|
inlineinherited |
frobenius norm: sqrt(sum over squared values of entries)
|
inlineinherited |
square of frobenius norm, need for block recursion
|
inlineinherited |
infinity norm (row sum norm, how to generalize for blocks?)
|
inlineinherited |
simplified infinity norm (uses Manhattan norm for complex values)
|
inherited |
Compute inverse.
FMatrixError | if the matrix is singular |
|
inlineinherited |
Multiplies M from the left to this matrix.
|
inline |
Multiplies M from the left to this matrix, this matrix is not modified.
|
inlineinherited |
number of columns
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
y -= A^H x
|
inlineinherited |
y -= A^T x
|
inlineinherited |
y -= A x
|
inlineinherited |
y = A^T x
|
inlineinherited |
y = A x
|
inlineinherited |
number of rows
|
inlineinherited |
Binary matrix incomparison.
|
inlineinherited |
vector space multiplication with scalar
|
inlineinherited |
vector space addition
|
inlineinherited |
vector space subtraction
|
inlineinherited |
vector space division by scalar
|
inlineinherited |
Binary matrix comparison.
|
inlineinherited |
random access
|
inlineinherited |
|
inline |
Multiplies M from the right to this matrix.
|
inlineinherited |
Multiplies M from the right to this matrix.
|
inline |
Multiplies M from the right to this matrix, this matrix is not modified.
|
inlineinherited |
|
inlineinherited |
size method (number of rows)
|
inherited |
Solve system A x = b.
FMatrixError | if the matrix is singular |
|
inlineinherited |
y += A^H x
|
inlineinherited |
y += A^T x
|
inlineinherited |
y += A x
|
inlineinherited |
y += alpha A^H x
|
inlineinherited |
y += alpha A^T x
|
inlineinherited |
y += alpha A x