From f43aba86d62ffd94cf6af41d33a09d145cf10d2c Mon Sep 17 00:00:00 2001 From: Leily Rabbani Date: Wed, 20 Mar 2019 11:48:42 +0100 Subject: [PATCH 1/4] Fixed the bug with omp --- src/krbalancing.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/krbalancing.cpp b/src/krbalancing.cpp index 9230c95..c899d4f 100644 --- a/src/krbalancing.cpp +++ b/src/krbalancing.cpp @@ -130,12 +130,14 @@ void kr_balancing::inner_loop(){ void kr_balancing::compute_normalised_matrix(bool & rescale){ assert(A.rows() == A.cols()); - A = SparseMatrixCol(A.triangularView()); if(rescale ==true){ rescale_norm_vector(); + }else{ + A = SparseMatrixCol(A.triangularView()); } #pragma omp parallel for num_threads(num_threads) schedule(dynamic) for (int k=0; k()); + + #pragma omp parallel for num_threads(num_threads) for (int k=0; k Date: Wed, 20 Mar 2019 11:57:03 +0100 Subject: [PATCH 2/4] fixed rescaling --- src/krbalancing.cpp | 6 ++++-- src/krbalancing.hpp | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/krbalancing.cpp b/src/krbalancing.cpp index c899d4f..3d1e28f 100644 --- a/src/krbalancing.cpp +++ b/src/krbalancing.cpp @@ -10,6 +10,7 @@ kr_balancing::kr_balancing(const SparseMatrixCol & input){ I.setIdentity(); I = I*0.00001; A = A + I; + rescaled = false; } @@ -130,8 +131,9 @@ void kr_balancing::inner_loop(){ void kr_balancing::compute_normalised_matrix(bool & rescale){ assert(A.rows() == A.cols()); - if(rescale ==true){ + if(rescale ==true && rescaled == false){ rescale_norm_vector(); + rescaled = true; }else{ A = SparseMatrixCol(A.triangularView()); } @@ -179,7 +181,7 @@ const SparseMatrixCol* kr_balancing::get_normalised_matrix(bool & rescale){ const SparseMatrixCol* kr_balancing::get_normalisation_vector(bool & rescale){ - if(rescale ==true){ + if(rescale ==true && rescaled = false){ rescale_norm_vector(); } return &x; diff --git a/src/krbalancing.hpp b/src/krbalancing.hpp index bc0e912..7a5f0e1 100644 --- a/src/krbalancing.hpp +++ b/src/krbalancing.hpp @@ -59,6 +59,7 @@ class kr_balancing{ SparseMatrixCol x; Eigen::SparseVector rk; SparseMatrixCol output; + bool rescaled; }; #endif From 9bba39cd2f41363ac001a6f739f628f65bf26128 Mon Sep 17 00:00:00 2001 From: Leily Rabbani Date: Wed, 20 Mar 2019 12:02:18 +0100 Subject: [PATCH 3/4] typo --- src/krbalancing.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/krbalancing.cpp b/src/krbalancing.cpp index 3d1e28f..c247ba6 100644 --- a/src/krbalancing.cpp +++ b/src/krbalancing.cpp @@ -136,6 +136,7 @@ void kr_balancing::compute_normalised_matrix(bool & rescale){ rescaled = true; }else{ A = SparseMatrixCol(A.triangularView()); + std::cout << "here!"< Date: Wed, 20 Mar 2019 12:07:41 +0100 Subject: [PATCH 4/4] removed a print --- src/krbalancing.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/krbalancing.cpp b/src/krbalancing.cpp index c247ba6..04cbf02 100644 --- a/src/krbalancing.cpp +++ b/src/krbalancing.cpp @@ -136,7 +136,6 @@ void kr_balancing::compute_normalised_matrix(bool & rescale){ rescaled = true; }else{ A = SparseMatrixCol(A.triangularView()); - std::cout << "here!"<