def test_0_Mr_Howes_code(self):
        Mat_A = Matrix(A)
        Mat_Z = Matrix.zeros((2, 5))
        self.assertTrue(
            Mat_Z.equals(Matrix(((0, 0, 0, 0, 0), (0, 0, 0, 0, 0)))),
            "Zeros method not working correctly.")

        with self.assertRaises(AssertionError):
            Mat_Z2 = Matrix.zeros((0, 2))

        Mat_U = Matrix.ones((4, 4))
        self.assertTrue(
            Mat_U.equals(
                Matrix(
                    ((1, 1, 1, 1), (1, 1, 1, 1), (1, 1, 1, 1), (1, 1, 1, 1)))),
            "Ones method not working correctly.")
        with self.assertRaises(AssertionError):
            Mat_U2 = Matrix.ones((-1, 0))
        self.assertTupleEqual((4, 3), Mat_A.shape(
        ), f"Shape of A should be (4,3). You got a different shape: {Mat_A.shape()}."
                              )
        self.assertTupleEqual((2, 5), Mat_Z.shape(
        ), f"Shape of Z should be (2,5). You got a different shape: {Mat_Z.shape()}."
                              )
        self.assertTupleEqual((4, 4), Mat_U.shape(
        ), f"Shape of U should be (4,4). You got a different shape: {Mat_U.shape()}."
                              )
Exemple #2
0
def main():
    mat1 = Matrix(mat=np.array([[1, 2, -3], [4, 0, -2]]))
    mat2 = Matrix(mat=np.array([[5, -4, 2, 0], [-1, 6, 3, 1], [7, 0, 5, 8]]))

    mat3 = Matrix(mat=np.array([[-1, 3, 1], [2, 5, 0], [3, 1, -2]]))
    mat4 = Matrix(mat=np.array([[5, -4, 2], [-1, 3, 1], [7, 0, 8]]))

    mat5 = Matrix(mat=[[2, 0], [-7, 5]])

    print("Printing out the content")
    print(mat1, "\n", mat2)

    print("Dot product - with real number directly")
    print(mat1 * 5)

    print("Dot product - with matrix directly")
    print(mat1 * mat2)
    print(mat3 * mat4)

    print("Determinant")
    print(abs(mat3))

    print("Identities")
    print(Matrix.identity(3))

    print("Zero")
    print(Matrix.zeros(3, 4))