|
| typedef BCRSMatrix< FieldMatrix< T, n, m >, A >::CreateIterator | Dune::SparsityPatternInitializer< T, A, n, m >::CreateIterator |
| |
| typedef BCRSMatrix< FieldMatrix< T, n, m >, A >::size_type | Dune::SparsityPatternInitializer< T, A, n, m >::size_type |
| |
| typedef Dune::BCRSMatrix< FieldMatrix< T, n, m >, TA > | Dune::MatrixInitializer< transpose, T, TA, n, m >::Matrix |
| |
| typedef Matrix::CreateIterator | Dune::MatrixInitializer< transpose, T, TA, n, m >::CreateIterator |
| |
| typedef Matrix::size_type | Dune::MatrixInitializer< transpose, T, TA, n, m >::size_type |
| |
| typedef Dune::BCRSMatrix< Dune::FieldMatrix< T, n, m >, TA > | Dune::MatrixInitializer< 1, T, TA, n, m >::Matrix |
| |
| typedef Matrix::CreateIterator | Dune::MatrixInitializer< 1, T, TA, n, m >::CreateIterator |
| |
| typedef Matrix::size_type | Dune::MatrixInitializer< 1, T, TA, n, m >::size_type |
| |
| typedef BCRSMatrix< FieldMatrix< T, n, m >, A > | Dune::EntryAccumulatorFather< T, A, n, m >::Matrix |
| |
| typedef Matrix::RowIterator | Dune::EntryAccumulatorFather< T, A, n, m >::Row |
| |
| typedef Matrix::ColIterator | Dune::EntryAccumulatorFather< T, A, n, m >::Col |
| |
| typedef BCRSMatrix< FieldMatrix< T, n, m >, A > | Dune::EntryAccumulator< T, A, n, m, transpose >::Matrix |
| |
| typedef Matrix::size_type | Dune::EntryAccumulator< T, A, n, m, transpose >::size_type |
| |
| typedef BCRSMatrix< FieldMatrix< T, n, m >, A > | Dune::EntryAccumulator< T, A, n, m, 0 >::Matrix |
| |
| typedef Matrix::size_type | Dune::EntryAccumulator< T, A, n, m, 0 >::size_type |
| |
| typedef BCRSMatrix< FieldMatrix< T, n, m >, A > | Dune::EntryAccumulator< T, A, n, m, 1 >::Matrix |
| |
| typedef Matrix::size_type | Dune::EntryAccumulator< T, A, n, m, 1 >::size_type |
| |
| typedef BCRSMatrix< FieldMatrix< T, n, m >, A > | Dune::EntryAccumulator< T, A, n, m, 2 >::Matrix |
| |
| typedef Matrix::size_type | Dune::EntryAccumulator< T, A, n, m, 2 >::size_type |
| |
| typedef FieldMatrix< T, n, m > | Dune::MatMultMatResult< FieldMatrix< T, n, k >, FieldMatrix< T, k, m > >::type |
| |
| typedef BCRSMatrix< typename MatMultMatResult< FieldMatrix< T, n, k >, FieldMatrix< T, k, m > >::type, std::allocator< typename MatMultMatResult< FieldMatrix< T, n, k >, FieldMatrix< T, k, m > >::type > > | Dune::MatMultMatResult< BCRSMatrix< FieldMatrix< T, n, k >, A >, BCRSMatrix< FieldMatrix< T, k, m >, A1 > >::type |
| |
| typedef FieldMatrix< T, n, m > | Dune::TransposedMatMultMatResult< FieldMatrix< T, k, n >, FieldMatrix< T, k, m > >::type |
| |
| typedef BCRSMatrix< typename MatMultMatResult< FieldMatrix< T, n, k >, FieldMatrix< T, k, m > >::type, std::allocator< typename MatMultMatResult< FieldMatrix< T, n, k >, FieldMatrix< T, k, m > >::type > > | Dune::TransposedMatMultMatResult< BCRSMatrix< FieldMatrix< T, k, n >, A >, BCRSMatrix< FieldMatrix< T, k, m >, A1 > >::type |
| |
| typedef MultiTypeBlockMatrix< FirstRow, Args... > | Dune::MultiTypeBlockMatrix< FirstRow, Args >::type |
| |
| using | Dune::MultiTypeBlockMatrix< FirstRow, Args >::size_type = std::size_t |
| | Type used for sizes. More...
|
| |
| typedef FirstRow::field_type | Dune::MultiTypeBlockMatrix< FirstRow, Args >::field_type |
| |
| using | std::tuple_element< i, Dune::MultiTypeBlockMatrix< Args... > >::type = typename std::tuple_element< i, std::tuple< Args... > >::type |
| |
| using | Dune::FieldTraits< MultiTypeBlockVector< Args... > >::field_type = typename MultiTypeBlockVector< Args... >::field_type |
| |
| using | Dune::FieldTraits< MultiTypeBlockVector< Args... > >::real_type = typename FieldTraits< field_type >::real_type |
| |
| using | Dune::MultiTypeBlockVector< Args >::size_type = std::size_t |
| | Type used for vector sizes. More...
|
| |
| typedef MultiTypeBlockVector< Args... > | Dune::MultiTypeBlockVector< Args >::type |
| |
| using | Dune::MultiTypeBlockVector< Args >::field_type = Std::detected_t< std::common_type_t, typename FieldTraits< std::decay_t< Args > >::field_type... > |
| | The type used for scalars. More...
|
| |
| using | std::tuple_element< i, Dune::MultiTypeBlockVector< Args... > >::type = typename std::tuple_element< i, std::tuple< Args... > >::type |
| |
|
| template<class T , class A , class A1 , class A2 , int n, int m, int k> |
| void | Dune::matMultTransposeMat (BCRSMatrix< FieldMatrix< T, n, k >, A > &res, const BCRSMatrix< FieldMatrix< T, n, m >, A1 > &mat, const BCRSMatrix< FieldMatrix< T, k, m >, A2 > &matt, bool tryHard=false) |
| | Calculate product of a sparse matrix with a transposed sparse matrices ( ). More...
|
| |
| template<class T , class A , class A1 , class A2 , int n, int m, int k> |
| void | Dune::matMultMat (BCRSMatrix< FieldMatrix< T, n, m >, A > &res, const BCRSMatrix< FieldMatrix< T, n, k >, A1 > &mat, const BCRSMatrix< FieldMatrix< T, k, m >, A2 > &matt, bool tryHard=false) |
| | Calculate product of two sparse matrices ( ). More...
|
| |
| template<class T , class A , class A1 , class A2 , int n, int m, int k> |
| void | Dune::transposeMatMultMat (BCRSMatrix< FieldMatrix< T, n, m >, A > &res, const BCRSMatrix< FieldMatrix< T, k, n >, A1 > &mat, const BCRSMatrix< FieldMatrix< T, k, m >, A2 > &matt, bool tryHard=false) |
| | Calculate product of a transposed sparse matrix with another sparse matrices ( ). More...
|
| |
| template<class M > |
| auto | Dune::countNonZeros (const M &, typename std::enable_if_t< Dune::IsNumber< M >::value > *sfinae=nullptr) |
| | Get the number of nonzero fields in the matrix. More...
|
| |
| template<class M > |
| auto | Dune::countNonZeros (const M &matrix, typename std::enable_if_t<!Dune::IsNumber< M >::value > *sfinae=nullptr) |
| |
| static constexpr size_type | Dune::MultiTypeBlockMatrix< FirstRow, Args >::N () |
| | Return the number of matrix rows. More...
|
| |
| static constexpr size_type | Dune::MultiTypeBlockMatrix< FirstRow, Args >::size () |
| | Return the number of matrix rows. More...
|
| |
| static constexpr size_type | Dune::MultiTypeBlockMatrix< FirstRow, Args >::M () |
| | Return the number of matrix columns. More...
|
| |
| template<size_type index> |
| auto | Dune::MultiTypeBlockMatrix< FirstRow, Args >::operator[] (const std::integral_constant< size_type, index > indexVariable) -> decltype(std::get< index >(*this)) |
| | Random-access operator. More...
|
| |
| template<size_type index> |
| auto | Dune::MultiTypeBlockMatrix< FirstRow, Args >::operator[] (const std::integral_constant< size_type, index > indexVariable) const -> decltype(std::get< index >(*this)) |
| | Const random-access operator. More...
|
| |
| template<typename T > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::operator= (const T &newval) |
| |
| MultiTypeBlockMatrix & | Dune::MultiTypeBlockMatrix< FirstRow, Args >::operator*= (const field_type &k) |
| | vector space multiplication with scalar More...
|
| |
| MultiTypeBlockMatrix & | Dune::MultiTypeBlockMatrix< FirstRow, Args >::operator/= (const field_type &k) |
| | vector space division by scalar More...
|
| |
| MultiTypeBlockMatrix & | Dune::MultiTypeBlockMatrix< FirstRow, Args >::operator+= (const MultiTypeBlockMatrix &b) |
| | Add the entries of another matrix to this one. More...
|
| |
| MultiTypeBlockMatrix & | Dune::MultiTypeBlockMatrix< FirstRow, Args >::operator-= (const MultiTypeBlockMatrix &b) |
| | Subtract the entries of another matrix from this one. More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::mv (const X &x, Y &y) const |
| | y = A x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::umv (const X &x, Y &y) const |
| | y += A x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::mmv (const X &x, Y &y) const |
| | y -= A x More...
|
| |
| template<typename AlphaType , typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::usmv (const AlphaType &alpha, const X &x, Y &y) const |
| | y += alpha A x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::mtv (const X &x, Y &y) const |
| | y = A^T x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::umtv (const X &x, Y &y) const |
| | y += A^T x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::mmtv (const X &x, Y &y) const |
| | y -= A^T x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::usmtv (const field_type &alpha, const X &x, Y &y) const |
| | y += alpha A^T x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::umhv (const X &x, Y &y) const |
| | y += A^H x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::mmhv (const X &x, Y &y) const |
| | y -= A^H x More...
|
| |
| template<typename X , typename Y > |
| void | Dune::MultiTypeBlockMatrix< FirstRow, Args >::usmhv (const field_type &alpha, const X &x, Y &y) const |
| | y += alpha A^H x More...
|
| |
| auto | Dune::MultiTypeBlockMatrix< FirstRow, Args >::frobenius_norm2 () const |
| | square of frobenius norm, need for block recursion More...
|
| |
| FieldTraits< field_type >::real_type | Dune::MultiTypeBlockMatrix< FirstRow, Args >::frobenius_norm () const |
| | frobenius norm: sqrt(sum over squared values of entries) More...
|
| |
| auto | Dune::MultiTypeBlockMatrix< FirstRow, Args >::infinity_norm () const |
| | Bastardized version of the infinity-norm / row-sum norm. More...
|
| |
| auto | Dune::MultiTypeBlockMatrix< FirstRow, Args >::infinity_norm_real () const |
| | Bastardized version of the infinity-norm / row-sum norm. More...
|
| |
| template<typename T1 , typename... Args> |
| std::ostream & | Dune::operator<< (std::ostream &s, const MultiTypeBlockMatrix< T1, Args... > &m) |
| | << operator for a MultiTypeBlockMatrix More...
|
| |
| template<typename Trhs , typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver_Col< I, crow, ccol, remain_col >::calc_rhs (const TMatrix &A, TVector &x, TVector &v, Trhs &b, const K &w) |
| |
| template<typename Trhs , typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver_Col< I, crow, ccol, 0 >::calc_rhs (const TMatrix &, TVector &, TVector &, Trhs &, const K &) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, remain_row >::dbgs (const TMatrix &A, TVector &x, const TVector &b, const K &w) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, remain_row >::dbgs (const TMatrix &A, TVector &x, TVector &v, const TVector &b, const K &w) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, remain_row >::bsorf (const TMatrix &A, TVector &x, const TVector &b, const K &w) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, remain_row >::bsorf (const TMatrix &A, TVector &x, TVector &v, const TVector &b, const K &w) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, remain_row >::bsorb (const TMatrix &A, TVector &x, const TVector &b, const K &w) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, remain_row >::bsorb (const TMatrix &A, TVector &x, TVector &v, const TVector &b, const K &w) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, remain_row >::dbjac (const TMatrix &A, TVector &x, const TVector &b, const K &w) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, remain_row >::dbjac (const TMatrix &A, TVector &x, TVector &v, const TVector &b, const K &w) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, 0 >::dbgs (const TMatrix &, TVector &, TVector &, const TVector &, const K &) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, 0 >::bsorf (const TMatrix &, TVector &, TVector &, const TVector &, const K &) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, 0 >::bsorb (const TMatrix &, TVector &, TVector &, const TVector &, const K &) |
| |
| template<typename TVector , typename TMatrix , typename K > |
| static void | Dune::MultiTypeBlockMatrix_Solver< I, crow, 0 >::dbjac (const TMatrix &, TVector &, TVector &, const TVector &, const K &) |
| |
| static constexpr size_type | Dune::MultiTypeBlockVector< Args >::size () |
| | Return the number of non-zero vector entries. More...
|
| |
| static constexpr size_type | Dune::MultiTypeBlockVector< Args >::N () |
| | Number of elements. More...
|
| |
| int | Dune::MultiTypeBlockVector< Args >::count () const |
| |
| size_type | Dune::MultiTypeBlockVector< Args >::dim () const |
| | Number of scalar elements. More...
|
| |
| template<size_type index> |
| std::tuple_element< index, TupleType >::type & | Dune::MultiTypeBlockVector< Args >::operator[] (const std::integral_constant< size_type, index > indexVariable) |
| | Random-access operator. More...
|
| |
| template<size_type index> |
| const std::tuple_element< index, TupleType >::type & | Dune::MultiTypeBlockVector< Args >::operator[] (const std::integral_constant< size_type, index > indexVariable) const |
| | Const random-access operator. More...
|
| |
| template<typename T > |
| void | Dune::MultiTypeBlockVector< Args >::operator= (const T &newval) |
| | Assignment operator. More...
|
| |
| void | Dune::MultiTypeBlockVector< Args >::operator+= (const type &newv) |
| |
| void | Dune::MultiTypeBlockVector< Args >::operator-= (const type &newv) |
| |
| template<class T , std::enable_if_t< IsNumber< T >::value, int > = 0> |
| void | Dune::MultiTypeBlockVector< Args >::operator*= (const T &w) |
| | Multiplication with a scalar. More...
|
| |
| template<class T , std::enable_if_t< IsNumber< T >::value, int > = 0> |
| void | Dune::MultiTypeBlockVector< Args >::operator/= (const T &w) |
| | Division by a scalar. More...
|
| |
| field_type | Dune::MultiTypeBlockVector< Args >::operator* (const type &newv) const |
| |
| field_type | Dune::MultiTypeBlockVector< Args >::dot (const type &newv) const |
| |
| auto | Dune::MultiTypeBlockVector< Args >::one_norm () const |
| | Compute the 1-norm. More...
|
| |
| auto | Dune::MultiTypeBlockVector< Args >::one_norm_real () const |
| | Compute the simplified 1-norm (uses 1-norm also for complex values) More...
|
| |
| FieldTraits< field_type >::real_type | Dune::MultiTypeBlockVector< Args >::two_norm2 () const |
| | Compute the squared Euclidean norm. More...
|
| |
| FieldTraits< field_type >::real_type | Dune::MultiTypeBlockVector< Args >::two_norm () const |
| | Compute the Euclidean norm. More...
|
| |
| FieldTraits< field_type >::real_type | Dune::MultiTypeBlockVector< Args >::infinity_norm () const |
| | Compute the maximum norm. More...
|
| |
| FieldTraits< field_type >::real_type | Dune::MultiTypeBlockVector< Args >::infinity_norm_real () const |
| | Compute the simplified maximum norm (uses 1-norm for complex values) More...
|
| |
| template<typename Ta > |
| void | Dune::MultiTypeBlockVector< Args >::axpy (const Ta &a, const type &y) |
| | Axpy operation on this vector (*this += a * y) More...
|
| |
| template<typename... Args> |
| std::ostream & | Dune::operator<< (std::ostream &s, const MultiTypeBlockVector< Args... > &v) |
| | Send MultiTypeBlockVector to an outstream. More...
|
| |
The interface of our matrices is designed according to what they represent from a mathematical point of view. The vector classes are representations of vector spaces: