def test_can_gaussian_eliminate_square_matrices(self): m = Matrix([3, 5, 9], [2, 3, 5]) m.gauss() self.assertEqual(m._rows, [[3, 5, 9], [0, -1 / 3, -1]]) m = Matrix([2, 1, -1, 8], [-3, -1, 2, -11], [-2, 1, 2, -3]) m.gauss() self.assertEqual(m._rows, [[-3, -1, 2, -11], [0, 5 / 3, 2 / 3, 13 / 3], [0, 0, 1 / 5, -1 / 5]]) m = Matrix([1, -1, -1, 1], [3, 2, 12, 1], [2, -1, 1, 1]) m.gauss() self.assertEqual( m._rows, [[3, 2, 12, 1], [0, -7 / 3, -7, 1 / 3], [0, 0, 0, 3 / 7]])
def test_can_gaussian_eliminate_horizontal_matrices(self): m = Matrix([3, 5, 9, 2, 3, 5], [4, 6, 8, 3, 6, 7]) m.gauss() self.assertEqual(m._rows, [[4, 6, 8, 3, 6, 7], [0, 0.5, 3, -0.25, -1.5, -0.25]])
def test_can_gaussian_eliminate_vertical_matrices(self): m = Matrix([3, 5, 9], [2, 3, 5], [4, 6, 8], [3, 6, 7], [1, 2, 3]) m.gauss() self.assertEqual( m._rows, [[4, 6, 8], [0, 3 / 2, 1], [0, 0, 8 / 3], [0, 0, 0], [0, 0, 0]])