Как можно вычислить детерминант матрицы?

6 года назад от asdffg sdfgsdfg

2 Ответы



0 голосов
Как обычно через понижение порядка матрицы.

1. Вычитаем из первой строчки вторую (или любую другую) столько раз, пока первый элемент первой строки не превратится в 1.
2. Вычитаем первую строку из остальных столько раз, пока их первые элементы не превратятся в 0
3. Отбрасываем первую строку и первый столбец и возвращаемся на шаг Останавливаемся тогда, когда осталась матрица 1x1. Оставшеся единственное число и является определителем .

Проще простого. думаю можно уложиться в строк 10-20 кода .

P. S. Возможен случай, когда первые элементы всех строк кроме первой равны нулю. Тогда сколько не вычитай их из первой строки, а первый элемент первой строки в единицу не превратить. В такой случае из матрицы так же как и раньше вычёркивается первая строка и первый столбец, но первый элемент первой строки запоминается. Когда определитель будет посчитан, результат нужно будет умножить на все числа, которые пришлось таким образом запомнить по пути к определителю.

В принципе можно вобще не стараться превращать первый элемент первой строки в единицу, а просто запоминать первые элементы первых строк всех полученных матриц, и по окончанию просто их перемножить.
6 года назад от Ралав Баву
0 голосов
извините, а какой у вас уровень? для работы? Для учебы? Для больших размерностей?

самое простое - привести гауссом к треугольнику, запоминая произведение главных элементов (которые стали единичными) . оно и есть определитель.
6 года назад от Mel308335784

Связанные вопросы