-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeterm.py
More file actions
32 lines (29 loc) · 758 Bytes
/
determ.py
File metadata and controls
32 lines (29 loc) · 758 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def submatrix(matr, i, j):
result = []
k = 0
l = 0
m = 0
n = 0
for k in range(len(matr)):
if k == i:
l -= 1
else:
n = 0
for m in range(len(matr)):
if m == j:
n -= 1
else:
result[l][n] = matr[k][m]
n += 1
l += 1
return(result)
def minor(matr, i, j):
return(det(submatrix(matr, i, j)))
def det(matr):
if len(matr) == 2:
return(matr[0][0] * matr[1][1] - matr[0][1] * matr[1][0])
else:
result = 0
for j in range(len(matr)):
result += (-1 ** j) * matr[0][j] * minor(matr, 0, j)
return(result)