|
dune-common
2.2.0
|
Construct a matrix with a dynamic size. More...
#include <dune/common/dynmatrix.hh>
Public Types | |
| typedef Base::size_type | size_type |
| The type used for the index access and size operation. | |
| typedef Base::value_type | value_type |
| export the type representing the field | |
| typedef Base::row_type | row_type |
| The type used to represent a row (must fulfill the Dune::DenseVector interface) | |
| enum | |
| We are at the leaf of the block recursion. More... | |
| typedef Traits::derived_type | derived_type |
| type of derived matrix class | |
| typedef Traits::value_type | field_type |
| export the type representing the field | |
| typedef Traits::value_type | block_type |
| export the type representing the components | |
| typedef Traits::row_reference | row_reference |
| The type used to represent a reference to a row (usually row_type &) | |
| typedef Traits::const_row_reference | const_row_reference |
| The type used to represent a reference to a constant row (usually const row_type &) | |
| typedef DenseIterator < DenseMatrix, row_type > | Iterator |
| Iterator class for sequential access. | |
| typedef Iterator | iterator |
| typedef for stl compliant access | |
| typedef Iterator | RowIterator |
| rename the iterators for easier access | |
| typedef row_type::Iterator | ColIterator |
| rename the iterators for easier access | |
| typedef DenseIterator< const DenseMatrix, const row_type > | ConstIterator |
| Iterator class for sequential access. | |
| typedef ConstIterator | const_iterator |
| typedef for stl compliant access | |
| typedef ConstIterator | ConstRowIterator |
| rename the iterators for easier access | |
| typedef row_type::ConstIterator | ConstColIterator |
| rename the iterators for easier access | |
Public Member Functions | |
| DynamicMatrix () | |
| Default constructor. | |
| DynamicMatrix (size_type r, size_type c, value_type v=value_type()) | |
| Constructor initializing the whole matrix with a scalar. | |
| void | resize (size_type r, size_type c, value_type v=value_type()) |
| size_type | mat_rows () const |
| size_type | mat_cols () const |
| row_type & | mat_access (size_type i) |
| const row_type & | mat_access (size_type i) const |
| row_reference | operator[] (size_type i) |
| random access | |
| const_row_reference | operator[] (size_type i) const |
| size_type | size () const |
| size method (number of rows) | |
| Iterator | begin () |
| begin iterator | |
| ConstIterator | begin () const |
| begin iterator | |
| Iterator | end () |
| end iterator | |
| ConstIterator | end () const |
| end iterator | |
| Iterator | beforeEnd () |
| ConstIterator | beforeEnd () const |
| Iterator | beforeBegin () |
| ConstIterator | beforeBegin () const |
| DenseMatrix & | operator+= (const DenseMatrix< Other > &y) |
| vector space addition | |
| DenseMatrix & | operator-= (const DenseMatrix< Other > &y) |
| vector space subtraction | |
| DenseMatrix & | operator*= (const field_type &k) |
| vector space multiplication with scalar | |
| DenseMatrix & | operator/= (const field_type &k) |
| vector space division by scalar | |
| DenseMatrix & | axpy (const field_type &k, const DenseMatrix< Other > &y) |
| vector space axpy operation (*this += k y) | |
| bool | operator== (const DenseMatrix< Other > &y) const |
| Binary matrix comparison. | |
| bool | operator!= (const DenseMatrix< Other > &y) const |
| Binary matrix incomparison. | |
| void | mv (const X &x, Y &y) const |
| y = A x | |
| void | mtv (const X &x, Y &y) const |
| y = A^T x | |
| void | umv (const X &x, Y &y) const |
| y += A x | |
| void | umtv (const X &x, Y &y) const |
| y += A^T x | |
| void | umhv (const X &x, Y &y) const |
| y += A^H x | |
| void | mmv (const X &x, Y &y) const |
| y -= A x | |
| void | mmtv (const X &x, Y &y) const |
| y -= A^T x | |
| void | mmhv (const X &x, Y &y) const |
| y -= A^H x | |
| void | usmv (const field_type &alpha, const X &x, Y &y) const |
| y += alpha A x | |
| void | usmtv (const field_type &alpha, const X &x, Y &y) const |
| y += alpha A^T x | |
| void | usmhv (const field_type &alpha, const X &x, Y &y) const |
| y += alpha A^H x | |
| FieldTraits< value_type > ::real_type | frobenius_norm () const |
| frobenius norm: sqrt(sum over squared values of entries) | |
| FieldTraits< value_type > ::real_type | frobenius_norm2 () const |
| square of frobenius norm, need for block recursion | |
| FieldTraits< value_type > ::real_type | infinity_norm () const |
| infinity norm (row sum norm, how to generalize for blocks?) | |
| FieldTraits< value_type > ::real_type | infinity_norm_real () const |
| simplified infinity norm (uses Manhattan norm for complex values) | |
| void | solve (V &x, const V &b) const |
| Solve system A x = b. | |
| void | invert () |
| Compute inverse. | |
| field_type | determinant () const |
| calculates the determinant of this matrix | |
| DynamicMatrix< K > & | leftmultiply (const DenseMatrix< M2 > &M) |
| Multiplies M from the left to this matrix. | |
| DynamicMatrix< K > & | rightmultiply (const DenseMatrix< M2 > &M) |
| Multiplies M from the right to this matrix. | |
| size_type | N () const |
| number of rows | |
| size_type | M () const |
| number of columns | |
| size_type | rows () const |
| number of rows | |
| size_type | cols () const |
| number of columns | |
| bool | exists (size_type i, size_type j) const |
| return true when (i,j) is in pattern | |
Construct a matrix with a dynamic size.
| K | is the field type (use float, double, complex, etc) |
typedef Traits::value_type Dune::DenseMatrix< DynamicMatrix< K > >::block_type [inherited] |
export the type representing the components
typedef row_type::Iterator Dune::DenseMatrix< DynamicMatrix< K > >::ColIterator [inherited] |
rename the iterators for easier access
typedef ConstIterator Dune::DenseMatrix< DynamicMatrix< K > >::const_iterator [inherited] |
typedef for stl compliant access
typedef Traits::const_row_reference Dune::DenseMatrix< DynamicMatrix< K > >::const_row_reference [inherited] |
The type used to represent a reference to a constant row (usually const row_type &)
typedef row_type::ConstIterator Dune::DenseMatrix< DynamicMatrix< K > >::ConstColIterator [inherited] |
rename the iterators for easier access
typedef DenseIterator<const DenseMatrix,const row_type> Dune::DenseMatrix< DynamicMatrix< K > >::ConstIterator [inherited] |
Iterator class for sequential access.
typedef ConstIterator Dune::DenseMatrix< DynamicMatrix< K > >::ConstRowIterator [inherited] |
rename the iterators for easier access
typedef Traits::derived_type Dune::DenseMatrix< DynamicMatrix< K > >::derived_type [inherited] |
type of derived matrix class
typedef Traits::value_type Dune::DenseMatrix< DynamicMatrix< K > >::field_type [inherited] |
export the type representing the field
typedef DenseIterator<DenseMatrix,row_type> Dune::DenseMatrix< DynamicMatrix< K > >::Iterator [inherited] |
Iterator class for sequential access.
typedef Iterator Dune::DenseMatrix< DynamicMatrix< K > >::iterator [inherited] |
typedef for stl compliant access
typedef Traits::row_reference Dune::DenseMatrix< DynamicMatrix< K > >::row_reference [inherited] |
The type used to represent a reference to a row (usually row_type &)
| typedef Base::row_type Dune::DynamicMatrix< K >::row_type |
The type used to represent a row (must fulfill the Dune::DenseVector interface)
Reimplemented from Dune::DenseMatrix< DynamicMatrix< K > >.
typedef Iterator Dune::DenseMatrix< DynamicMatrix< K > >::RowIterator [inherited] |
rename the iterators for easier access
| typedef Base::size_type Dune::DynamicMatrix< K >::size_type |
The type used for the index access and size operation.
Reimplemented from Dune::DenseMatrix< DynamicMatrix< K > >.
| typedef Base::value_type Dune::DynamicMatrix< K >::value_type |
export the type representing the field
Reimplemented from Dune::DenseMatrix< DynamicMatrix< K > >.
anonymous enum [inherited] |
We are at the leaf of the block recursion.
| Dune::DynamicMatrix< K >::DynamicMatrix | ( | ) | [inline] |
Default constructor.
| Dune::DynamicMatrix< K >::DynamicMatrix | ( | size_type | r, |
| size_type | c, | ||
| value_type | v = value_type() |
||
| ) | [inline] |
Constructor initializing the whole matrix with a scalar.
| DenseMatrix& Dune::DenseMatrix< DynamicMatrix< K > >::axpy | ( | const field_type & | k, |
| const DenseMatrix< Other > & | y | ||
| ) | [inline, inherited] |
vector space axpy operation (*this += k y)
References Dune::DenseMatrix< MAT >::axpy(), and Dune::DenseMatrix< MAT >::rows().
| Iterator Dune::DenseMatrix< DynamicMatrix< K > >::beforeBegin | ( | ) | [inline, inherited] |
| ConstIterator Dune::DenseMatrix< DynamicMatrix< K > >::beforeBegin | ( | ) | const [inline, inherited] |
| Iterator Dune::DenseMatrix< DynamicMatrix< K > >::beforeEnd | ( | ) | [inline, inherited] |
References Dune::DenseMatrix< MAT >::rows().
| ConstIterator Dune::DenseMatrix< DynamicMatrix< K > >::beforeEnd | ( | ) | const [inline, inherited] |
References Dune::DenseMatrix< MAT >::rows().
| Iterator Dune::DenseMatrix< DynamicMatrix< K > >::begin | ( | ) | [inline, inherited] |
begin iterator
| ConstIterator Dune::DenseMatrix< DynamicMatrix< K > >::begin | ( | ) | const [inline, inherited] |
begin iterator
| size_type Dune::DenseMatrix< DynamicMatrix< K > >::cols | ( | ) | const [inline, inherited] |
number of columns
| field_type Dune::DenseMatrix< DynamicMatrix< K > >::determinant | ( | ) | const [inherited] |
calculates the determinant of this matrix
| Iterator Dune::DenseMatrix< DynamicMatrix< K > >::end | ( | ) | [inline, inherited] |
end iterator
References Dune::DenseMatrix< MAT >::rows().
| ConstIterator Dune::DenseMatrix< DynamicMatrix< K > >::end | ( | ) | const [inline, inherited] |
end iterator
References Dune::DenseMatrix< MAT >::rows().
| bool Dune::DenseMatrix< DynamicMatrix< K > >::exists | ( | size_type | i, |
| size_type | j | ||
| ) | const [inline, inherited] |
return true when (i,j) is in pattern
References Dune::DenseMatrix< MAT >::cols(), DUNE_THROW, and Dune::DenseMatrix< MAT >::rows().
| FieldTraits<value_type>::real_type Dune::DenseMatrix< DynamicMatrix< K > >::frobenius_norm | ( | ) | const [inline, inherited] |
frobenius norm: sqrt(sum over squared values of entries)
References Dune::DenseMatrix< MAT >::rows().
| FieldTraits<value_type>::real_type Dune::DenseMatrix< DynamicMatrix< K > >::frobenius_norm2 | ( | ) | const [inline, inherited] |
square of frobenius norm, need for block recursion
References Dune::DenseMatrix< MAT >::rows().
| FieldTraits<value_type>::real_type Dune::DenseMatrix< DynamicMatrix< K > >::infinity_norm | ( | ) | const [inline, inherited] |
infinity norm (row sum norm, how to generalize for blocks?)
References Dune::DenseMatrix< MAT >::rows().
| FieldTraits<value_type>::real_type Dune::DenseMatrix< DynamicMatrix< K > >::infinity_norm_real | ( | ) | const [inline, inherited] |
simplified infinity norm (uses Manhattan norm for complex values)
References Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::invert | ( | ) | [inherited] |
Compute inverse.
| FMatrixError | if the matrix is singular |
| DynamicMatrix< K > & Dune::DenseMatrix< DynamicMatrix< K > >::leftmultiply | ( | const DenseMatrix< M2 > & | M | ) | [inline, inherited] |
Multiplies M from the left to this matrix.
References Dune::DenseMatrix< MAT >::cols(), and Dune::DenseMatrix< MAT >::rows().
| size_type Dune::DenseMatrix< DynamicMatrix< K > >::M | ( | ) | const [inline, inherited] |
number of columns
References Dune::DenseMatrix< MAT >::cols().
| row_type& Dune::DynamicMatrix< K >::mat_access | ( | size_type | i | ) | [inline] |
| const row_type& Dune::DynamicMatrix< K >::mat_access | ( | size_type | i | ) | const [inline] |
| size_type Dune::DynamicMatrix< K >::mat_cols | ( | ) | const [inline] |
References Dune::DenseMatrix< DynamicMatrix< K > >::rows().
| size_type Dune::DynamicMatrix< K >::mat_rows | ( | ) | const [inline] |
| void Dune::DenseMatrix< DynamicMatrix< K > >::mmhv | ( | const X & | x, |
| Y & | y | ||
| ) | const [inline, inherited] |
| void Dune::DenseMatrix< DynamicMatrix< K > >::mmtv | ( | const X & | x, |
| Y & | y | ||
| ) | const [inline, inherited] |
y -= A^T x
References Dune::DenseMatrix< MAT >::cols(), DUNE_THROW, Dune::DenseMatrix< MAT >::M(), Dune::DenseMatrix< MAT >::N(), and Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::mmv | ( | const X & | x, |
| Y & | y | ||
| ) | const [inline, inherited] |
y -= A x
References Dune::DenseMatrix< MAT >::cols(), DUNE_THROW, Dune::DenseMatrix< MAT >::M(), Dune::DenseMatrix< MAT >::N(), and Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::mtv | ( | const X & | x, |
| Y & | y | ||
| ) | const [inline, inherited] |
y = A^T x
References Dune::DenseMatrix< MAT >::cols(), DUNE_THROW, Dune::DenseMatrix< MAT >::M(), Dune::DenseMatrix< MAT >::N(), and Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::mv | ( | const X & | x, |
| Y & | y | ||
| ) | const [inline, inherited] |
| size_type Dune::DenseMatrix< DynamicMatrix< K > >::N | ( | ) | const [inline, inherited] |
number of rows
References Dune::DenseMatrix< MAT >::rows().
| bool Dune::DenseMatrix< DynamicMatrix< K > >::operator!= | ( | const DenseMatrix< Other > & | y | ) | const [inline, inherited] |
Binary matrix incomparison.
References Dune::DenseMatrix< MAT >::operator==().
| DenseMatrix& Dune::DenseMatrix< DynamicMatrix< K > >::operator*= | ( | const field_type & | k | ) | [inline, inherited] |
vector space multiplication with scalar
References Dune::DenseMatrix< MAT >::rows().
| DenseMatrix& Dune::DenseMatrix< DynamicMatrix< K > >::operator+= | ( | const DenseMatrix< Other > & | y | ) | [inline, inherited] |
vector space addition
References Dune::DenseMatrix< MAT >::rows().
| DenseMatrix& Dune::DenseMatrix< DynamicMatrix< K > >::operator-= | ( | const DenseMatrix< Other > & | y | ) | [inline, inherited] |
vector space subtraction
References Dune::DenseMatrix< MAT >::rows().
| DenseMatrix& Dune::DenseMatrix< DynamicMatrix< K > >::operator/= | ( | const field_type & | k | ) | [inline, inherited] |
vector space division by scalar
References Dune::DenseMatrix< MAT >::rows().
| bool Dune::DenseMatrix< DynamicMatrix< K > >::operator== | ( | const DenseMatrix< Other > & | y | ) | const [inline, inherited] |
Binary matrix comparison.
References Dune::DenseMatrix< MAT >::rows().
| row_reference Dune::DenseMatrix< DynamicMatrix< K > >::operator[] | ( | size_type | i | ) | [inline, inherited] |
random access
| const_row_reference Dune::DenseMatrix< DynamicMatrix< K > >::operator[] | ( | size_type | i | ) | const [inline, inherited] |
| void Dune::DynamicMatrix< K >::resize | ( | size_type | r, |
| size_type | c, | ||
| value_type | v = value_type() |
||
| ) | [inline] |
| DynamicMatrix< K > & Dune::DenseMatrix< DynamicMatrix< K > >::rightmultiply | ( | const DenseMatrix< M2 > & | M | ) | [inline, inherited] |
Multiplies M from the right to this matrix.
References Dune::DenseMatrix< MAT >::cols(), and Dune::DenseMatrix< MAT >::rows().
| size_type Dune::DenseMatrix< DynamicMatrix< K > >::rows | ( | ) | const [inline, inherited] |
number of rows
Referenced by Dune::DynamicMatrix< K >::mat_cols().
| size_type Dune::DenseMatrix< DynamicMatrix< K > >::size | ( | ) | const [inline, inherited] |
size method (number of rows)
References Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::solve | ( | V & | x, |
| const V & | b | ||
| ) | const [inherited] |
Solve system A x = b.
| FMatrixError | if the matrix is singular |
| void Dune::DenseMatrix< DynamicMatrix< K > >::umhv | ( | const X & | x, |
| Y & | y | ||
| ) | const [inline, inherited] |
| void Dune::DenseMatrix< DynamicMatrix< K > >::umtv | ( | const X & | x, |
| Y & | y | ||
| ) | const [inline, inherited] |
y += A^T x
References Dune::DenseMatrix< MAT >::cols(), DUNE_THROW, Dune::DenseMatrix< MAT >::M(), Dune::DenseMatrix< MAT >::N(), and Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::umv | ( | const X & | x, |
| Y & | y | ||
| ) | const [inline, inherited] |
y += A x
References Dune::DenseMatrix< MAT >::cols(), DUNE_THROW, Dune::DenseMatrix< MAT >::M(), Dune::DenseMatrix< MAT >::N(), and Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::usmhv | ( | const field_type & | alpha, |
| const X & | x, | ||
| Y & | y | ||
| ) | const [inline, inherited] |
y += alpha A^H x
References Dune::DenseMatrix< MAT >::cols(), Dune::conjugateComplex(), DUNE_THROW, Dune::DenseMatrix< MAT >::M(), Dune::DenseMatrix< MAT >::N(), and Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::usmtv | ( | const field_type & | alpha, |
| const X & | x, | ||
| Y & | y | ||
| ) | const [inline, inherited] |
y += alpha A^T x
References Dune::DenseMatrix< MAT >::cols(), DUNE_THROW, Dune::DenseMatrix< MAT >::M(), Dune::DenseMatrix< MAT >::N(), and Dune::DenseMatrix< MAT >::rows().
| void Dune::DenseMatrix< DynamicMatrix< K > >::usmv | ( | const field_type & | alpha, |
| const X & | x, | ||
| Y & | y | ||
| ) | const [inline, inherited] |
y += alpha A x
References Dune::DenseMatrix< MAT >::cols(), DUNE_THROW, Dune::DenseMatrix< MAT >::M(), Dune::DenseMatrix< MAT >::N(), and Dune::DenseMatrix< MAT >::rows().
1.7.6.1