potentially patches a small bug in -columnReduce: previously we were picking the left-most column to pivot in, but now we’re picking the left-most of those whose matrix entry is maximal in absolute value. consider the two different pivot positions in the first row of (2, 5; 1, 0; 0, 1): using the left one gives the column vector (0, 10, -4) and the other gives (0, 5, -2), which is a pretty subtle divisibility issue. picking the absolute max entry rules out this example, but who knows if there are other bugs lurking; i didn’t write any proofs or anything.