From dd4431a2914e578e5eda61e31b0a1706e92def52 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Tue, 3 Sep 2013 16:29:28 +0000 Subject: [PATCH] Add a method to compute the squared Frobenius norm [[Imported from SVN: r9396]] --- dune/gfe/tensor3.hh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dune/gfe/tensor3.hh b/dune/gfe/tensor3.hh index 2bae4f07..f1a90deb 100644 --- a/dune/gfe/tensor3.hh +++ b/dune/gfe/tensor3.hh @@ -46,6 +46,18 @@ class Tensor3 return std::sqrt(norm); } + /** \brief The squared Frobenius norm, i.e., the sum of squared entries */ + T frobenius_norm2() 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 norm; + } + Tensor3<T,N1,N2,N3>& axpy(const T& alpha, const Tensor3<T,N1,N2,N3>& other) { for (int i=0; i<N1; i++) -- GitLab