5.2: Узагальнення матриці
Ми можемо узагальнити алгоритм гаусової елімінації, описаний у попередньому розділі, для вирішення матричних задач виду.
Ax=b,
деx іb єN×M матрицями, а не просто векторами. Прикладом, дляM=2, є
[123322262][x00x01x10x11x20x21]=[364842].
Це може стати трохи нудним, щоб продовжувати записуватиx елементи в системі рівнянь, особливо колиx стає матрицею. З цієї причини ми переходимо на позначення, відоме як розширена матриця:
[123363224826242].
Тут записи зліва від вертикального роздільника позначають ліву частину системи рівнянь, а записи праворуч від роздільника позначають праву частину системи рівнянь.
Алгоритм гауссова елімінації тепер можна виконувати безпосередньо на розширеній матриці. Ми пройдемося по кроках для наведеного вище прикладу. По-перше, скорочення рядів:
- Усунути елемент можна при(1,0):
[123360−4−7−5−1026242] - Усунути елемент можна при(2,0):
[123360−4−7−5−1002−4−2−10] - Усунути елемент можна при(2,1):
[123360−4−7−5−1000−7.5−4.5−15]
Крок зворотної підстановки перетворює ліву частину розширеної матриці в матрицю ідентичності:
- Вирішити для рядка2:
[123330−4−7−5−100010.62] - Вирішити для рядка1:
[123330100.2−10010.62] - Вирішити для рядка0:
[1000.820100.2−10010.62]
Після завершення роботи алгоритму права частина доповненої матриці містить результат дляx. Аналізуючи час виконання, використовуючи ті самі міркування, що і раніше, ми виявляємо, що крок зменшення рядків масштабується якO(N2(N+M)), а крок зворотної заміни масштабується якO(N(N+M)).
Ця матрична форма алгоритму гаусової елімінації є стандартним методом обчислення матричних обертань. Якщоb є матрицеюN×N ідентичності, то розв'язокx буде зворотнимA. Таким чином, час виконання для обчислення матриці обернено масштабується якO(N3).