diff --git a/src/krbalancing.cpp b/src/krbalancing.cpp index 9230c95..04cbf02 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,12 +131,15 @@ 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){ + if(rescale ==true && rescaled == false){ rescale_norm_vector(); + rescaled = true; + }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 rk; SparseMatrixCol output; + bool rescaled; }; #endif