Add wrapper representing the transposed of a matrix
Currently the wrapper only implements
auto c = a*transpose(b);
if a
is a FieldMatrix
of appropriate size. This is
optimal even for sparse b
because it only relies on
calling b.mv(a[i], c[i])
for the rows of a
. More
functionality may be added later on.
Since the created object only stores a reference to the wrapped matrix, it cannot be modified and should not be stored but used directly.
The classical application is doing a local-to-global transformation of the Jacobians of a local finite element.
auto jacobian = referenceJacobian * transpose(geometry.inverseJacobianTransposed(xLocal));
Edited by Carsten Gräser