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