Make FastAMG work with non-blocked matrices

The internal operations of FastAMG assumed that the entries of the matrix are vectors are matrices and vectors themselves by making use of the dune matrix and vector interfaces. As a consequence FastAMG cannot be used with BCRSMatrix<double> in contrast to BCRSMatrix<FieldMatrix<double,1,1>>.

This patch introduces IsNumber-based switches in the respective places that use plain arithmetic operators if the matrix/vector is not blocked thus adds the missing support for e.g. BCRSMatrix<double>.

Merge request reports

Loading