From 9836f51097f5c72a6d7ccc107d1a04dffc4fa7b8 Mon Sep 17 00:00:00 2001 From: Stefan Huber Date: Tue, 14 Jan 2014 15:03:42 +0100 Subject: [PATCH] Remove obsolete ::reduce_boundary_matrix() --- include/libstick-0.1/persistence.h | 48 ------------------------------ 1 file changed, 48 deletions(-) diff --git a/include/libstick-0.1/persistence.h b/include/libstick-0.1/persistence.h index 6df70ab..49ddb9d 100644 --- a/include/libstick-0.1/persistence.h +++ b/include/libstick-0.1/persistence.h @@ -319,54 +319,6 @@ class persistence { }; -/** Takes the boundary matrix b and transforms it inplace into a reduced matrix - * b. The matrix v is required to be a unit matrix having the same dimensions - * as b. It is maintained in order to leave the product b*inverse(v) as an - * invariant. Hence, the resulting b is equal to the product of the boundary - * matrix times v. */ -template -void reduce_boundary_matrix(boolean_colmatrix_base &b, boolean_colmatrix_base &v) { - assert(b.width() == v.width()); - - // lowestones[i] gives the column whose lowest 1 is at row i. If it contains - // zero, there is no such column. - std::vector lowestones(b.width()); - - // Make every column reduced, i.e., it is a zero-column or contains only one 1. - for (unsigned c=0; c < b.width(); ++c) { - //if (c % 100 == 0) - //std::cout << "c = " << c << " (" << (100.0*float(c)/b.width()) << " %)" << std::endl; - // Reduce as long as we need to reduce - while (b.get_column(c).size() > 0) { - // (r, c) is the lowest one of col - const IT r = b.get_column(c).back(); - // This column contains its lowest one on the same row - const IT c2 = lowestones[r]; - assert(c2 < c); - - // There is no valid c2, hence we have completely reduced - if (c2 == 0) - break; - // Reduce col by column c2 - else { - assert(b.get(r, c)); - b.add_column(c, b.get_column(c2)); - v.add_column(c, v.get_column(c2)); - assert(!b.get(r, c)); - } - } - - // A lowest one remained, recall it - if (b.get_column(c).size() > 0) { - const IT r = b.get_column(c).back(); - assert(lowestones[r] == 0); - assert(r < c); - lowestones[r] = c; - } - } -} - - } // namespace libstick #endif -- 2.39.5