Решение системы общего вида
Пусть задана система линейных уравнений общего вида (15.1), где т ≤ n, т.е. число неизвестных не меньше числа уравнений. Представим общий порядок решения этой системы.
1. Необходимо определить совместность системы, т.е. определить сначала ранги матрицы системы А и расширенной матрицы AB. По теореме Кронекера-Капелли если ранги этих матриц не совпадают, то система несовместна и тогда нет смысла ее решать. Если же ранги матриц А и АB равны, то система (15.1) совместна.
Определение 1. Рангом совместной системы линейных алгебраических уравнений называется ранг ее матрицы.
2. Пусть система (15.1) совместна и ранг ее равен r. Выделим в матрице системы (15.2) некоторый базисный минор; предположим, что именно первые r строк матриц А и АB являются базисными. Тогда по теореме о базисном миноре остальные строки матрицы являются линейными комбинациями остальных строк. В свою очередь это означает, что в системе (15.1) первые r уравнений, соответствующие базисным строкам матрицы А, являются базисными, а остальные — их линейными комбинациями. Тогда эти (m — r) уравнений можно удалить из системы, причем в результате указанных элементарных преобразований мы получаем эквивалентную систему:
3. Система (15.7) характерна тем, что ее ранг равен числу уравнений в ней, причем r ≤ n, т.е. ранг не превосходит числа неизвестных. Поэтому возможны два случая: либо r = n, либо r < n. В первом случае система (15.7) имеет квадратную невырожденную матрицу порядка r (см. выше) и, согласно теореме Крамера, существует единственное решение этой системы. Иными словами, если ранг системы равен числу неизвестных, то система имеет единственное решение, т.е. она является определенной.
4. Рассмотрим теперь случай, когда r < п. Перенесем в правые части уравнений (15.7) все слагаемые, содержащие неизвестные xr+1, xr+2, …, xп. Тогда система принимает вид
Неизвестным xr+1, ..., xп можно придавать любые значения, и потому они называются свободными. Неизвестные х1, x2, ..., xr соответствующие базисным столбцам, называются базисными. Из системы (15.8) легко найти выражения базисных неизвестных через свободные, согласно теореме Крамера, рассматривая правые части этих уравнений как элементы столбца свободных членов, содержащие xr+1, xr+2,…, хп. Можно показать, что базисные неизвестные x1, х2, ..., xr линейно выражаются через свободные неизвестные. Поскольку свободные неизвестные могут принимать любые значения, то в случае когда ранг совместной системы меньше числа неизвестных, эта система является неопределенной: она имеет бесчисленное множество решений.
Метод Гаусса
Следует заметить, что как метод обратной матрицы, так и метод Крамера являются очень трудоемкими по количеству вычислительной работы. Оба они требуют порядка n2n! арифметических действий для нахождения решения системы линейных уравнений. При п = 5 это составит около 3000 действий, при п = 10 — около 3,6 ∙ 108 действий. При решении серьезных задач приходится иметь дело с системами уравнений порядка п = 100 и более. При таких масштабах даже суперкомпьютерам потребуется огромное время для вычисления решения. Кроме того, погрешности компьютерного округления чисел приводят к значительным ошибкам в расчетах численного решения систем уравнений большого порядка. Между тем существуют более экономичные методы решения систем линейных уравнений, основанные на предварительном преобразовании расширенной матрицы системы к специальному виду. В частности, одним из них является метод Гаусса, практическую реализацию которого мы приводим ниже.
Рассмотрим систему уравнений общего вида (15.1). Пусть для определенности a11 ≠ 0 (если a11 = 0, то можно переставить на первое место ненулевое слагаемое или начать с другого уравнения). Умножим первое уравнение системы (15.1) на число a21/a11 и затем вычтем его из второго уравнения этой системы. Умножим обе части первого уравнения на число a31/a11 и затем вычтем его из третьего уравнения и так далее, т.е. процесс заключается в последовательном вычитании первого уравнения, умножаемого на числа ai1/a11, из i-го уравнения (i = 2, 3, ... , m). Таким образом, в результате элементарных преобразований мы получим эквивалентную систему, в которой начиная со второго уравнения отсутствуют слагаемые, содержащие неизвестное x1:
где верхний индекс в скобках означает новые коэффициенты, полученные после первого шага. Для удобства записи будем оперировать расширенной матрицей системы, отделяя в ней вертикальной чертой столбец свободных членов. Итак, после первого шага, содержащего (т — 1) элементарных преобразований системы, мы переходим от расширенной матрицы (15.4) исходной системы к расширенной матрице
Второй шаг заключается в том, что теперь второе уравнение системы (15.7) или вторая строка матрицы (15.8) используется для аналогичных элементарных преобразований строк с третьей по m-ю: эта строка последовательно умножается на число и вычитается из i-й строки (i = 3, 4, ... ,m). В результате этих (m - 2) элементарных преобразований получаем новую расширенную матрицу, соответствующую новой эквивалентной системе уравнений. Эта матрица имеет вид
где верхний индекс означает новые коэффициенты. В случае если элемент = 0, то второе уравнение можно поменять местами с другим уравнением, у которого элемент
≠ 0.
Продолжим этот процесс аналогичным образом (т.е. на 3-м шаге преобразуются строки с 4-й по т-ю, на 4-м шаге — строки с 5-й по m-ю и т.д.) до тех пор, пока не дойдем до последней m-й строки. После (r - 1)-го шага процесса последовательного исключения неизвестных мы получим следующую расширенную матрицу:
Последние (m - r) строк этой матрицы соответствуют уравнениям эквивалентной системы уравнений
Эти уравнения могут появиться, если соответствующие уравнения исходной системы (15.1) представляют собой линейные комбинации других уравнений этой системы, о чем говорилось в п. 15.1. Здесь мы не исследовали заранее систему (15.1) на совместность; поэтому если эта система несовместна, то хотя бы одно из чисел ,
,...,
не равно нулю. Таким образом, метод Гаусса позволяет на определенном шаге установить возможную несовместность исходной системы линейных уравнений или выявить и удалить уравнения, являющиеся линейными комбинациями других уравнений системы (15.1), если она совместна.
Пусть система (15.1) совместна, тогда все правые части уравнений (15.10) равны нулю, и после удаления нулевых уравнений в эквивалентной системе и нулевых строк в расширенной матрице получаем матрицу специфического ступенчатого вида, ранг которой равен r. Все элементы этой матрицы, стоящие слева или ниже элементов аij, равны нулю:
Эта расширенная матрица соответствует системе уравнений ранга r, которая имеет вид
Система уравнений (15.12) уже полностью подготовлена к нахождению решения, процесс которого осуществляется снизу вверх, т.е. от последнего уравнения к первому. Переход от системы (15.1) к эквивалентной ей системе (15.12) называется прямым ходом, а нахождение неизвестных из системы (15.12) — обратным ходом метода Гаусса. Далее последовательность действий аналогична изложенной выше.
1. Если r = n, то система (15.12) имеет вид
Поднимаясь снизу вверх, последовательно находим (обратный ход метода Гаусса):
— из последнего r-го уравнения неизвестное xr = ;
— из (r - 1)-го уравнения неизвестное xr-1 путем подстановки в это уравнение уже найденного неизвестного xr;
— из i-го уравнения неизвестное xi при подстановке в него найденных величин xr, xr-1, ..., xi-1;
— и так далее до первого уравнения, из которого при подстановке в него уже найденных величин xr, xr-1 , ..., x2 находим х1.
2. Ранг системы уравнений (15.12) меньше n. В этом случае, как и ранее, объявляем неизвестные xr+1, xr+2, …, xп, свободными и формируем правые части уравнений (15.12), оставляя в левых частях слагаемые, содержащие базисные переменные x1, x2, ..., xr:
Решение этой системы находится обратным ходом метода; теперь базисные неизвестные зависят от свободных неизвестных, которые могут принимать любые значения, а потому система (15.1) имеет бесчисленное множество решений.
Рассмотрим примеры решения систем линейных уравнений методом Гаусса.
Пример 2. Пример 1 п. 15.2.
Решение. Выпишем расширенную матрицу этой системы; справа в скобках укажем числа, на которые умножается соответствующая строка матрицы для того, чтобы сложить ее с нижними строками. Горизонтальными стрелками показаны переходы к расширенным матрицам эквивалентных систем. Первую строку расширенной матрицы исходной системы умножаем последовательно на (-2) и (-1) и прибавляем ее соответственно к 2-й и 3-й строкам этой матрицы. После первого шага, состоящего в "обнулении" первого столбца согласно формуле (15.9), получаем (номера шагов показаны перед стрелками перехода)
Второй шаг прямого хода метода Гаусса состоит в операциях с преобразованной расширенной матрицей: прибавляем вторую строку, умноженную на (-3), к 3-й строке:
Последний вид расширенной матрицы является конечным этапом прямого хода метода (см. формулу (15.13)), после чего приступаем к обратному ходу, т.е. находим неизвестные, начиная с последнего. Полученная расширенная матрица соответствует системе уравнений
которая эквивалентна исходной системе. Отсюда последовательно находим: z = -1/2, у = 0,х = 1- 0 - (-1/2) = 3/2.
Пример 3. Решить методом Гаусса систему линейных уравнений
Решение. Составим расширенную матрицу этой системы, после чего выполним соответствующие шаги прямого хода метода Гаусса. Имеем
Последняя нулевая строка в расширенной матрице, полученной после 3-го шага, появилась из-за того, что в исходной системе четвертое уравнение является суммой 1-го и 3-го уравнений. Система совместная, и после удаления нулевой строки заключительный вид расширенной матрицы соответствует системе трех уравнений с четырьмя неизвестными (ранг системы меньше числа неизвестных). Полагая x4 свободной переменной, получаем
Из этой системы обратным ходом метода Гаусса находим
Данная система уравнений имеет бесчисленное множество решений, поскольку x4 может принимать любые значения.