Алгоритм вычисления определителя разложением по строке

Программирование Технология и методы программирования Алгоритмы и структуры данных Алгоритм вычисления определителя разложением по строке

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 3 мес., 2 нед. назад.

  • Автор
    Сообщения
  • #5508
    @admin

    Алгоритм, приведенный в этой статье интересен тем, что вычисление выполняется «по математическому определению». Однако, применять этот метод можно только на небольших матрицах, т.к. он имеет высокую вычислительную сложность. Для больших матриц обратитесь, например, к методу Гаусса.

    Итак, из определения следуют функции вычисления определителей для небольших матриц. Так, для матрицы из одного элемента, определителем является этот самый элемент. Для матрицы 2×2:
    $$A_{0,0} \cdot A_{1,1} — A_{0,1}\cdot A_{1,0}$$
    В школе давалась формула для случая 3×3, но можно получить такого типа выражения и для матриц большего размера. Можно но не нужно, т.к. для этого и предназначен компьютер.

    Известно, что для вычисления определителя матрицы NxN можно вычеркнуть из нее одну строку и один столбец, вычислить определитель от того, что осталось (такой определитель называется минором). Для получения результата остается умножить значение минора на значение элемента, стоящего на пересечении вычеркнутых строки и столбца с определенным знаком. Точная формула выглядит следующим образом:

    determinant_algorithm

    Что же это дает? — Чтобы вычислить определитель матрицы 3х3 мы можем вычеркнуть, достаточно вычеркнуть, например, первые строку и столбец, а из того что осталось — вычислить определитель по известнойи простой формуле (приведена выше). Аналогично можно поступить и для определителя 4х4, и даже 100х100 (но считать будет уже долго).

    Описанное и называется «разложением по строке» (или столбцу).

Для ответа в этой теме необходимо авторизоваться.