KASKADE 7 development version
|
A base class for implementing combiners with diagonal structure. More...
#include <combiner.hh>
A base class for implementing combiners with diagonal structure.
Scalar | a scalar field type, usually double. |
This implements the Combiner concept: a matrix \( K \) mapping a subset of global degrees of freedom (those given by globalIndices()) to local degrees of freedom (shape functions).
In some finite element spaces, the matrix \( K \) is diagonal. This base class eases the implementation
Definition at line 35 of file combiner.hh.
Public Member Functions | |
DiagonalCombiner (int n) | |
template<class Matrix > | |
void | rightTransform (Matrix &A) const |
In-place computation of \( A \leftarrow A K \). More... | |
template<int n, int m> | |
void | rightTransform (std::vector< VariationalArg< Scalar, n, m > > &v) const |
In-place computation of row vectors \( v \leftarrow v K \). More... | |
template<class Matrix > | |
void | leftPseudoInverse (Matrix &A) const |
In-place computation of \( A \leftarrow K^+ A \). More... | |
operator Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > () const | |
Protected Attributes | |
std::vector< Scalar > | orient |
|
inline |
Constructor.
n | the number of shape functions on this cell |
The matrix \( K \) is initialized to the identity. Derived classes shall overwrite the orient member storing the diagonal entries.
Definition at line 45 of file combiner.hh.
|
inline |
In-place computation of \( A \leftarrow K^+ A \).
Matrix | A matrix class satisfying the Dune::DenseMatrix interface. |
Definition at line 78 of file combiner.hh.
|
inline |
Implicit conversion to a sparse matrix. This is just the diagonal.
Definition at line 89 of file combiner.hh.
|
inline |
In-place computation of \( A \leftarrow A K \).
Matrix | A matrix class satisfying the Dune::DenseMatrix interface. |
Definition at line 54 of file combiner.hh.
|
inline |
In-place computation of row vectors \( v \leftarrow v K \).
Definition at line 64 of file combiner.hh.
|
protected |