Найти определитель матрицы методом Гаусса
Определитель матрицы (детерминант) - одно из основных понятий линейной алгебры.
Является многочленом от элементов квадратной матрицы.
Для вычисления определителя матрицы методом Гаусса необходимо привести матрицу к треугольному виду.
$$ A= \begin{pmatrix} a_{11} & a_{12} & ... & a_{2n} \\ a_{21} & a_{22} & ... & a_{2n} \\ ... & ... & ... & ... \\ a_{n1} & a_{n2} & ... & a_{nn} \end{pmatrix} $$
Алгоритм заключается в следующем:
-
Разделим элементы каждой строки на первый элемент соответствующей строки:
$$ |A| = \begin{pmatrix} 1 & {a_{12} \over a_{11}} & ... & {a_{1n} \over a_{11}} \\ 1 & {a_{22} \over a_{21}} & ... & {a_{2n} \over a_{21}} \\ ... & ... & ... & ... & \\ 1 & {a_{n2} \over a_{n1}} & ... & {a_{nn} \over a_{n1}} \end{pmatrix}$$
-
Вычтем из элементов всех строк, начиная со второй, элементы первой строки:
$$ |A| = \begin{pmatrix} 1 & {a_{12} \over a_{11}} & ... & {a_{1n} \over a_{11}} \\ 0 & {a_{22} \over a_{21}} - {a_{12} \over a_{11}} & ... & {a_{2n} \over a_{21}}-{a_{1n} \over a_{11}} \\ ... & ... & ... & ... & \\ 0 & {a_{n2} \over a_{n1}}-{a_{12} \over a_{11}} & ... & {a_{nn} \over a_{n1}}-{a_{1n} \over a_{11}} \end{pmatrix}$$
- Повторим данный алгоритм для внутренних строк. Продолжать будем до тех пор, пока размер конечной матрицы не станет размера 1x1:
Алгоритм вычисления определителя матрицы методом Гаусса имеет кубическую сложность - O(n3)