Есть программа нахождения детерминанта матрицы. При компиляции пишет: AttributeError: 'int' object has no attribute 'fabs'. Скорее всего, проблема в введении размерности матрицы. Помогите пожалуйста с этой проблемой
import math as m
import random
import numpy as np
eps = 1E-9
b = [[]]
det = 1
while True:
try:
n = int(input('Enter the number of rows: '))
m = int(input('Enter the number of columns: '))
break
except ValueError:
print('\nError: enter integer numbers')
if n == m:
m = n
a = np.zeros((n, m), dtype=int)
for i in range(n):
for j in range(m):
a[i, j] = random.randint(-128, 128)
print(f'Matrix 1:\n {a}')
for i in range(n):
k = i
for j in range(i+1, n):
if m.fabs(a[j, i]) > m.fabs(a[k, i]):
k = j
if m.fabs(a[k, i] < eps):
det = 0
break
b[0] = a[i]
a[i] = a[k]
a[k] = b[0]
if (i != k):
det = -det
det *= a[i, i]
for j in range(i+1, n):
a[i, j] /= a[i, i]
for j in range(n):
if j != i and m.fabs(a[j, i] > eps):
for k in range(i + 1, n):
a[j, k] -= a[i, k] * a[j, i]
print(det)
else:
print('Error: Only in a square matrix can be found determinant')