Лабораторная работа Метод верхних релаксаций решения систем icon

Лабораторная работа Метод верхних релаксаций решения систем


Смотрите также:
Лабораторная работа прямые методы решения систем...
Лабораторная работа 3...
Лабораторная работа Синхронизация...
Изучение макрокоманд программы ms excel с выполнением контр...
Лабораторная работа №1...
Лабораторная работа посвящена экспериментальной проверке теоретически полученной оценке функции...
Лекция 1
Расшифровка : Наука в целом (информационные технологии 004)...
Лабораторная работа №1...
Лабораторная работа №1. «Диоды в источниках питания»...
Лабораторная работа №1...
Лабораторная работа №4...



Загрузка...
скачать




МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО

ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

им. Н. И. ЛОБАЧЕВСКОГО



Механико-математический факультет

Кафедра теоретической механики


Лабораторная работа


Метод верхних релаксаций решения систем

линейных уравнений





Нижний Новгород, 2003




УДК 519.633

Метод верхних релаксаций решения систем линейных уравнений. Лабораторная работа для студентов дневного отделения. Специальность: 01.02  прикладная математика; 01.03механика./Сост. А.Ф.Ляхов, Петрова О.С., Е.В.Чернова. Н. Новгород, ННГУ, 2003г. Библ. назв.2.


Работа посвящена изучению метода верхних релаксаций решения систем линейных алгебраических уравнений. Работа выполняется в специально созданной программе оболочке. Эта программа, позволяет тестировать студенческую программу и проводить исследования устойчивости решения. В программе оболочке предусмотрена возможность использования новых методов визуализации исследований.


Составители:

доцент Ляхов А.Ф.,

студент Петрова О.С.

инженер Чернова Е.В.


Рецензент

доцент Чекмарев Д.Т.


Нижегородский государственный университет

им. Н.И. Лобачевского, 2003.


Рассмотрим систему линейных алгебраических уравнений

, (1)

где ^ А  матрица размерности , x=(x1,x2,...,xn)T вектор решения, f=(f1,f2,...,fn)T  вектор правых частей.

Численные методы решения данной системы принято разделять на два класса: прямые методы («точные») и итерационные.

Прямыми методами называются методы, позволяющие получить решение системы уравнений (1) за конечное число арифметических операций.

К прямым методам относятся метод Крамера, метод Гаусса, LU- метод, метод прогонки и ряд других методов. Основным недостатком прямых методов является то, что для нахождения решения необходимо выполнить большое число операций. Например, метод Крамера требует порядка m!m операций, а метод Гаусса  порядка операций. Если m велико (m>>20), то погрешности вычислений будут очень сильно влиять на конечный результат.

Суть итерационных методов состоит в том, что решение системы (1) находится как предел последовательных приближений x(n) при n, где n  номер итерации. Применение итерационных методов требует задания начального значения неизвестных х(0) и точности вычислений >0. Вычисления проводятся до тех пор, пока не будет выполнена оценка

. (2)

Основное достоинство итерационных методов состоит в том, что точность искомого решения задается.

Число итераций n=n(), которое необходимо выполнить для получения заданной точности , является основной оценкой качества метода. По этому числу проводится сравнение различных методов.

Главным недостатком этих методов является то, что вопрос сходимости итерационного процесса требует отдельного исследования. Доказанные в настоящее время теоремы о сходимости итерационных методов имеют место для систем, на матрицы которых наложены ограничения.

Примером обычных итерационных методов могут служить метод Якоби (метод простых итераций), метод Зейделя, метод верхних релаксаций1.

К особому классу итерационных методов следует отнести вариационные итерационные методы: метод минимальных невязок, метод скорейшего спуска и т.д.

Итерационные методы также делятся на одношаговые, когда для определения решения на j+1 итерации используются значения решения, найденные на j итерации, и многошаговые, когда для определения решения на j+1 итерации используется несколько предыдущих итераций.

Заметим, что существуют системы, для которых итерационный процесс сходится, а вектор невязки, получающийся при подстановке найденного решения в исходную систему

,

получается большим по величине, т.е. найденное решение не удовлетворяет исходной системе. В этом случае в качестве критерия достижения точности решения может быть взята величина невязки, которая оценивается по одной из норм .

