Чтобы вычислить определитель матрицы в Python, существует несколько методов. Вот несколько часто используемых подходов:
-
Numpy:
import numpy as np matrix = np.array([[1, 2], [3, 4]]) determinant = np.linalg.det(matrix)
-
Сайпи:
from scipy import linalg matrix = [[1, 2], [3, 4]] determinant = linalg.det(matrix)
-
Симпи:
from sympy import Matrix matrix = Matrix([[1, 2], [3, 4]]) determinant = matrix.det()
-
Использование расширения кофактора (рекурсивный подход):
def cofactor(matrix): if len(matrix) == 2: return matrix[0][0] * matrix[1][1] - matrix[0][1] * matrix[1][0] determinant = 0 for c in range(len(matrix)): sub_matrix = [[matrix[i][j] for j in range(len(matrix)) if j != c] for i in range(1, len(matrix))] determinant += (-1) c * matrix[0][c] * cofactor(sub_matrix) return determinant matrix = [[1, 2], [3, 4]] determinant = cofactor(matrix)
-
Использование метода исключения Гаусса:
def gaussian_elimination(matrix): n = len(matrix) for i in range(n): if matrix[i][i] == 0: for j in range(i + 1, n): if matrix[j][i] != 0: matrix[i], matrix[j] = matrix[j], matrix[i] break for j in range(i + 1, n): ratio = matrix[j][i] / matrix[i][i] for k in range(i, n): matrix[j][k] -= ratio * matrix[i][k] determinant = 1 for i in range(n): determinant *= matrix[i][i] return determinant matrix = [[1, 2], [3, 4]] determinant = gaussian_elimination(matrix)