Skip to content

Add wrapper representing the transposed of a matrix

Carsten Gräser requested to merge feature/transposed-matrix-multiply into master

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

Merge request reports

Loading