Продемонстрируем применение одношагового итерационного метода Якоби на решении системы трех уравнений. Пусть система (1) имеет вид

(3)

начальное приближение (верхний индекс указывает номер итерации), требуемая точность решения  . Первая итерация находится из выражения

(4)

Непосредственная проверка условия (2) связана с необходимостью знания точного решения. Поэтому на практике используется несколько упрощенное правило, т.е. проверяют, достигнута заданная точность или нет, сравнивая два итерационных значения x



Если точность не достигнута, то выполняется следующая итерация. В системе (4) заменяем на и находим значения . После этого вновь проверяем, достигнута точность решения или нет.

Заметим, что в некоторых особых случаях может иметь место сходимость итерационного процесса к некоторым значениям, которые не являются решением задачи. В этом случае, по-видимому, предпочтительнее в качестве критерия сходимости использовать невязку, получаемую при подстановке найденного решения в исходную систему.

Запишем выражение i+1 итерации через i.



Если точность решения достигнута, то счет прекращается.

Для систем m-го порядка имеем

. (5)

Запишем метод простых итераций в матричной форме. Представим матрицу ^ А в виде суммы трех матриц

А=А1+D+A2,

где D = diag[a11, a22, ...,amm]  диагональная матрица,

А1=  нижняя треугольная матрица,

А2=  верхняя треугольная матрица.

Представим систему (1) в матричной форме

.

Метод Якоби в матричной записи выглядит следующим образом

,

или

,

.

Существуют итерационные методы, обладающие лучшей скоростью сходимости, чем методы Якоби. В этих методах при вычислении i+1 итерации компоненты вектора решения используются, найденные на i+1 итерации компоненты решения с номерами , l=1,2,...,j-1. Наиболее распространенным методом подобного типа является метод Зейделя. Продемонстрируем его применение на системе (3). Вновь, задавая начальное приближение, для первой итерации запишем



После проверки условия сходимости совершаем вторую итерацию и т.д. Для i+1 итерации запишем



Общая формула имеет вид

.

Запишем метод Зейделя в матричной форме

,

или в форме близкой к каноническому виду

,

.

Для одношаговых итерационных методов, существует каноническая форма записи

.

Здесь  матрица, задающая тот или иной итерационный метод,  итерационный параметр. В случае метода Якоби  это матрица D, а =1, в случае метода Зейделя =D1, а итерационный параметр также равен единице =1.

Формируя матрицу B различным образом и задавая различные значения итерационного параметра, можно получать одношаговые итерационные методы самого разного вида. В зависимости от выбора этих параметров мы будем получать методы, которые будут обладать различной скоростью сходимости, т.е. заданная точность будет достигаться за разное число итераций.

Одним из наиболее распространенных одношаговых итерационных методов является метод верхних релаксаций*, который имеет следующий вид

, (6)

где >0  заданный числовой параметр. Этот параметр выбирается таким образом, чтобы на каждом шаге итерационного процесса уменьшалась величина, характеризующая близость полученного решения к искомому решению системы.

Для получения расчетных формул (6) перепишем в виде

,

или в покомпонентной записи получим

.

Приведем несколько строк покомпонентной записи

,

, и т.д.

Практика применения итерационных методов показала, что эти методы приводят к правильному решению для систем с матрицей А имеющей специальный вид. Приведем ряд теорем о сходимости итерационных методов. Доказательства этих теорем приводятся в книге [1].

Рассмотрим итерационные методы с постоянным итерационным параметром, записанные в виде

.(7)

Теорема 1.

Пусть А  симметричная положительно определенная матрица, >0 и пусть выполнено неравенство В-0,5А>0. Тогда итерационный метод (7) сходится.

Следствие 1.

Пусть А  симметричная положительно определенная матрица с диагональным преобладанием, т.е.

Тогда метод Якоби сходится.

Следствие 2.

Пусть А  симметричная положительно определенная матрица. Тогда метод верхних релаксаций сходится при условии 0<<2. В частности, метод Зейделя сходится (=1).

Теорема 2.

Итерационный метод (7) сходится при любом начальном приближении тогда и только тогда, когда все собственные значения матрицы по модулю меньше единицы.

Теорема 3.

Пусть А и В  симметричные положительно определенные матрицы, для которых справедливы неравенства

