|
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 |
|
typedef FieldTraits< Arg0 >::field_type | Dune::FieldTraits< MultiTypeBlockVector< Arg0, Args... > >::field_type |
|
typedef FieldTraits< Arg0 >::real_type | Dune::FieldTraits< MultiTypeBlockVector< Arg0, 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 |
|
typedef double | Dune::MultiTypeBlockVector< Args >::field_type |
| The type used for scalars. More...
|
|
|
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 &matrix, 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: