diff --git a/dune/gfe/tensor3.hh b/dune/gfe/tensor3.hh index a29afe66ce0260f9e5716388fdf25c31361f5069..0e9d981d64bd6ce0ca54e1c72e20acdf9938a923 100644 --- a/dune/gfe/tensor3.hh +++ b/dune/gfe/tensor3.hh @@ -35,6 +35,17 @@ class Tensor3 return norm; } + T frobenius_norm() const + { + T norm = 0; + for (int i=0; i<N1; i++) + for (int j=0; j<N2; j++) + for (int k=0; k<N3; k++) + norm += (*this)[i][j][k] * (*this)[i][j][k]; + + return std::sqrt(norm); + } + Tensor3<T,N1,N2,N3>& axpy(const T& alpha, const Tensor3<T,N1,N2,N3>& other) { for (int i=0; i<N1; i++)