,

где 1,2  положительные постоянные, 1>2. При итерационный метод (7) сходится и для погрешности справедливы оценки

, i=0,1,...,

где , , .

Следствие 1.

Если АТ=А>0, то для метода простой итерации



при справедлива оценка

,

где , .

Следствие 2.

Для симметричной матрицы А и справедливо равенство , где ,. В приложениях часто встречаются задачи с плохо обусловленной матрицей ^ А, когда отношение велико. В этом случае число 0 близко к единице, и метод простой итерации сходится медленно.

Оценим число итераций n0(), которое требуется для достижения заданной точности в случае малых , т.е. для получения оценки . Из условия получаем, что , и при малых имеем .

Заметим, что в качестве критерия сходимости итерационного метода может использоваться невязка, которая получается при подстановке найденного решения в систему (1).

^ Метод верхних релаксаций

Среди явных одношаговых итерационных методов наибольшее распространение получил метод верхних релаксаций (6). Это связано с тем, что метод верхних релаксаций содержит свободный параметр , изменяя который можно получать различную скорость сходимости итерационного процесса.

Наиболее эффективно этот метод применяется при решении множества близких алгебраических систем линейных уравнений. На первом этапе проводится решение одной из систем с различными значениями итерационного параметра и из анализа скорости сходимости итерационного процесса выбирается оптимальное значение этого параметра. Затем все остальные системы решаются с выбранным значением .

Еще одно достоинство итерационного метода верхних релаксаций состоит в том, что при его реализации на ЭВМ алгоритм вычислений имеет простой вид и позволяет использовать всего один массив для неизвестного вектора.

Основная вычислительная формула имеет вид

(8).

В выражение (8) и входят одинаковым образом, следовательно, при вычислениях они могут записываться в один и тот же массив. При реализации метода верхних релаксаций используется следующая форма записи алгоритма вычислений

. (9)

Действительно, при последовательном нахождении элемента ( i +1 итерации) на каждом шаге будут использоваться найденные ранее значения, которые при k<j соответствуют i +1 итерации, а при k>j i итерации.

Современная вычислительная техника позволяет проводить исследование устойчивости и сходимости итерационного метода в зависимости от параметров задачи. Например, можно проводить исследование влияния повышения точности решения задачи на число необходимых итераций, исследование влияния начального приближения, изменения коэффициентов матрицы А и правых частей системы.


Вычислительные погрешности метода

верхних релаксаций

Один из основных вопросов применения итерационных методов связан с корректностью выбора точности метода .

Анализируя вычислительные погрешности выражения (9), получим оценку наименьшего значения точности метода верхних релаксаций.

Очевидно, что искомая погрешность вычислений будет определяться погрешностью задания коэффициентов исходной системы и погрешностью округления.

Запишем разность двух итерационных приближений решения и оценим её минимальное значение

(10).

Пусть коэффициенты и fi заданы с некоторой относительной погрешностью . Предположим, что итерационный метод сходится, и невязка убывает с ростом номера итерации k, т.е. . Оценка абсолютной погрешности правой части выражения (10) может быть представлена в следующем виде

,

здесь . модуль минимального значения диагонального элемента .Отсюда следует, что задаваемая погрешность метода .

Контрольные вопросы.


  1. Дайте характеристику прямым методам решения СЛАУ (системы линейных алгебраических уравнений).

  2. Приведите классификацию итерационных методов СЛАУ.

  3. Сформулируйте постановку задачи решения СЛАУ итерационными методами.

  4. Дайте основные определения алгебры матриц (положительно определенная матрица, симметричная матрица, норма матрицы, понятия обусловленности матрицы и т.д.).

  5. Теоремы о сходимости явных итерационных методов.

  6. Как исследуется скорость сходимости итерационных методов?

  7. Дайте определение невязки и покажите, как она может использоваться при построении итерационных методов.

  8. Два способа задания точности итерационных методов.


Задание.

1.


Методом верхних релаксаций решить систему линейных алгебраических уравнений (1) при различных значениях параметра 0<<2 и заданном начальном приближении и точности вычислений . В качестве нормы погрешности решения взять следующее значение . Исследовать зависимость числа итераций N от и найти оптимальное значение * , при котором число итераций минимально.


