             let A = randomRegularM55()
             let E = MatrixElimination(A, mode: .ColsOnly)
             XCTAssertEqual(E.left, M55.identity)
-            XCTAssertEqual(E.result, A * E.right)
-            XCTAssertEqual(A, E.result * E.rightInverse)
-            XCTAssertEqual(E.result, M55.identity)
+            XCTAssertEqual(E.rankNormalForm, A * E.right)
+            XCTAssertEqual(A, E.rankNormalForm * E.rightInverse)
+            XCTAssertEqual(E.rankNormalForm, M55.identity)
         }
     }
     

        for _ in 0 ..< 10 {
            let A = randomM55()
            let E = MatrixElimination(A)
            XCTAssertEqual(E.result, E.left * A * E.right, "B = LAR")
            XCTAssertEqual(A, E.leftInverse * E.result * E.rightInverse, "A = L^-1 B R^-1")
            XCTAssertTrue(E.result.reduce(true) { (res, itr) in
                res && ( (itr.col == itr.row && itr.col < E.rank) || itr.value == 0)
            }, "B is diagonal")
        }

            let A = randomM55()
            let E = MatrixElimination(A, mode: .ColsOnly)
            XCTAssertEqual(E.left, M55.identity)
            XCTAssertEqual(E.rankNormalForm, A * E.right)
            XCTAssertEqual(A, E.rankNormalForm * E.rightInverse)
        }
    }
    
