From 9ec7d452eeb2688c7cfadabd52e06cc67ec7ccc2 Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Tue, 4 Oct 2011 15:16:16 +0000
Subject: [PATCH] add method frobenius_norm

[[Imported from SVN: r7860]]
---
 dune/gfe/tensor3.hh | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/dune/gfe/tensor3.hh b/dune/gfe/tensor3.hh
index a29afe66..0e9d981d 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++)
-- 
GitLab