Sp-алгоритм метода решений частичных проблем собственных значений. Градиентный метод расходящегося ряда. Метод Девидона-Флетчера- Пауэлла

Автор: Пользователь скрыл имя, 13 Февраля 2013 в 20:50, курсовая работа

Краткое описание

Цель работы: исследовать метод решения частичной проблемы собственных значений и методы многомерной оптимизации.
Задачи:
- разработать и реализовать алгоритмы следующих методов:
- степенной метод;
- метод расходящегося ряда;
- метод Девидона-Флетчера-Пауэлла.

Оглавление

Введение
1. Методы решения частичной проблемы собственных значений
1.1 Степенной метод
1.2 Метод скалярных произведений
2. Методы многомерной оптимизации
2.1 Метод расходящегося ряда
3. Метод Девидона – Флетчера – Пауэлла
Заключение
Список используемых источников

Файлы: 1 файл

Курсовая.doc

— 358.50 Кб (Скачать)

Министерство образования  и науки Российской Федерации

Государственное образовательное  учреждение

высшего профессионального образования

«Оренбургский Государственный  Университет»

 

Факультет экономики и управления

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

 

 

 

 

 

КУРСОВАЯ РАБОТА

 

по дисциплине «Численные методы»

 

на тему: « Sp-алгоритм метода решений частичных проблем собственных значений. Градиентный метод расходящегося ряда.

Метод Девидона-Флетчера- Пауэлла»

ГОУ ОГУ 080116.5011.09 ОО

 

 

                

       

 

Руководитель     

_________________Яркова О.  Н.

Исполнитель  

студент гр. 09ММЭ

____________Салахутдинова  Р.М

 «_____» _______________2011 г.

 

 

 

 

 

 

 

 

 

 

 

Оренбург 2011

                                         Содержание

            Введение…………………………………………………………………..3

    1. Методы решения частичной проблемы собственных

значений…………………………………………………………………………..5

                1.1 Степенной метод…………………………………………………..5

    1.2 Метод скалярных произведений…………………………………7

    1. Методы многомерной оптимизации………………………………...8

                2.1 Метод расходящегося ряда……………………………………….8

            3. Метод Девидона – Флетчера – Пауэлла…………………………….10

Заключение……………………………………………………………...13

Список используемых источников…………………………………….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)

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

 

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

Задачи:

разработать и реализовать  алгоритмы следующих методов:

- степенной метод;

- метод расходящегося ряда;

- метод  Девидона-Флетчера-Пауэлла.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    1.  Методы решения частичной проблемы собственных

 значений

Пусть наибольшее по модулю собственное значение матрицы А  lвещественное и простое. Предположим, что собственные числа матрицы пронумерованы следующим образом:

Для нахождения l1 выберем Y(0)  — начальный вектор. Y(0)  следует выбирать так, чтобы коэффициент l1 в разложении Y(0) =l1x1+l2x2+…lnx не был бы слишком мал. Здесь x1, x2,…, xn — собственные векторы, так что Axi=lixi, i=1,…,n. Y(0) выбирается опытным путем.

Далее строится последовательность векторов Y(1), Y(2),… по формуле Y(k+1)=AY(k).

    1.  Степенной метод.

Рассмотрим простейший метод решения частичных проблем  собственных значений.

Пусть о вещественной 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) от итерации к итерации будет давать все большее хорошее приближение к собственному вектору x по направлению.

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).

                            

 

 

 

 

 

 

 

 

 

 

 

 

    1. Методы многомерной оптимизации

 

2.1 Метод расходящегося  ряда.

 

 Градиент функции в некоторой точке направлен в сторону наискорейшего возрастания функции и ортогонален линии уровня в этой точке. Находясь в очередной точке и каждый раз выбирая в качестве направления движения градиент (или антиградиент - вектор противоположной направленности), мы приходим к итерационному процессу возрастания (убывания) функции. Этот итерационный процесс можно выразить следующей формулой:

где - параметр, определяющий длину и направление очередного шага;

-grad   - антиградиент функции в текущей точке.

Вектор  задает направление убывания функции в точке x, если .

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

  ,где   -grad

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

Начиная с некоторого x0 , строится последовательность такая, что  , при всех .

 Критерием остановки  итерационной последовательности  являются обычно следующие неравенства:

      или      ║grad .

 

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

 

Алгоритм  метода расходящегося ряда.

  1. Задаём точку начального приближения , - точность результатов. На первом шаге считаем k:=1,задаем с.
  2. Вычисляем значение αk=c/(k+1), находим точку следующего приближения , где hk значение антиградиента функции в точке xk.
  3. Проверяем критерий остановки. Если норма градиента в точке xk+1 меньше ε, то останавливаемся, иначе увеличиваем k на единицу и возвращаемся к пункту 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.  Метод  Девидона – Флетчера – Пауэлла.

 

Рассмотрим алгоритм Девидона–Флэтчера–Пауэлла (Д-Ф-П) минимизации дифференцируемой функции нескольких переменных.

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

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

Стратегия метода ДФП состоит в построении последовательности точек , k=0,1…, таких, что . Точки последовательности вычисляются по правилу:

                                   (1)

где есть матрица размера nxn, которая вычисляется по правилу:

                                                   (2)

,                                           (3)

Информация о работе Sp-алгоритм метода решений частичных проблем собственных значений. Градиентный метод расходящегося ряда. Метод Девидона-Флетчера- Пауэлла