let H = AR, H is HNF of A, then H=(h_{ij}) should satisfy the following conditions:
(1) h_{ij} = 0 (for i < j)
(2) h_{ii} >= 0
(3) 0 <= h_{ij} < h_{ii} (for i > j s.t. h_{ii} > 0)
(4) h_{ij} = 0 (for i > j s.t. h_{ii} = 0)
But, (3) and (4) are broken in my current implementation......