2.


Методом верхних релаксаций решить систему линейных алгебраических уравнений (1) при различных значениях параметра 0<<2, заданном начальном приближении и предельном значении относительной невязки df (, здесь , ). Исследовать зависимость числа итераций N от и найти оптимальное значение *, при котором число итераций минимально.


Этапы выполнения работы.

  1. Провести исследование возможности применения итерационных методов к решению данной задачи. Выполнить необходимые преобразования.

  2. В соответствии с конкретным заданием преподавателя выполнить преобразование исходной системы (привести к виду с диагональным преобладанием, привести к симметричному виду). В качестве критерия достижения заданной точности взять либо норму вектора разности двух последовательных итераций, либо норму невязки.

  3. Написать программу, реализующую метод верхних релаксаций. Программа должна учитывать структуру ввода и вывода исходных данных в соответствующий пакет программ лабораторной работы.

  4. Найти решение СЛАУ и оптимальное значение итерационного параметра. Сравнить полученные решения с эталонными, найденными в лабораторной работе.

  5. Варьируя параметры исходной задачи, найти область применимости оптимального итерационного параметра.

  6. Провести анализ задачи, варьируя начальное приближение. При одной из реализаций выбрать в качестве начального приближения найденное решение. Как изменяется кривая (n,)?

  7. Провести анализ задачи, варьируя заданную точность. Найти предельные значения  и провести исследование системы с этим значением.

  8. Оформить отчет, содержащий основные результаты работы.


Отчет должен быть напечатан и в нем содержатся:

1. исходные данные задачи;

2. таблица результатов;

3. графики результатов(n(w), df(w));

4. значение оптимального параметра w* для n и df;

5. вывод о применении используемого метода к поставленной задаче.

6. программа, реализующая метод итераций.


Структура интерфейса программы

лабораторной работы.


Управление программой осуществляется с помощью команд меню и панели инструментов.




Рис. 1 Основное окно программы отображает

исходные данные.

Меню Файл

Меню Файл содержит команды для создания новой системы уравнений, открытия существующих файлов с исходными данными, сохранения открытых файлов и выхода из лабораторной работы.

Новая система. Открывает окно диалога «Ввод исходных данных».

Открыть. Открывает существующий файл с исходными данными (*.txt).

Сохранить. Сохраняет изменения в открытом файле.

Сохранить как... Сохраняет открытый файл под новым именем.

Выход. Завершает работу приложения.

Меню Работа

содержит команды для изменения исходных данных и их преобразования перед началом итераций, а также команды для выбора тестируемой программы и её запуска.

Команда Исходные данные отображает на экране основное окно программы.

Команда Генерация случайных матриц запускает генератор случайных матриц. В нём можно создавать матрицы двух видов:симметричные с преобладанием диагональных элементов и

произвольные.




Рис.2 Генератор случайных матриц.


Команда Изменение матрицы и начальных данных открывает окно диалога «Ввод исходных данных» на странице редактирования исходных матриц.





Рис.3 Окно редактирования исходных данных.


Подменю Cпособ преобразования исходной матрицы содержит команды для различных вариантов преобразования матрицы перед началом итераций.

Выбор команды Матрица не меняется  программа лабораторной работы будет применять метод верхней релаксации к исходной матрице.

Выбор команды Матрица заменяется эквивалентной симметричной  программа лабораторной работы будет применять метод верхней релаксации не к исходной матрице, а к симметрированной, т.е. будет решаться задача

ATAx=ATf,

эквивалентная исходной

Ax=f.

Команда Матрица приводится к виду с диагональным преобладанием преобразует исходную матрицу таким образом, что на главной диагонали будут стоять максимальные по модулю элементы. Преобразование осуществляется обыкновенной перестановкой строк и столбцов матрицы.

В файл данных для программы пользователя будет записана исходная матрица, поэтому пользователь должен выбрать один из вариантов в соответствии с тем, как его собственная программа работает с исходными данными, чтобы сравнивать результаты работы похожих алгоритмов.

Во время просмотра результатов также можно изменять способ преобразования матрицы. Программа лабораторной работы немедленно произведет пересчет собственных результатов и изменит контрольные значения в таблице и на графиках. Это позволяет сравнить результаты применения метода к одной и той же системе, но по-разному преобразованной до начала итераций.

