linearSolver->norm(r) if available otherwise call
assembler->residualNorm(); (depends on !2311 (merged) to be merged)
Depends on !2310 (merged) to be merged.
The matrix and vector type now have to be known to construct the solver. This was previously delayed until the solve call but made the structure kind of intransparent because it wasn't really clear which vector type has to come in but only specific types work anyway.
Hard coding the solver hopefully reduces compile times wrt the factory. Also the implementation should be
If this works out, we would deprecated the old solver backends.