Cleanup FieldMatrix utilities
The header affinegeometry.hh
contains a collection of FieldMatrix
helper functions in struct FieldMatrixHelper
that contains some duplicate code and some utilities that should be moved to dune-common. E.g.
- I was surprised to find that dune-geometry contains an implementation for the (left/right) inverse of any
FieldMatrix<n,m>
of full rank which is orthogonal to the one in dune-common, which only supports square matrices of size up to 3. Furthermore the 1x1 and 3x3 implementation differ. -
FieldMatrixHelper
reimplementsA.mv(x,y)
andA.mtv(x,y)
. -
FieldMatrixHelper
reimplementsA*B
(Fun fact:FieldMatrix
itself already contains three implementations:operator*
,leftmultiplyany
,rightmultiplyany
)) -
FieldMatrixHelper
contains a dense Cholesky-factorization that might be really helpful in other places.
This ticket is a reminder that this should be cleaned up.