Подменю Оценка сходимости итерационного процесса содержит команды-переключатели для выбора условия остановки итераций.

Отметив флажком команду По точности вычислений пользователь выберет в качестве условия прекращения итераций выполнение оценки

.

Команда По относительной невязке df установит в качестве условия прекращения итераций выполнение оценки df(к)df, здесь,, .

Команда Тестируемая программа открывает окно диалога "Выбор тестируемой программы". В строке редактирования введите путь и имя Вашей программы или нажмите кнопку "Обзор" и выберите Ваше приложение среди других исполнимых файлов (*.exe).

Имена 10-ти последних программ запоминаются и впоследствии могут выбираться из списка программ в этом же окне диалога.





Рис.4 Окно выбора тестируемой программы.


Команда Итерационный процесс запускает программу пользователя.


Меню Сравнение результатов

содержит команды для просмотра результатов работы программы пользователя и сравнения их с контрольными значениями.

Команда Таблица выводит результаты работы Вашей программы и программы лабораторной работы в таблицу:





Рис.6 Таблица результатов.


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

Команда Конкретное решение открывает окно диалога "Сравнение решений".





Рис.9 Окно детального сравнения результатов.


В строке "W = " вводится некоторое значение итерационного параметра w. Чтобы просмотреть результаты, полученные обеими программами при этом значении, нажмите кнопку "Решение". Если результаты работы Вашей программы ещё неизвестны или такого значения w нет в файле результатов, то будут показаны только контрольные значения.


Команда График числа итераций строит график числа итераций N(w).

Команда График относительной невязки строит график относительной невязки df.

Синим цветом строятся графики результатов пользователя, красным  контрольных значений.





Рис.7 График числа итераций N(w).





Рис.8 График относительной невязки df


Меню Вид

Cодержит команду отображения панели инструментов.

Меню Дополнительно

содержит команды для более детального изучения свойств системы.

Команда Информация о системе отображает дополнительную информацию о системе: обратную матрицу, определитель, число обусловленности и т. д.

Подменю Двухпараметрический метод содержит команды для исследования двух зависимостей процесса сходимости метода верхних релаксаций:

1. зависимость от заданной точности вычислений ;

2. зависимость от изменений начального приближения.

Одна из величин – точность вычислений или отклонение от начального приближения H – становится как бы вторым итерационным параметром. Задаются интервалы изменения всех параметров: (0,1), (H0,H1) и (w0,w1). Получаются две прямоугольные области:

{ w0

и {wo

Метод верхней релаксации применяется для каждого узла сетки одной из областей. Полученное число итераций определяет цвет, в который будет окрашена ячейка области, находящаяся справа и снизу от узла:





Рис.10 Соответствие цвета ячейки числу итераций.

Команда Области изменения параметров открывает окно диалога «Метод верхней релаксации с двумя параметрами». В этом окне вводятся интервалы изменения всех итерационных параметров: , , и , а также максимальное число итераций.

Подменю Выбор второго параметра приводит к назначению второго итерационного параметра и построению соответствующей цветовой области.

Команда Точность вычислений назначает вторым итерационным параметром точность вычислений  и начинает построение цветовой области { w0, 0<<1}.





Рис.11 Введение второго итерационного параметра - точность вычислений.


Команда Отклонение начального приближения от исходного назначает вторым итерационным параметром отклонение начального приближения от исходного начального приближения и проводит построение цветовой области {woH0.Данный цветовой график позволяет проводить исследование устойчивости решения системы по начальным данным.




Рис.12 Введение второго итерационного параметра  отклонение начального приближения от исходного.


Меню Справка

содержит команды для доступа к справочной системе и диалогу "О программе".

Описание работы Открытие справочного файла.

О программе Открытие окна диалога "О программе".


Литература.


1.Самарский А.А., Гулин А.В. Численные методы.  М.: Наука, 1989..432 с.

2.Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы.  М.: Наука, 1987. 600 с.

1 Релаксация (relaxation)  уменьшение напряжения, ослабление (физ. процесс возвращения в состояние равновесия).





Скачать 210,94 Kb.
оставить комментарий
Дата29.09.2011
Размер210,94 Kb.
ТипЛабораторная работа, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

наверх