Главная Учебники - Разные Лекции (разные) - часть 51
|
Введение
К решению систем линейных алгебраических уравнений приводятся многие задачи численного анализа. Известное из курса высшей алгебры правило Крамера для решения систем линейных алгебраических уравнений практически невыгодно, так как требует слишком большого количества арифметических операций и записей. Поэтому было предложено много различных способов, более пригодных для практики. Используемые практически методы решения систем линейных алгебраических уравнений можно разделить на две большие группы: так называемые точные методы и методы последовательных приближений. Точные методы характеризуются тем, что с их помощью принципиально возможно, проделав конечное число операций, получить точные значения неизвестных. При этом, конечно, предполагается, что коэффициенты и правые части системы известны точно, а все вычисления производятся без округлений. Чаще всего они осуществляются в два этапа. На первом этапе преобразуют систему к тому или иному простому виду. На втором этапе решают упрощенную систему и получают значения неизвестных. Методы последовательных приближений характеризуются тем, что с самого начала задаются какими-то приближенными значениями неизвестных. Из этих приближенных значений тем или иным способом получают новые «улучшенные» приближенные значения. С новыми приближенными значениями поступают точно также и т.д. При выполнении определенных условий можно придти, вообще говоря, после бесконечного числа шагов. Рассмотрим два точных метода: метод ортогонализации и метод сопряженных градиентов. 1.
Метод ортогонализации
1.1 Метод ортогонализации в случае симметрической матрицы
порядка n. Чтобы избежать в дальнейшем путаницы, над векторами поставим черточки. Решение системы будем разыскивать в виде где Здесь рассматривается обычное скалярное произведение векторов в n-мерном векторном пространстве, т.е. если Используя (2) получим: или, в силу выбора векторов Итак, для определения коэффициентов Следовательно, если Особенно легко определятся и, следовательно, Тогда система для определения и Метод можно обобщить. Пусть каким-то образом удалось найти систему 2n векторов Умножая обе части равенства (1) на Опять получилась система линейных алгебраических уравнений с треугольной матрицей для определения так как при i<r и при i>r Таким образом, Остановимся подробнее на первом из описанных методов. Рассмотрим случай, когда матрица А симметрическая и положительно определенная. Последнее означает, что для любого вектора Это построение можно осуществить следующим образом. Исходим из какой-то системы линейно независимых векторов Далее проводим «ортогонализацию». Принимаем Из условия Ищем Условия Далее поступаем также. Процесс будет осуществим, так как все Нетрудно проверить, что введенное таким способом скалярное произведение будет удовлетворять всем требованиям, которые к нему предъявляются. При решении системы n уравнений по настоящей схеме требуется произвести операций умножения и деления. 1.2
Метод ортогонализации в случае несимметрической матрицы
В случае несимметрической матрицы процесс ортогонализации проводится точно также. Пусть векторы Коэффициенты Система в случае несимметрической матрицы будет треугольной. Аналогично строится система «биортогональных» векторов, т.е. система 2n векторов, удовлетворяющих условию (12). При этом Коэффициенты Также поступаем, отыскивая коэффициенты При этом получим две системы: из которых и определяем Остановимся еще на одном методе ортогонализации. Будем рассматривать строки матрицы А как векторы: Ортонормируем эту систему векторов. Первое уравнение системы где Второе уравнение системы заменится на где Аналогично поступаем дальше. Уравнение с номером i примет вид где Процесс будет осуществим, если система уравнений линейно независима. В результате мы придем к новой системе Таким образом, решение системы можно записать в виде Практически, вследствие ошибок округления, СС¢ будет отлична от единичной матрицы и может оказаться целесообразным произвести несколько итераций для системы 2.
Метод сопряженных градиентов
2.1 Первый алгоритм метода
Пусть требуется решить систему линейных алгебраических уравнений с положительно определенной матрицей A порядка n. Рассмотрим функционал представляющий многочлен второго порядка относительно x1
, x2
, …, xn
. Обозначим через При этом знак равенства возможен лишь при Для отыскания такого вектора применим следующий метод. Пусть – вектор невязок системы. Покажем, что вектор невязок имеет наибольшее значение. Но Но среди векторов Вектор и принимаем за новое приближение к решению. В методе сопряженных градиентов следующее приближение и через Вектор Гиперплоскость (7) проходит через точку При любом или Вектор имеет направление нормали к сечению поверхности Вектор примем за новое приближение к решению имеет направление нормали к поверхности Рассмотрим гиперплоскость (n-2) – х измерений проходящую через точку Вектор Подберем или Вектор будет иметь направление нормали к сечению поверхности примем за новое приближение к Продолжая процесс, получим последовательности векторов Для этих векторов имеют место следующие соотношения: В самом деле, в силу самого построения при i¹j Далее, при i>j Если i=j+1, то правая часть равна нулю, в силу определения Продолжая понижение индекса у вектора Так как в n-мерном векторном пространства не может быть более n взаимно ортогональных векторов, то на некотором шаге На рис. 1 показана геометрическая картина нашего построения при n=3. Рис. 1 2.2 Второй алгоритм метода
Приведем другой алгоритм метода. Будем обозначать последовательные приближения к решению через Первые два приближения Предположим, что уже известно приближение Будем искать минимум функционала (2) на множестве векторов Приравнивая к нулю частные производные от или, учитывая (25), Обозначим через и за (i+1) – е приближение к решению примем: Из системы (27) следует, что а так как то из (31) следует: Докажем, что если то при всех i что будет доказывать и сходимость, и конечность второго алгоритма. В самом деле, при условиях (33) и т.е. условие (24) выполнено. Предположим, что уже доказаны равенства и докажем равенство При предположении (35) Но из соотношений (20) имеем: т.е. Докажем коллинеарность векторов Из (20) и (29) имеем: а это и доказывает коллинеарность векторов (36). Вектор Это и доказывает справедливость (34) при всех i. На первый взгляд кажется, что первый алгоритм лучше, так как на каждом шаге он требует лишь одного умножения матрицы А на вектор Метод сопряженных градиентов целесообразно использовать для решения систем уравнений, в которых матрица А имеет много нулевых элементов. При решении системы по этому методу элементы матрицы участвуют в арифметических операциях лишь при умножении матрицы на вектор, а умножение матрицы на вектор можно организовать так, чтобы в арифметических операциях участвовали только ненулевые элементы. Заключение
В данной работе были рассмотрены метод ортогонализации и метод сопряженных градиентов, а также представлена программа на языке программирования С++, реализующая метод ортогонализации на ЭВМ, и ее результаты работы. Список литературы
1. Березин И.С. и Жидков Н.П. Методы вычислений. т. 1. М.: «Наука», 1965. 633c. 2. Воеводин В.В. Численные методы алгебры (теория и алгоритмы). М.: «Наука», 1966. 3. Подбельский В.В. и Фомин С.С. Программирование на языке Си. М.: «Финансы и статистика», 2000. 599 с. 4. Калиткин Н.Н. Численные методы. М.: «Наука», 1978. 512 с.
| |||||