|
| struct | Dune::MatrixDimension< M > |
| |
| struct | Dune::CompressionStatistics< size_type > |
| | Statistics about compression achieved in implicit mode. More...
|
| |
| class | Dune::ImplicitMatrixBuilder< M_ > |
| | A wrapper for uniform access to the BCRSMatrix during and after the build stage in implicit build mode. More...
|
| |
| class | Dune::BCRSMatrix< B, A > |
| | A sparse block matrix with compressed row storage. More...
|
| |
| struct | Dune::FieldTraits< BCRSMatrix< B, A > > |
| |
| class | Dune::BDMatrix< B, A > |
| | A block-diagonal matrix. More...
|
| |
| struct | Dune::FieldTraits< BDMatrix< B, A > > |
| |
| class | Dune::BTDMatrix< B, A > |
| | A block-tridiagonal matrix. More...
|
| |
| struct | Dune::FieldTraits< BTDMatrix< B, A > > |
| |
| class | Dune::BlockVector< B, A > |
| | A vector of blocks with memory management. More...
|
| |
| class | Dune::Matrix< T, A > |
| | A generic dynamic dense matrix. More...
|
| |
| struct | Dune::FieldTraits< Matrix< T, A > > |
| |
| struct | Dune::MatMultMatResult< M1, M2 > |
| | Helper TMP to get the result type of a sparse matrix matrix multiplication ( ) More...
|
| |
| struct | Dune::MatMultMatResult< FieldMatrix< T, n, k >, FieldMatrix< T, k, m > > |
| |
| struct | Dune::MatMultMatResult< BCRSMatrix< FieldMatrix< T, n, k >, A >, BCRSMatrix< FieldMatrix< T, k, m >, A1 > > |
| |
| struct | Dune::TransposedMatMultMatResult< M1, M2 > |
| | Helper TMP to get the result type of a sparse matrix matrix multiplication ( ) More...
|
| |
| struct | Dune::TransposedMatMultMatResult< FieldMatrix< T, k, n >, FieldMatrix< T, k, m > > |
| |
| struct | Dune::TransposedMatMultMatResult< BCRSMatrix< FieldMatrix< T, k, n >, A >, BCRSMatrix< FieldMatrix< T, k, m >, A1 > > |
| |
| struct | Dune::CheckIfDiagonalPresent< Matrix, blocklevel, l > |
| | Check whether the a matrix has diagonal values on blocklevel recursion levels. More...
|
| |
| struct | Dune::CheckIfDiagonalPresent< Matrix, 0, l > |
| |
| class | Dune::MultiTypeBlockMatrix< FirstRow, Args > |
| | A Matrix class to support different block types. More...
|
| |
| struct | Dune::CheckIfDiagonalPresent< MultiTypeBlockMatrix< T1, Args... >, blocklevel, l > |
| |
| class | Dune::MultiTypeBlockVector< Args > |
| | A Vector class to support different block types. More...
|
| |
| struct | std::tuple_element< i, Dune::MultiTypeBlockVector< Args... > > |
| | Make std::tuple_element work for MultiTypeBlockVector. More...
|
| |
| struct | std::tuple_size< Dune::MultiTypeBlockVector< Args... > > |
| | Make std::tuple_size work for MultiTypeBlockVector. More...
|
| |
| class | Dune::VariableBlockVector< B, A > |
| | A Vector of blocks with different blocksizes. More...
|
| |
|
| 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 |
| |
| using | Dune::FieldTraits< MultiTypeBlockVector< Args... > >::field_type = typename MultiTypeBlockVector< Args... >::field_type |
| |
| using | Dune::FieldTraits< MultiTypeBlockVector< Args... > >::real_type = typename MultiTypeBlockVector< Args... >::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 | Dune::MultiTypeBlockVector< Args >::real_type = Std::detected_t< std::common_type_t, typename FieldTraits< std::decay_t< Args > >::real_type... > |
| | The type used for real values. 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=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=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=false) |
| | Calculate product of a transposed sparse matrix with another sparse matrices ( ). More...
|
| |
| template<class M > |
| auto | Dune::countNonZeros (const M &, [[maybe_unused]] 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, [[maybe_unused]] typename std::enable_if_t<!Dune::IsNumber< M >::value > *sfinae=nullptr) |
| |
| 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...
|
| |
| 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[] ([[maybe_unused]] 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[] ([[maybe_unused]] 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...
|
| |
| real_type | Dune::MultiTypeBlockVector< Args >::two_norm2 () const |
| | Compute the squared Euclidean norm. More...
|
| |
| real_type | Dune::MultiTypeBlockVector< Args >::two_norm () const |
| | Compute the Euclidean norm. More...
|
| |
| real_type | Dune::MultiTypeBlockVector< Args >::infinity_norm () const |
| | Compute the maximum norm. More...
|
| |
| 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: