def test_determinate(self): """ test for determinate() """ A = Matrix([[1, 1, 4, 5], [3, 3, 3, 2], [5, 1, 9, 0], [9, 7, 7, 9]], 4, 4) self.assertEqual(-376, A.determinate())
def test_equality_matrix_2(self): m1 = Matrix( [0,-1,-2], [-4,-5,-6], [7,8,9] ) m2 = Matrix( [0,1,2], [4,5,6], [7,8,9] ) self.assertNotEqual(m1, m2)
def test_equality_matrix(self): m1 = Matrix( [0,1,2], [4,5,6], [7,8,9] ) m2 = Matrix( [0,1,2], [4,5,6], [7,8,9] ) self.assertEqual(m1, m2)
def test_sub_number_with_matrix(self): m = Matrix( [0,1,2], [4,5,6], [7,8,9] ) m2 = 1 - m rm = Matrix( [1,0,-1], [-3,-4,-5], [-6,-7,-8] ) self.assertEqual(rm,m2,msg="result is {0} but should be {1}".format(str(m2),str(rm)))
def test_mul_matrix_with_number(self): m = Matrix( [0,1,2], [4,5,6], [7,8,9] ) rm = m * 2 em = Matrix( [0,2,4], [8,10,12], [14,16,18] ) self.assertEqual(rm,em)
def test_sub_matrix_with_number(self): m = Matrix( [0,1,2], [4,5,6], [7,8,9] ) m2 = m - 1 rm = Matrix( [-1,0,1], [3,4,5], [6,7,8] ) self.assertEqual(rm,m2)
def test_add_number_to_matrix(self): m = Matrix( [0,1,2], [4,5,6], [7,8,9] ) m2 = 1 + m rm = Matrix( [1,2,3], [5,6,7], [8,9,10] ) self.assertEqual(rm,m2)
def test_incorrect_matrix(self): with self.assertRaises(ValueError): Matrix( [0,1,2], [4,5,6,5], [7,8,9] )
def test_add_matrix_to_matrix(self): m = Matrix( [1,1,2], [1,0,1], [0,-1,0] ) m2 = Matrix( [1,5,0], [0,4,1], [0,0,-2] ) rm = m + m2 em = Matrix( [2,6,2], [1,4,2], [0,-1,-2] ) self.assertEqual(rm,em)
def test_mul_matrix_with_matrix(self): m = Matrix( [0,1,2], [4,5,6], [7,8,9] ) m2 = Matrix( [1,0,-1], [-3,-4,-5], [-6,-7,-8] ) rm = m * m2 em = Matrix( [-15,-18,-21], [-47,-62,-77], [-71,-95,-119] ) self.assertEqual(rm,em)
def test_sub_matrix_with_matrix(self): m = Matrix( [1,1,2], [1,0,1], [0,-1,0] ) m2 = Matrix( [1,0,3], [0,0,0], [0,-1,0] ) rm = m - m2 em = Matrix( [0,1,-1], [1,0,1], [0,0,0] ) self.assertEqual(rm,em)
def test__sub__matrix(self): A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3) B = Matrix([[1, 2, 7], [2, 4, 5], [6, 7, 10]], 3, 3) self.assertEqual("|0,0,-4|\n|0,0,0|\n|0,0,-2|\n", str(A - B))
def test_component_matrix(self): A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3) self.assertEqual(7, A.component(2, 1), 0.01)
def test__add__matrix(self): A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3) B = Matrix([[1, 2, 7], [2, 4, 5], [6, 7, 10]], 3, 3) self.assertEqual("|2,4,10|\n|4,8,10|\n|12,14,18|\n", str(A + B))
def test_changeComponent_matrix(self): A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3) A.changeComponent(0, 2, 5) self.assertEqual("|1,2,5|\n|2,4,5|\n|6,7,8|\n", str(A))
def test__mul__matrix(self): A = Matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]], 3, 3) x = Vector([1, 2, 3]) self.assertEqual("(14,32,50)", str(A * x)) self.assertEqual("|2,4,6|\n|8,10,12|\n|14,16,18|\n", str(A * 2))
def test_str_matrix(self): A = Matrix([[1, 2, 3], [2, 4, 5], [6, 7, 8]], 3, 3) self.assertEqual("|1,2,3|\n|2,4,5|\n|6,7,8|\n", str(A))
def __init__(self, x, y, mode=0): self.mat = Matrix.matrix(x, y, mode) self.X = x self.Y = y self.mat.VERBOSE = False
def main(): m1 = Matrix([0, 1, 2], [4, 5, 6], [7, 8, 9]) m2 = Matrix([5, 3, -2], [5, 5, -10], [7, 8, 8]) m3 = ((3 - (1 + m1 + m2 - 3 * m1 - m1)) * 2) + 10 + (m1 * m2) print(m3)