Курсовая работа
«Численные методы в экономике»
Тема: «Итерационный метод решения проблемы собственных значений»
Новосибирск, 2010
Введение
В данной курсовой работе рассмотрен итерационный метод решения проблемы собственных значений. Сходимость итерационного процесса может быть очень медленной. Причиной этого является наличие нелинейного элементарного делителя, соответствующего первому собственному числу. Другая причина – это близость второго собственного числа к первому. В этом случае можно ускорить сходимость несколькими методами. Одним из них является метод скалярных произведений, который рассмотрен в данной работе.
В методе скалярных произведений число итераций, необходимых для определения максимального собственного числа матрицы, с данной точностью, сокращается почти вдвое.
математический итерационный метод программный
1. Математическая постановка задачи Этот метод особенно удобен в применении к симметричной матрице, однако попробуем изложить его без этого предположения. В основе метода лежат последовательности итераций вектора Y0 матрицами A и A’, транспонированной с А. Эти последовательности имеют следующий вид:
Y0, Y1=A*Y0, Y2=A2*Y0, …, Yk=Ak*Y0, … (1)
Y0, Y’1=A’*Y0, Y’2=A’2*Y0, …, Y’k=A’k*Y0, … (2)
Пусть b1, …, bn координаты вектора Y0 в базисе X’1, …, X’n, a1, …, an координаты Y0 в базисе X1, …, Xn. При этом предположим, что базисы выбраны так, что система векторов X1, X2, …, Xn и X’1, …, X’n удовлетворяет условиям ортогональности и нормированности.
Образуем скалярное произведение (Y’k, Yk):
(Y’k, Yk)=(A’k*Y0, Ak*Y0)=(Y0, A2k*Y0)=(b1*X’1+ … +bn*X’n, a1*l2k1*X1+ … + + an*l2kn*Xn)
Далее в силу свойств ортогональности и нормированности системы векторов имеем:
(Y’k, Yk)=a1*b1*l2k1+ … + an*bn*l2kn (3).
Аналогично:
(Y’k-1, Yk)=a1*b1*l2k-11+ … + an*bn*l2k-1n (4).
Можно видеть, что из равенств (3) и (4) получаем:
(Y’k, Yk)/(Y’k-1, Yk) = l1 + O(l2/l1)2k.
Из этой оценки видно, что образование скалярного произведения сокращает число шагов итераций, нужных для определения максимального собственного l1, с данной точностью, почти вдвое. Однако при этом требуется дополнительное вычисление последовательности (2).
Следует отметить, что в случае симметричной матрицы, последовательности (1) и (2) совпадают, и поэтому в этом случае применение метода скалярного произведения особенно целесообразно. Начиная с некоторого шага итерации, нужно вычислять соответствующие скалярные произведения и определять l1 через их отношения.
2. Описание программного обеспечения Программа, реализующая рассматриваемый метод, разработана в среде МаtLab, предназначенной для выполнения математических операций. Она состоит из головной программы и 2х подпрограмм, вызываемых из основной программы.
Головная программа (main.m)
В основной программе задается начальное приближение yn, начальное значение собственного вектора L1 и значение допустимой ошибки ed.
Текст программы:
clc %очистка экрана
yn=[1; 1; 1; 1]; %задание начального приближения собственного вектора
L1= -5.5251;%начальное значение собственного числа матрицы
ed=0.00001; %значение допустимой ошибки
trace=1; %установка режима вывода на экран
[mout, Lout, yout]= sobstv ('fun', yn, L1, ed, trace);%вызов функции, реализующей метод скалярных произведений
plot (mout, Lout) %вывод графика значений собственного числа заданной матрицы за время итерационного процесса
pause;
plot (mout, yout)%вывод графика значений собственного вектора, соответствующего собственному числу
Подпрограмма sobstv.m
В данной подпрограмме происходит вычисление максимального собственного числа и соответствующего ему собственного вектора. ............