Автор работы: Пользователь скрыл имя, 20 Мая 2012 в 19:27, реферат
Одним из самых распространенных методов решения систем линейных уравнений является метод Гаусса. Этот метод (который также называют методом последовательного исключения неизвестных) известен в различных вариантах уже более 2000 лет
1.Теоретическая часть
1.1 Постановка задачи
Рассмотрим систему линейных алгебраических уравнений (СЛАУ)
где - матрица , - искомый вектор, - заданный вектор. Будем предполагать, что определитель матрицы отличен от нуля, т.е. решение системы (1) существует.
1.2 Описание метода Гаусса
Одним из самых распространенных
методов решения систем линейных
уравнений является метод Гаусса.
Этот метод (который также называют
методом последовательного
1.2.1 Сущность метода исключения Гаусса
Это метод последовательного
исключения переменных, когда с помощью
элементарных преобразований система
уравнений приводится к равносильной
системе ступенчатого (или треугольного)
вида, из которого последовательно, начиная
с последних (по номеру) переменных,
находятся все остальные
Метод заключается в том,
что при прямом ходе в алгоритме
метода Гаусса на каждом шаге исключения
производится выбор наибольшего
по модулю элемента в качестве ведущего.
Этого достигают перестановкой
строк или столбцов матрицы коэффициентов.
Наиболее распространённой в вычислительной
практике является стратегия выбора
главного элемента столбца - нахождение
максимального по модулю элемента k-го
столбца матрицы и
Помимо аналитического решения СЛАУ, метод Гаусса также применяется для:
a) нахождения матрицы,
обратной к данной (к матрице
справа приписывается
b) определения ранга матрицы
(согласно следствию из
c) численного решения
СЛАУ в вычислительной технике
(ввиду погрешности вычислений
используется Метод Гаусса с
выделением главного элемента, суть
которого заключена в том,
Для контроля ошибки реализации метода используются так называемые контрольные суммы. Схема контроля основывается на следующем очевидном положении. Увеличение значения всех неизвестных на единицу равносильно замене данной системы контрольной системой, в которой свободные члены равны суммам всех коэффициентов соответствующей строки. Создадим дополнительный столбец, хранящий сумму элементов матрицы по строкам. На каждом шаге реализации прямого хода метода Гаусса будем выполнять преобразования и над элементами этого столбца, и сравнивать их значение с суммой по строке преобразованной матрицы. В случае не совпадения значений счет прерывается.
1.2.2 Точность метода
Корни, полученные методом Гаусса точны при следующих условиях:
· Коэффициенты в задании даны точно
· По ходу работы не выполнялись округления.
1.2.3 Преимущества и недостатки метода Гаусса
Итак, метод Гаусса применим к любой системе линейных уравнений, он идеально подходит для решения систем, содержащих больше трех линейных уравнений. Метод Гаусса решения СЛАУ с числовыми коэффициентами в силу простоты и однотипности выполняемых операций пригоден для счета на электронно-вычислительных машинах.
Достоинства метода:
a) менее трудоёмкий по сравнению с другими методами;
b) позволяет однозначно установить, совместна система или нет, и если совместна, найти её решение;
c) позволяет найти максимальное
число линейно независимых
Недостатки метода:
Один из основных недостатков метода Гаусса связан с тем, что при его реализации накапливается вычислительная погрешность. Для больших систем порядка m число действий умножений и делений близко к .
Для того, чтобы уменьшить
рост вычислительной погрешности применяются
различные модификации метода Гаусса.
Например, метод Гаусса с выбором
главного элемента по столбцам, в этом
случае на каждом этапе прямого хода
строки матрицы переставляются таким
образом, чтобы диагональный угловой
элемент был максимальным. При
исключении соответствующего неизвестного
из других строк деление будет
производиться на наибольший из возможных
коэффициентов и следовательно
относительная погрешность
Так же существенным недостатком этого метода является невозможность сформулировать условия совместности и определенности системы в зависимости от значений коэффициентов и свободных членов. С другой стороны, даже в случае определенной системы этот метод не позволяет найти общие формулы, выражающие решение системы через ее коэффициенты и свободные члены, которые необходимо иметь при теоретических исследованиях.
1.2.4 Условие применимости метода
Необходимым и достаточным условием применимости метода является неравенство нулю всех «ведущих элементов» (на диагонали полученной матрицы не должно быть нулевых элементов).
1.3 Алгоритм решения системы методом Гаусса
1.3.1 Общий случай
Процесс решения по методу Гаусса состоит из двух этапов: прямой и обратный ходы.
Процесс приведения к системе с треугольной матрицей называется прямым ходом, а нахождения неизвестных - обратным. Если один из ведущих элементов равен нулю, изложенный алгоритм метода Гаусса неприменим. Тем не менее, для нормальной матрицы с ненулевым определителем всегда возможна такая перестановка уравнений, что на главной диагонали не будет нулей. В приведенном коде для простоты перестановок не делается, зато делается проверка решения, а прямой и обратный ход для наглядности вынесены в отдельные подпрограммы.
На первом этапе осуществляется
так называемый прямой ход, когда
путём элементарных преобразований
над строками систему приводят к
ступенчатой или треугольной
форме, либо устанавливают, что система
несовместна. А именно, среди элементов
первого столбца матрицы
После того, как указанные преобразования были совершены, первую строку и первый столбец мысленно вычёркивают и продолжают пока не останется матрица нулевого размера. Если на какой-то из итераций среди элементов первого столбца не нашёлся ненулевой, то переходят к следующему столбцу и проделывают аналогичную операцию.
На первом этапе (прямой ход) система приводится к ступенчатому (в частности, треугольному) виду.
Если в процессе приведения системы к ступенчатому виду появятся нулевые уравнения, т.е. равенства вида 0=0, их отбрасывают. Если же появится уравнение вида то это свидетельствует о несовместности системы.
На этом прямой ход метода Гаусса заканчивается.
Алгоритм прямого прохода:
Выбрать максимальный элемент строки стоящий справа от текущего диагонального элемента, запомнить столбец, в котором он стоит;
Если максимальный элемент равен нулю, то СЛАУ не имеет решения, т.к. в системе присутствую линейно зависимые уравнения;
Поменять столбец найденный
в пункте 1, со столбцом, в котором
располагается текущий
Разделить все элементы строки на текущий диагональный элемент (он изменился, т.к. столбцы были переставлены);
Вычитаем текущую строку
из ниже лежащих строк матрицы, умножая
ее на коэффициент при
Прямой проход завершен, результат – нижняя (находящаяся под главной диагональю) треугольная матрица заполнена нулями.
На втором этапе осуществляется
так называемый обратный ход, суть которого
заключается в том, чтобы выразить
все получившиеся базисные переменные
через небазисные и построить
фундаментальную систему
Эта процедура начинается с последнего уравнения, из которого выражают соответствующую базисную переменную (она в нем всего одна) и подставляют в предыдущие уравнения, и так далее, поднимаясь по «ступенькам» наверх.
Каждой строчке соответствует ровно одна базисная переменная, поэтому на каждом шаге, кроме последнего (самого верхнего), ситуация в точности повторяет случай последней строки.
Примечание: на практике удобнее работать не с системой, а с расширенной ее матрицей, выполняя все элементарные преобразования над ее строками. Удобно, чтобы коэффициент a11 был равен 1 (уравнения переставить местами, либо разделить обе части уравнения на a11).
Запишем систему Ax=f, в развернутом
виде
Предположим, что . Последовательно умножая первое уравнение на и складывая с i-м уравнение, исключим из всех уравнений кроме первого. Получим систему
Аналогичным образом из полученной системы исключим . Последовательно, исключая все неизвестные, получим систему треугольного вида
Описанная процедура называется прямым ходом метода Гаусса. Заметим, что ее выполнение было возможно при условии, что все , не равны нулю.
Выполняя последовательные
подстановки в последней
Эта процедура получила название обратный ход метода Гаусса.
1.3.2 Описание алгоритма на примере системы 4-х уравнений с 4-мя неизвестными.
Рассмотрим систему 4-х уравнений с 4-мя неизвестными.
a11x1+a12 x2+a13x3+a14x4=a15,
a21x1+a22 x2+a23 x3+a24x4=a25,
a31x1+a32 x2+a33x3+a34x4=a35, (1)
a41x1+a42 x2+a43x3+a44 x4=a45,
Пусть a110 (ведущий элемент). Разделив коэффициенты 1-го уравнения системы на a11, получим:
x1+b12 x2+b13x3+b14x4=b15, (2)
(j>1).
Пользуясь уравнением (2), легко исключить из системы (1) неизвестную x1. Для этого достаточно из 2-го уравнения системы (1) вычесть уравнение (2), умноженное на a21, а из 3-го уравнения системы (1) вычесть уравнение (2), умноженное на a31 и т. д. В результате получим систему из трёх уравнений:
a(1)22x2+a(1)23x3+a(1)24x4=a(
a(1)32x2+a(1)33x3+a(1)34x4=a(
a(1)42x2+a(1)43x3+a(1)44x4=a(
где коэффициенты a(1)ij вычисляются по формуле
a(1)ij = aij - ai1b1j (i, j 2).
Далее, разделив коэффициенты первого уравнения системы (1') на ведущий элемент a(1)22, получим уравнение
x2+b(1)23x3+b(1)24x4=b(1)25 (2')
где (j > 2).
Исключая теперь х2 таким же способом, каким мы исключили x1, придем к следующей системе уравнений:
a(2)33x3+a(2)34x4=a(2)35
a(2)43x3+a(2)44x4=a(2)45 (1'')
a(2)ij = a(1)ij - ai2b(1)2j (i, j 3).
Затем разделим коэффициенты первого уравнения системы (1'') на “ведущий элемент” a(2)33 и получим:
x3+b(2)34x4=b(2)35, (2'')
где
(j > 3).
Исключив аналогичным путём x3 из системы (1''), будем иметь:
a(3)44x4=a(3)45
где a(3)ij = a(2)ij - ai3b(2)3j (i, j 4).
Отсюда
x4 = (2''')
Остальные неизвестные последовательно находятся из уравнений (2''), (2') и (2).
x3 = b(2)35 - b(2)34x4,
x2 = b(1)25 - b(1)23x3 - b(1)24x4,
x1 = b15 - b12x2 - b13x3 - b14x4.
Таким образом, процесс решения линейной системы по методу Гаусса сводится к построению эквивалентной системы (2), (2'), (2''), (2'''), имеющей треугольную матрицу.
Вычисления удобно помещать в таблицу.
2. Практическая часть
2.1 Примеры
Пример 1)
Покажем, как методом Гаусса можно решить следующую систему:
Обнулим коэффициенты при x во второй и третьей строчках. Для этого вычтем из них первую строчку, умноженную на и -1 , соответственно: