Автор: Пользователь скрыл имя, 13 Февраля 2013 в 20:50, курсовая работа
Цель работы: исследовать метод решения частичной проблемы собственных значений и методы многомерной оптимизации.
Задачи:
- разработать и реализовать алгоритмы следующих методов:
- степенной метод;
- метод расходящегося ряда;
- метод Девидона-Флетчера-Пауэлла.
Введение
1. Методы решения частичной проблемы собственных значений
1.1 Степенной метод
1.2 Метод скалярных произведений
2. Методы многомерной оптимизации
2.1 Метод расходящегося ряда
3. Метод Девидона – Флетчера – Пауэлла
Заключение
Список используемых источников
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
«Оренбургский Государственный Университет»
Факультет экономики и управления
Кафедра математических методов и моделей в экономике
КУРСОВАЯ РАБОТА
по дисциплине «Численные методы»
на тему: « Sp-алгоритм метода решений частичных проблем собственных значений. Градиентный метод расходящегося ряда.
Метод Девидона-Флетчера- Пауэлла»
Руководитель
_________________Яркова О. Н.
Исполнитель
студент гр. 09ММЭ
____________Салахутдинова Р.М
«_____» _______________2011 г.
Оренбург 2011
значений…………………………………………………………
1.1 Степенной метод…………………………………………………..5
1.2 Метод скалярных произведений…………………………………7
2.1 Метод расходящегося ряда……………………………………….8
3. Метод Девидона – Флетчера – Пауэлла…………………………….10
Заключение……………………………………………………
Список используемых источников…………………………………….14
Часто в практических вычислениях бывают нужны не все собственные значения, а лишь некоторые из них. В этих случаях нецелесообразно решать полную проблему собственных значений.
Для решения частичной проблемы собственных значений, состоящей в определении одного или нескольких собственных значений и соответствующих им собственных векторов, обычно используются итерационные методы. Строится такой итерационный процесс, который сходится к одному собственному значению и собственному вектору, причем используемые алгоритмы обычно весьма экономичны.
Итерационный процесс строится на основании применения методов итераций к решению системы уравнений . (1)
Используем метод простой итерации. Пусть X(0) - начальное приближение собственного вектора X, причем собственные векторы на каждой итерации нормированы. Итерационный процесс запишется в виде
(2)
Подставляя в правую часть этой системы вектор X(0), получаем после его умножения слева на матрицу A некоторый вектор Y(1). После нормировки этого вектора он представится в виде Y(1) = l (1)X(1), где l (1) - постоянная, X(1) - нормированный вектор. Теперь нужно X(1) снова подставить в правую часть (32) и найти новые приближения l (2) и X(2). Итерационный процесс продолжается до установления постоянных значений l и X. При этом найденное число l - наибольшее по модулю собственное значение данной матрицы A, а X - соответствующий ему собственный вектор.
Скорость сходимости этого итерационного процесса зависит от удачного выбора начального приближения. Если начальный вектор близок к истинному собственному вектору, то итерации сходятся быстро.
Для решения системы (1) можно использовать и другие итерационные методы. В частности, метод Ньютона дает лучшую сходимость, если удачно выбрано начальное приближение X(0). В этом случае бывает достаточно нескольких итераций.
В некоторых задачах нужно искать не наибольшее, а наименьшее собственное значение матрицы A. В этом случае можно умножить систему (1) на обратную матрицу A-1:
.
Отсюда, деля обе части этого равенства на l и учитывая, что A-1A = E, получаем
. (3)
Эта задача отличается от
ранее рассматриваемой тем, что
здесь будет вычисляться
Цель работы: исследовать метод решения частичной проблемы собственных значений и методы многомерной оптимизации.
Задачи:
разработать и реализовать алгоритмы следующих методов:
- степенной метод;
- метод расходящегося ряда;
- метод Девидона-Флетчера-Пауэлла.
значений
Пусть наибольшее по модулю собственное значение матрицы А l1 вещественное и простое. Предположим, что собственные числа матрицы пронумерованы следующим образом:
Для нахождения l1 выберем Y(0) — начальный вектор. Y(0) следует выбирать так, чтобы коэффициент l1 в разложении Y(0) =l1x1+l2x2+…lnxn не был бы слишком мал. Здесь x1, x2,…, xn — собственные векторы, так что Axi=lixi, i=1,…,n. Y(0) выбирается опытным путем.
Далее строится последовательность векторов Y(1), Y(2),… по формуле Y(k+1)=AY(k).
Рассмотрим простейший
метод решения частичных
Пусть о вещественной nxn матрицы А известно, что она является матрицей простой структуры, т.е имеет ровно n линейнонезависимых собственных векторов(базис):
(1)
Пусть нумерация этих векторов отвечает упорядочению соответствующих им собственных чисел по убыванию модулей:
(2)
Ставим задачу приближенного вычисления наибольшего по модулю собственного числа λ1 и соответственного ему собственного вектора x 1 данной матрицы А.
Возьмем произвольный ненулевой вектор y(0) и запишем его разложение по базису собственных векторов:
(3)
Выполним первую итерацию вектора y(0) умножением равенства (3) слева на матрицу А:
В силу последнее можно переписать в виде:
Выполняем вторую итерации по такому же принципу и получаем:
k-я итерация вектора y(0) с помощью матрицы А дает вектор:
(4)
Или, с учетом представления x1, x2 ,.., xn в исходном базисе
Берем отношение компонент итерированного вектора:
(5)
Представляя вектор y(k) на основе (4)
(6)
можно сделать вывод, что в силу , в фигурных скобках выражения (6) линейной комбинации векторов x1 , x2,..,xn с ростом k начнет доминировать первое слагаемое. Это означает, что вектор y(k) от итерации к итерации будет давать все большее хорошее приближение к собственному вектору x1 по направлению.
1.2 Метод скалярных произведений.
Модификация степенного метода называется методом скалярных произведений. Реализовать её можно в виде SP-алгоритма.
Алгоритм метода
Шаг 1. Дана симметричная n×n -матрица А, произвольный начальный вектор y(0), малое число ε>0 , число λ(0) для начального сравнения. Положить k=1.
Шаг 2.Вычистить скаляры s(0)=(y(0), y(0)),
׀׀ y(0) ׀׀2=√ s(0) и вектор x(0)= y(0)/ ׀׀ y(0) ׀׀2.
Шаг 3.Вычислить y(k)=Ax(k-1) (итерация нормированного вектора).
Шаг 4. Вычислить s(k)=(y(k), y(k))
и t(k)=(y(k), x(k-1) ),
׀׀ y(k) ׀׀2=√ s(k), x(k)= y(k)/ ׀׀ y(k) ׀׀2 , λ(k)= s(k)/t(k) .
Шаг 5.Если |λ(k) - λ(k-1)|>ε, то положить k:=k+1 и вернуться к шагу 3, иначе завершить работу алгоритма, считая λ1:≈ λ(k) , x1:≈ x(k).
2.1 Метод расходящегося ряда.
Градиент функции в некоторой точке направлен в сторону наискорейшего возрастания функции и ортогонален линии уровня в этой точке. Находясь в очередной точке и каждый раз выбирая в качестве направления движения градиент (или антиградиент - вектор противоположной направленности), мы приходим к итерационному процессу возрастания (убывания) функции. Этот итерационный процесс можно выразить следующей формулой:
где - параметр, определяющий длину и направление очередного шага;
-grad - антиградиент функции в текущей точке.
Вектор задает направление убывания функции в точке x, если .
Градиентные методы представляют собой методы спуска, в которых в качестве направлений убывания выбирается направление антиградиента функции.
,где -grad
Метод вида: , где , называется методом спуска, если вектор на каждом шаге принадлежит множеству направлений убывания функции в точке ,
Начиная с некоторого x0 , строится последовательность такая, что , при всех .
Критерием остановки
итерационной последовательност
или ║grad ║ .
Априорный выбор коэффициентов (метод расходящегося ряда), т. е - выбирается до начала вычислений. Например, , т. е ряд расходящийся, а ряд - сходящийся. Условие сходимости ряда из квадратов накладывается, чтобы добиться достаточно быстрой сходимости последовательности к нулю, с целью обеспечения сходимости метода в окрестности точки минимума функции, а условие расходимости ряда нужно для обеспечения достижения точки минимума даже при неудачном выборе начального приближения.
Алгоритм метода расходящегося ряда.
3. Метод Девидона – Флетчера – Пауэлла.
Рассмотрим алгоритм Девидона–Флэтчера–Пауэлла (Д-Ф-П) минимизации дифференцируемой функции нескольких переменных.
Первоначально метод был предложен Девидоном и затем развит Флэтчером и Пауэллом. Метод ДФП называют также и методом переменной метрики. Он попадает в общий класс квазиньютоновских процедур, в которых направления поиска задаются в виде .
Пусть дана функция на множестве и имеющая непрерывные частные производные во всех его точках. Требуется найти локальный минимум функции на множестве допустимых решений , т.е. найти такую точку , что
Стратегия метода ДФП состоит в построении последовательности точек , k=0,1…, таких, что . Точки последовательности вычисляются по правилу:
где есть матрица размера nxn, которая вычисляется по правилу:
,