From 003c2b5c6eb5204557791e0ddb8dd36dc70c6cfe Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Thu, 14 Oct 2010 15:50:06 +0000
Subject: [PATCH] follow-up fix since the return value of orthonormalFrame()
 has changed

[[Imported from SVN: r6437]]
---
 dune/gfe/unitvector.hh | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/dune/gfe/unitvector.hh b/dune/gfe/unitvector.hh
index f47f7531..fc67cf6f 100644
--- a/dune/gfe/unitvector.hh
+++ b/dune/gfe/unitvector.hh
@@ -97,11 +97,16 @@ public:
      /** \brief The exponential map */
     static UnitVector exp(const UnitVector& p, const TangentVector& v) {
 
-        Dune::FieldMatrix<double,N-1,N> frame = p.orthonormalFrame();
+        Dune::FieldMatrix<double,N,N> frame = p.orthonormalFrame();
 
         EmbeddedTangentVector ev;
-        frame.mtv(v,ev);
-            
+
+        // This is frame.mtv for the matrix consisting of the first N-1 rows
+        for( size_t i = 0; i < N; ++i ) {
+            ev[i] = 0;
+            for( size_t j = 0; j < N-1; ++j )
+                ev[i] += frame[j][i] * v[j];
+        }
         return exp(p,ev);
     }
 
-- 
GitLab