3. Определитель и обратная матрица
Легко вычисляются методом исключения. В самом деле, вычитание строки из строки не меняет значение определителя. Значит, в процессе исключения элементов (4)-(5) абсолютная величина определителя не меняется, а знак может измениться благодаря перестановке строк. Определитель же треугольной матрицы (6) равен произведению диагональных элементов. Поэтому он вычисляется по формуле:
где знак зависит от того, четной или нечетной была суммарная перестановка строк.
Для вычисления определителя требуется примерно ячеек памяти и арифметических действий.
На примере вычисления определителя можно убедиться в экономичности хороших численных методов. Вспомним формальное определение определителя как суммы всевозможных произведений элементов, взятых из разных строк и столбцов. Таких произведений имеется и прямое их вычисление уже при небольших 30 требует астрономического числа действий — более , что вряд ли когда-нибудь станет под силу ЭВМ. А метод исключения легко позволяет вычислять определители сотого и более порядка.
Перейдем к вычислению обратной матрицы. Обозначим ее элементы через . Тогда соотношение можно записать так:
(9)
Видно, что если рассматривать столбец обратной матрицы как вектор, то он является решением линейной системы (9) с матрицей А и специальной правой частью (в которой на месте стоит единица, а на остальных — нули).
Таким образом, для обращения матрицы надо решить систем линейных уравнений с одинаковой матрицей А и разными правыми частями. Приведение матрицы А к треугольной по формулам делается при этом только один раз. В дальнейшем при помощи чисел по формуле (5) преобразуются все правые части, и для каждой правой части делается обратный ход.
При хорошей организации вычислений для обращения матрицы этим методом требуется примерно ячеек оперативной памяти ЭВМ и арифметических действий (можно уложиться в ячеек, но это сильно усложняет программу и увеличивает время счета). Заметим, что при обращении матриц контролировать расчет вычислением невязки невыгодно: перемножение матриц требует столько же действий как и обращение матрицы!
Любопытно отметить, что обращение матрицы сводится к решению систем линейных уравнений, а требует лишь втрое больше действий, чем решение одной системы уравнений. Это объясняется тем, что при решении линейной системы большая часть вычислений связана с приведением матрицы к треугольному виду, что при обращении матрицы делается только один раз. Обратный ход и преобразования правых частей выполняются много быстрее.
Поэтому, если требуется несколько раз решить линейную систему с одной и той же матрицей, то выгодно привести матрицу к треугольной форме (6) только однажды, используя величины во всех последующих вычислениях.