|
dune-common
2.3.1
|
A dense n x m matrix. More...
#include <dune/common/densematrix.hh>

Public Types | |
| enum | { blocklevel = 1 } |
| 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 Traits::size_type | size_type |
| The type used for the index access and size operation. More... | |
| typedef Traits::row_type | row_type |
| The type used to represent a row (must fulfill the Dune::DenseVector interface) More... | |
| typedef Traits::row_reference | row_reference |
| The type used to represent a reference to a row (usually row_type &) More... | |
| typedef Traits::const_row_reference | const_row_reference |
| The type used to represent a reference to a constant row (usually const row_type &) 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 | |
| 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... | |
| Iterator | end () |
| end iterator More... | |
| Iterator | beforeEnd () |
| Iterator | beforeBegin () |
| ConstIterator | begin () const |
| begin iterator More... | |
| ConstIterator | end () const |
| end iterator More... | |
| ConstIterator | beforeEnd () const |
| ConstIterator | beforeBegin () const |
| template<class RHS > | |
| DenseMatrix & | operator= (const RHS &rhs) |
| template<class Other > | |
| DenseMatrix & | operator+= (const DenseMatrix< Other > &y) |
| vector space addition More... | |
| template<class Other > | |
| 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... | |
| template<class Other > | |
| DenseMatrix & | axpy (const field_type &k, const DenseMatrix< Other > &y) |
| vector space axpy operation (*this += k y) More... | |
| template<class Other > | |
| bool | operator== (const DenseMatrix< Other > &y) const |
| Binary matrix comparison. More... | |
| template<class Other > | |
| bool | operator!= (const DenseMatrix< Other > &y) const |
| Binary matrix incomparison. More... | |
| template<class X , class Y > | |
| void | mv (const X &x, Y &y) const |
| y = A x More... | |
| template<class X , class Y > | |
| void | mtv (const X &x, Y &y) const |
| y = A^T x More... | |
| template<class X , class Y > | |
| void | umv (const X &x, Y &y) const |
| y += A x More... | |
| template<class X , class Y > | |
| void | umtv (const X &x, Y &y) const |
| y += A^T x More... | |
| template<class X , class Y > | |
| void | umhv (const X &x, Y &y) const |
| y += A^H x More... | |
| template<class X , class Y > | |
| void | mmv (const X &x, Y &y) const |
| y -= A x More... | |
| template<class X , class Y > | |
| void | mmtv (const X &x, Y &y) const |
| y -= A^T x More... | |
| template<class X , class Y > | |
| void | mmhv (const X &x, Y &y) const |
| y -= A^H x More... | |
| template<class X , class Y > | |
| void | usmv (const field_type &alpha, const X &x, Y &y) const |
| y += alpha A x More... | |
| template<class X , class Y > | |
| void | usmtv (const field_type &alpha, const X &x, Y &y) const |
| y += alpha A^T x More... | |
| template<class X , class Y > | |
| 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... | |
| template<class V > | |
| 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... | |
| template<typename M2 > | |
| MAT & | leftmultiply (const DenseMatrix< M2 > &M) |
| Multiplies M from the left to this matrix. More... | |
| template<typename M2 > | |
| MAT & | rightmultiply (const DenseMatrix< M2 > &M) |
| 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.
| MAT | type of the matrix implementation |
| typedef Traits::value_type Dune::DenseMatrix< M >::block_type |
export the type representing the components
| typedef row_type::Iterator Dune::DenseMatrix< M >::ColIterator |
rename the iterators for easier access
| typedef ConstIterator Dune::DenseMatrix< M >::const_iterator |
typedef for stl compliant access
| typedef Traits::const_row_reference Dune::DenseMatrix< M >::const_row_reference |
The type used to represent a reference to a constant row (usually const row_type &)
| typedef row_type::ConstIterator Dune::DenseMatrix< M >::ConstColIterator |
rename the iterators for easier access
| typedef DenseIterator<const DenseMatrix,const row_type> Dune::DenseMatrix< M >::ConstIterator |
Iterator class for sequential access.
| typedef ConstIterator Dune::DenseMatrix< M >::ConstRowIterator |
rename the iterators for easier access
| typedef Traits::derived_type Dune::DenseMatrix< M >::derived_type |
type of derived matrix class
| typedef Traits::value_type Dune::DenseMatrix< M >::field_type |
export the type representing the field
| typedef DenseIterator<DenseMatrix,row_type> Dune::DenseMatrix< M >::Iterator |
Iterator class for sequential access.
| typedef Iterator Dune::DenseMatrix< M >::iterator |
typedef for stl compliant access
| typedef Traits::row_reference Dune::DenseMatrix< M >::row_reference |
The type used to represent a reference to a row (usually row_type &)
| typedef Traits::row_type Dune::DenseMatrix< M >::row_type |
The type used to represent a row (must fulfill the Dune::DenseVector interface)
| typedef Iterator Dune::DenseMatrix< M >::RowIterator |
rename the iterators for easier access
| typedef Traits::size_type Dune::DenseMatrix< M >::size_type |
The type used for the index access and size operation.
| typedef Traits::value_type Dune::DenseMatrix< M >::value_type |
export the type representing the field
| anonymous enum |
|
inline |
vector space axpy operation (*this += k y)
Referenced by Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::axpy().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
begin iterator
Referenced by Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::infinity_norm(), and Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::infinity_norm_real().
|
inline |
begin iterator
|
inline |
number of columns
Referenced by Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::exists(), Dune::istl_assign_to_fmatrix(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::leftmultiply(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::M(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mtv(), Dune::DenseMatrixHelp::multAssign(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::rightmultiply(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmtv(), and Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmv().
| field_type Dune::DenseMatrix< M >::determinant | ( | ) | const |
calculates the determinant of this matrix
|
inline |
|
inline |
end iterator
|
inline |
return true when (i,j) is in pattern
|
inline |
frobenius norm: sqrt(sum over squared values of entries)
|
inline |
square of frobenius norm, need for block recursion
|
inline |
infinity norm (row sum norm, how to generalize for blocks?)
|
inline |
simplified infinity norm (uses Manhattan norm for complex values)
| void Dune::DenseMatrix< M >::invert | ( | ) |
Compute inverse.
| FMatrixError | if the matrix is singular |
|
inline |
Multiplies M from the left to this matrix.
|
inline |
number of columns
Referenced by Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmtv(), and Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmv().
|
inline |
y -= A^H x
|
inline |
y -= A^T x
|
inline |
y -= A x
|
inline |
y = A^T x
|
inline |
y = A x
|
inline |
number of rows
Referenced by Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmtv(), and Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmv().
|
inline |
Binary matrix incomparison.
|
inline |
vector space multiplication with scalar
|
inline |
vector space addition
|
inline |
vector space subtraction
|
inline |
vector space division by scalar
|
inline |
|
inline |
Binary matrix comparison.
Referenced by Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::operator!=().
|
inline |
random access
|
inline |
|
inline |
Multiplies M from the right to this matrix.
|
inline |
number of rows
Referenced by Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::axpy(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::beforeEnd(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::end(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::exists(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::frobenius_norm(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::frobenius_norm2(), Dune::istl_assign_to_fmatrix(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::leftmultiply(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mmv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mtv(), Dune::DenseMatrixHelp::multAssign(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::mv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::N(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::operator*=(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::operator+=(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::operator-=(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::operator/=(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::operator==(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::rightmultiply(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::size(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umtv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::umv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmhv(), Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmtv(), and Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::usmv().
|
inline |
size method (number of rows)
Referenced by Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::infinity_norm(), and Dune::DenseMatrix< FieldMatrix< T, ROWS, COLS > >::infinity_norm_real().
| void Dune::DenseMatrix< M >::solve | ( | V & | x, |
| const V & | b | ||
| ) | const |
Solve system A x = b.
| FMatrixError | if the matrix is singular |
|
inline |
y += A^H x
|
inline |
y += A^T x
|
inline |
y += A x
|
inline |
y += alpha A^H x
|
inline |
y += alpha A^T x
|
inline |
y += alpha A x
1.8.7