From 37f8307e4aebf9efbaf093d2493d702c7e411121 Mon Sep 17 00:00:00 2001
From: Markus Blatt <mblatt@dune-project.org>
Date: Sat, 31 Jan 2009 15:06:03 +0000
Subject: [PATCH] Use norms correctly for unsymmetric dependency to make
 systems work.

Fixes flyspray #490

[[Imported from SVN: r987]]
---
 istl/paamg/aggregates.hh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/istl/paamg/aggregates.hh b/istl/paamg/aggregates.hh
index 16639bdd8..6a1048580 100644
--- a/istl/paamg/aggregates.hh
+++ b/istl/paamg/aggregates.hh
@@ -1256,21 +1256,21 @@ namespace Dune
     {
       maxValue_ = std::min(- std::numeric_limits<typename Matrix::field_type>::max(), std::numeric_limits<typename Matrix::field_type>::min());
       row_ = index;
-      diagonal_ = matrix_->operator[](row_)[row_];
+      diagonal_ = norm_(matrix_->operator[](row_)[row_]);
     }
 
     template<class M, class N>
     inline void Dependency<M,N>::examine(const ColIter& col)
     {
       maxValue_ = std::max(maxValue_,
-                           -*col);
+                           -norm_(*col));
     }
 
     template<class M, class N>
     template<class G>
     inline void Dependency<M,N>::examine(G& graph, const typename G::EdgeIterator& edge, const ColIter& col)
     {
-      if(-*col >= maxValue_ * alpha()) {
+      if(-norm_(*col) >= maxValue_ * alpha()) {
         edge.properties().setDepends();
         edge.properties().setInfluences();
       }
-- 
GitLab