Курсовая работа: Знаходження власних значеннь лінійого оператора
Название: Знаходження власних значеннь лінійого оператора Раздел: Рефераты по математике Тип: курсовая работа |
Міністерство освіти і науки України ФАКУЛЬТЕТ ІНФОРМАТИКИ КАФЕДРА ІНФОРМАЦІЙНИХ УПРАВЛЯЮЧИХ СИСТЕМ ТА ТЕХНОЛОГІЙ Реєстраційний №________ Дата ___________________ КУРСОВА РОБОТА Тема: Знаходження власних значень лінійного оператора Рекомендована до захисту “____” __________ 2008р. Робота захищена “____” __________ 2008р. з оцінкою _____________________ Підписи членів комісії Зміст Вступ Теоретична частина 1. Означення і найпростіші властивості лінійних операторів 2. Матриця лінійного оператора 3. Власні вектори й власні значення лінійного оператора Практична частина 1. Опис програми 2. Текст програми 3. Контрольний приклад Висновок Список літератури
Вступ Власні значення грають при вивченні лінійних операторів дуже велику роль. Нехай в дійсному лінійному просторі задан лінійний оператор . Якщо вектор , відмінний від нуля, переводиться оператором у вектор, пропорційний самому , , де – деяке дійсне число, то вектор називається власним вектором оператора , а число – власним значенням цього оператора, причому, власний вектор відноситься до власного значення . Обертання евклідової площини навколо початку координат на кут, що не являється кратним , є прикладом лінійного оператора, що не має власних векторів. Прикладом іншого випадку є розтягнення площини, при якому всі вектори, що виходять з початку координат, причому всі нульові вектори площини будуть для нього власними; всі вони відносяться до власного значення 5.
Теоретична частина
1. Означення і найпростіші властивості лінійних операторів В теорії лінійних просторів та її застосування важливу роль відіграють лінійні оператори, які інакше називають лінійними перетвореннями. Нехай – деякий векторний простір над полем . Означення 1. Вважають, що у векторному просторі задано оператор, якщо вказано правило (закон), за яким кожному вектору простору ставиться у відповідність деякий вектор цього ж простору. Про цьому вектор називають образом вектора , а називають прообразом вектора . Як бачимо, оператор у векторному просторі – це функція, множиною відправлення і множиною прибуття якої є простір . Означення 2. Оператор у векторному просторі називається лінійним, якщо він задовольняє такі умови: Лінійні оператори в просторі називають також лінійним перетворенням простору . З означення 2 випливають безпосередньо такі властивості лінійних операторів: 1. Будь-який лінійний оператор у просторі залишає нерухомим нульовий вектор цього простору, тобто . 2. Всякий лінійний оператор у просторі протилежному вектору – будь-якого вектора , ставить у відповідність вектор, протилежний образу вектора , тобто . 3. Кожен лінійний оператор у просторі будь-який лінійний комбінації довільно вибраних векторів простору ставить у відповідність лінійну комбінацію (з тими самими коефіцієнтами) образів цих векторів, тобто .
2. Матриця лінійного оператора
Нехай – деякий лінійний оператор у просторі . Виберемо в який-небудь базис . Оператор відображає вектори цього базису в деякі вектори . Кожен вектор єдиним способом лінійно виражається через вектори базису . Припустимо, що
Складемо з коефіціентів матрицю . Рядками матриці є координатні рядки векторів в базисі . Оскльки координатні рядки векторів визначені однозначно, то й матриця визначається оператором в базисі . Будемо вважати, що в базисі лінійний оператор задається матрицею . Отже, при зафіксованому базисі кожному лінійному оператору простору відповідає певна квадратна матриця -го порядку – матриця цього оператора. 3. Власні вектори й власні значення лінійного оператора
Означення 1. Підпростір лінійного простору називається інваріантним відносно оператора , якщо , тобто якщо образ будь-якого вектора із міститься в . Нехай –одновимірний підпростір простору , а –деякий лінійний оператор цього простору. Підпростір , як відомо, породжується будь-яким своїм вектором , тобто є сукупністю всіх векторів виду , де – будь яке число з поля Р. Якщо підпростір інваріантний відносно оператора , то , тобто , де –деяке число з поля Р. Тоді й для будь-якого вектора підпростору , бо , і тому . Означення 2. Вектор , що заддовільняє співвідношення , де називається власним вектором оператора , а число – власним значенням оператора , що відповідає власному вектору . Отже, якщо одглвимірний підпростір простору інваріантний відносно лінійного оператора , то всі вектори цього підпростору є власними векторами оператора з тим самим власним значенням оператора . Практична частина
1. Опис програми
n – вимірність матриці; m – максимальне допустиме число ітерацій; e – точність; a – на вході – двовимірний масив елементів матриці А, на виході матриця А блочно-діагональна, причому блоки розміри 1х1 містять дійсні власні значення, блоки розміру 2х2 містять комплексні власні значення, записані в стовпцях (рядках) для правих (лівих) власних векторів; t – двовимірний масив власних векторів А; b – цілочислова змінна. Лінійний оператор потрібно задати за допомогою матриці. 2. Текст програми uses crt; const dim=10; type ar=array[1..dim,1..dim]of real; var ff:text; i100,j100,n100,b,m:integer; e:real; a,t:ar; procedure eigen(n,m:integer;e:real;var a,t:ar;var b:integer); var c,c1,c2,co,ch,d,e1,f,g,h,p,r,s,s1,s2,si,sh,x,y:real; i,j,k,n1,q:integer; u,v,w,z:boolean; function zn(x:real):integer; begin if x<0 then zn:=-1 else zn:=1; end; begin u:=false;v:=u;w:=u;n1:=n-1;e1:=sqrt(e); if b<>0 then begin if b<0 then v:=true else w:=true; for i:=1 to n do for j:=1 to n do if i=j then t[i,j]:=1 else t[i,j]:=0; end; for q:=1 to m do begin if u then begin b:=1-q; exit; end; i:=1; z:=false; repeat j:=i+1; repeat if(abs(a[i,j]+a[j,i])>e1) or (abs(a[i,j]-a[j,i])>e1) and (abs(a[i,i]-a[j,j])>e1) then z:=true; j:=j+1; until (j>n) or z; i:=i+1; until (i>n1) or z; if not z then begin b:=q-1; exit; end; u:=true; for k:=1 to n1 do for j:=k+1 to n do begin h:=0; g:=0; f:=0; y:=0; for i:=1 to n do begin x:=sqr(a[i,k]);d:=sqr(a[i,j]); y:=y+x-d; if (i<>k) and (i<>j) then begin h:=h+a[k,i]*a[j,i]-a[i,k]*a[i,j]; p:=x+sqr(a[j,i]); r:=d+sqr(a[k,i]); g:=g+p+r; f:=f-p+r; end; end; h:=2*h; d:=a[k,k]-a[j,j]; p:=a[k,j]+a[j,k]; r:=a[k,j]-a[j,k]; if abs(p)<=e then begin c:=1; s:=0; end else begin x:=d/p; c:=x+zn(x)*sqrt(1+x*x); s:=zn(x)/sqrt(1+c*c); c:=s*c; end; if y<0 then begin x:=c; c:=s; s:=-x; end; co:=c*c-s*s; si:=2*s*c; d:=d*co+p*si; h:=h*co-f*si; x:=(r*d-h/2)/(g+2*(r*r+d*d)); if abs(x)<=e then begin ch:=1; sh:=0; end else begin ch:=1/sqrt(1-x*x); sh:=ch*x; end; c1:=ch*c-sh*s; c2:=ch*c+sh*s; s1:=ch*s+sh*c; s2:=-ch*s+sh*c; if (abs(s1)>e)or(abs(s2)>e) then begin u:=false; for i:=1 to n do begin p:=a[k,i];a[k,i]:=c1*p+s1*a[j,i]; a[j,i]:=s2*p+c2*a[j,i]; if v then begin p:=t[k,i]; t[k,i]:=c1*p+s1*t[j,i]; t[j,i]:=s2*p+c2*t[j,i]; end; end; for i:=1 to n do begin p:=a[i,k];a[i,k]:=c2*p-s2*a[i,j]; a[i,j]:=-s1*p+c1*a[i,j]; if w then begin p:=t[i,k];t[i,k]:=c2*p-s2*t[i,j]; t[i,j]:=-s1*p+c1*t[i,j]; end; end; end; end; end; b:=m; end; begin clrscr; write('введите максимальное количество итераций');read(m); write('введите точность');read(e); assign(ff,'vlasn.dat'); reset(ff); read(ff,n100); for i100:=1 to n100 do for j100:=1 to n100 do read(ff,a[i100,j100]); b:=0; eigen(n100,m,e,a,t,b); for i100:=1 to n100 do begin for j100:=1 to n100 do write(a[i100,j100],' '); writeln; end; writeln; writeln(b); readkey; end. 3. Контрольний приклад
При e=10-8 і m=50 для матриці за 7 ітерацій знайдено власні значення Тобо отримали такі власні значення , ,
Висновок
Таким чином, задача знаходження інваріантних відносно оператора одновимірних підпросторів простору рівнозначна задачі згаходження власних векторів оператора . Список літератури
1. А. Г. Курош «Курс высшей алгебры», «Наука», Москва 1975 2. С. Т. Завало, В. М. Костарчук, Б. И. Хацет «Алгебра и теория чисел», Том 1,«Высшая школа», Киев 1974 3. С. Т. Завало, В. М. Костарчук, Б. И. Хацет «Алгебра и теория чисел», Том 2,«Высшая школа», Киев 1976 |