Матрица 4×4 задаётся кортежем из 4 кортежей по 4 целых числа в каждом. Посчитать точный определитель этой матрицы. Пользоваться itertools нельзя.

(5, -4, 4, -7), (1, -2, 6, 0), (3, -8, -6, -4), (-1, 2, -9, 3)

Поскольку определитель 3×3 считается просто, я сгенерировал список всех перестановок (0,1,2,3), не забывая про знак, и посчитал сумму в цикле. Рекурсивная функция, порождающая список перестановок, заняла три строки, основная функция — тоже.

702

Результат можно проверить так (хотя в нашем случае результат должен быть строго целым):

>>> import numpy
>>> R = (5, -4, 4, -7), (1, -2, 6, 0), (3, -8, -6, -4), (-1, 2, -9, 3)
>>> numpy.linalg.det(R)
701.9999999999998


CategoryHomework

LecturesCMC/PythonIntro2021/Homework_Det4x4 (last edited 2021-10-05 22:26:25 by FrBrGeorge)