Skip to content

Allow vector arguments of mv, umv etc to be scalars

Oliver Sander requested to merge generalize-densematrix-multiplication into master

... if the matrix has only one column or row. This is needed for some reasonable dune-istl matrix types with heterogeneous nesting depth. The standard example is the canonical matrix type for the Taylor-Hood finite element:

using VelocityVector = BlockVector<FieldVector<double,dim>>;
using PressureVector = BlockVector<double>;
using VectorType = MultiTypeBlockVector<VelocityVector, PressureVector>;

using Matrix00 = BCRSMatrix<FieldMatrix<double,dim,dim>>;
using Matrix01 = BCRSMatrix<FieldMatrix<double,dim,1>>;
using Matrix10 = BCRSMatrix<FieldMatrix<double,1,dim>>;
using Matrix11 = BCRSMatrix<double>;
using MatrixRow0 = MultiTypeBlockVector<Matrix00, Matrix01>;
using MatrixRow1 = MultiTypeBlockVector<Matrix10, Matrix11>;
using MatrixType = MultiTypeBlockMatrix<MatrixRow0,MatrixRow1>;
Edited by Oliver Sander

Merge request reports