Алгоритмическая реализация

  • Прямые методы вычисления определителя могут быть основаны непосредственно на его определении, как суммы по перестановкам, или на разложении Лапласа по определителям меньшего порядка. Однако такие методы очень неэффективны, так как требуют О(n!) операций для вычисления определителя -го порядка.
  • Один из более быстрых методов заключается в простой модификации метода Гаусса. Следуя методу Гаусса, произвольную матрицу можно привести к ступенчатому виду (Верхнетреугольная матрица), используя лишь две следующие операции над матрицей — перестановку двух строк и добавление к одной из строк матрицы другой строки, умноженной на произвольное число. Из свойств определителя следует, что вторая операция не изменяет определителя матрицы, а первая лишь меняет его знак на противоположный. Определитель матрицы, приведённой к ступенчатому виду, равен произведению элементов на её диагонали, так как она является треугольной, поэтому определитель исходной матрицы равен:

где — число перестановок строк, выполненных алгоритмом, а — ступенчатая форма матрицы , полученная в результате работы алгоритма. Сложность этого метода, как и метода Гаусса, составляет .

  • Определитель можно вычислить, зная LU-разложение матрицы. Если , где и — треугольные матрицы, то . Определитель треугольной матрицы равен просто произведению её диагональных элементов.
  • Если доступен алгоритм, выполняющий умножение двух матриц порядка за время , где , для некоторого , то определитель матрицы порядка может быть вычислен за время .[1] В частности это означает, что, используя для умножения матриц алгоритм Копперсмита — Винограда, определитель можно вычислить за время .

УРОК 11. Алгоритмическая конструкция ПОВТОРЕНИЕ (7 класс)


Читать еще…

Понравилась статья? Поделиться с друзьями: