1
+ import numpy as np
2
+
3
+ def MatrixAddition (matrix_a , matrix_b ):
4
+ matrix_a , matrix_b = np .array (matrix_a ), np .array (matrix_b )
5
+ m ,n = matrix_a .shape
6
+ matrix_c = [[0 for i in range (m )] for j in range (n )]
7
+ for i in range (m ):
8
+ for j in range (n ):
9
+ matrix_c [i ][j ] += matrix_a [i ][j ] + matrix_b [i ][j ]
10
+ return np .array (matrix_c )
11
+
12
+ def MatrixSubtraction (matrix_a , matrix_b ):
13
+ matrix_a , matrix_b = np .array (matrix_a ), np .array (matrix_b )
14
+ m ,n = matrix_a .shape
15
+ matrix_c = [[0 for i in range (m )] for j in range (n )]
16
+ for i in range (m ):
17
+ for j in range (n ):
18
+ matrix_c [i ][j ] += matrix_a [i ][j ] - matrix_b [i ][j ]
19
+ return np .array (matrix_c )
20
+
21
+ def MatrixMultiplication (matrix_a , matrix_b ):
22
+ matrix_a , matrix_b = np .array (matrix_a ), np .array (matrix_b )
23
+ m ,n = matrix_a .shape
24
+ n ,p = matrix_b .shape
25
+ matrix_c = [[0 for j in range (p )] for i in range (m )]
26
+ for i in range (m ):
27
+ for j in range (p ):
28
+ for k in range (n ):
29
+ matrix_c [i ][j ] += matrix_a [i ][k ]* matrix_b [k ][j ]
30
+ return np .array (matrix_c )
31
+
32
+ def ifSymmetric (matrix ):
33
+ matrix = np .array (matrix )
34
+ matrix_transpose = matrix .transpose ()
35
+ if ((matrix_transpose == matrix ).sum () == matrix .shape [0 ]* matrix .shape [1 ]):
36
+ print (f"The matrix:\n { matrix } is symmetric!" )
37
+ else :
38
+ print (f"The matrix:\n { matrix } is not symmetric.." )
39
+
40
+ def compute_determinant (matrix ):
41
+ matrix = np .array (matrix )
42
+ if (matrix .shape [0 ] != matrix .shape [1 ]):
43
+ print ("Oops, the determinant of a non-square matrix cannot be computed.." )
44
+ det = np .linalg .det (matrix )
45
+ print (f"The determinant of \n { matrix } is: %.3f" % det )
0 commit comments