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