-
Sveučilǐste u ZagrebuPrirodoslovno-matematički fakultet
Matematički odsjek
Nevena Jakovčević Stor
Točan rastav svojstvenih vrijednostistreličastih matrica i
primjene
Doktorska disertacija
Voditelji: dr. sc. Ivan Slapničar, red. prof.
dr. sc. Zlatko Drmač, red. prof.
Zagreb, 2011.
-
Ova disertacija je predana na ocjenu Matematičkom odsjeku
Prirodoslovno-matematičkog fakulteta Sveučilǐsta u Zagrebu u
svrhu stjecanja znanstvenog stupnjadoktora prirodnih znanosti iz
područja matematike.
-
Hvala mom voditelju prof. dr. sc. Ivanu Slapničaru na
predloženoj temi, tevelikoj pomoći i podršci tijekom izrade
disertacije.
Hvala prof. dr. sc. Zlatku Drmaču i prof. dr. sc. Vjeranu
Hariju za brojnekorisne primjedbe, savjete i ugodnu suradnju.
Hvala mojoj obitelji, kolegama i prijateljima na strpljenju,
razumijevanju ipodršci.
-
Sadržaj
1 Uvod 5
2 Svojstveni rastav simetričnih streličastih matrica 11
2.1 Osnovni pojmovi i oznake . . . . . . . . . . . . . . . . . .
. . . . . . 11
2.2 Svojstvene vrijednosti i svojstveni vektori . . . . . . . .
. . . . . . . . 13
2.3 Svojstveni rastav streličastih matrica . . . . . . . . . .
. . . . . . . . 15
2.3.1 Definicija simetrične streličaste matrice . . . . . . .
. . . . . . 15
2.3.2 Svojstva svojstvenih vrijednosti streličastih matrica . .
. . . . 16
2.3.3 Računanje svojstvenih vrijednosti . . . . . . . . . . . .
. . . . 19
2.3.4 Računanje svojstvenih vektora . . . . . . . . . . . . . .
. . . . 22
2.4 Analiza greške zaokruživanja (dodatak) . . . . . . . . . .
. . . . . . . 27
3 Algoritam aheig (ideja, kod, primjeri) 31
3.1 Definicija i osnovna svojstva . . . . . . . . . . . . . . .
. . . . . . . . 31
3.2 Mali primjer . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 36
3.3 Algoritam aheig - kod . . . . . . . . . . . . . . . . . . .
. . . . . . . 41
3.4 ”Lijepi” primjer . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 46
3.5 Veliki primjer . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 49
4 Točnost svojstvenog rastava izračunatog algoritmom aheig
55
4.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 55
4.2 Veza točnosti svojstvenih vrijednosti matrica A i Ai . . .
. . . . . . . 58
4.3 Točnost svojstvenih vektora . . . . . . . . . . . . . . . .
. . . . . . . 64
4.4 Točnost bisekcije . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 67
5 Točnost svojstvenih vrijednosti matrice Ai = A− diI 715.1
Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . 71
-
4 SADRŽAJ
5.2 Točnost elemenata matrice A−1i . . . . . . . . . . . . . .
. . . . . . . 71
5.3 Točnosti svojstvenih vrijednosti matrice Ai . . . . . . . .
. . . . . . . 75
5.4 Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 81
6 Kondicije svojstvenih vrijednosti 99
6.1 Definicija kondicija . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 100
6.2 Algoritam aheig s dodatnom preciznošću . . . . . . . . . .
. . . . . . 104
6.3 Što ako µi nije svojstvena vrijednost matrice Ai najbliža
nuli? . . . . 113
6.4 Zanimljiv primjer . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 120
6.5 Brzine . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 126
7 Perturbacije svojstvenog rastava 129
7.1 Perturbacije svojstvenih vrijednosti . . . . . . . . . . . .
. . . . . . . 129
7.2 Petrubacije svojstvenih vektora . . . . . . . . . . . . . .
. . . . . . . 140
8 ”Divide and conquer” (Podijeli, pa vladaj) 145
8.1 Osnovna ideja . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 146
8.2 Algoritam dc t2a . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 151
8.3 Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 153
8.4 Deflacija . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 162
8.4.1 Osnovna ideja . . . . . . . . . . . . . . . . . . . . . .
. . . . . 162
8.4.2 Wilkinsonova matrica 21 . . . . . . . . . . . . . . . . .
. . . . 166
8.5 Simetrične ”diagonal-plus” semiseparabilne matrice . . . .
. . . . . . 170
9 Hermitske streličaste matrice-primjena algoritma aheig
173
9.1 Opis algoritma herm2aheig . . . . . . . . . . . . . . . . .
. . . . . . 174
9.2 Točnost algoritma herm2aheig . . . . . . . . . . . . . . .
. . . . . . 175
9.3 Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 178
Bibliografija 180
Sažetak 187
Summary 189
Životopis 191
-
Poglavlje 1
Uvod
U ovom radu bavit ćemo se računanjem točnog svojstvenog
rastava simetričnih
streličastih matrica, te korǐstenjem tako izračunatog
svojstvenog rastava za računanje
svojstvenog rastava hermitskih streličastih matrica i
simetričnih tridijagonalnih ma-
trica.
Detaljno ćemo opisati i analizirati novi algoritam za
računanje svojstvenog ras-
tava simetričnih streličastih matrica koji, uz odredene
uvjete, sve svojstvene vrijed-
nosti i sve komponente pripadnih svojstvenih vektora računa s
visokom relativnom
točnošću. Ortogonalnost na ovaj način izračunatih
svojstvenih vektora slijedi iz
njihove točnosti, a ne iz eventualne naknadne ortogonalizacije.
Pri tom se svaka
svojstvena vrijednost i njen pripadni svojstveni vektor
računaju nezavisno pa, ako
želimo, možemo računati samo pojedine svojstvene parove koji
su nam u odredenom
trenutku zanimljivi.
Simetrična streličasta matrica A ima nule na svim mjestima
osim na glavnoj
dijagonali D = diag(d1, . . . , dn−1), u jednom retku zT i
jednom stupcu z:
A =
[D zT
z α
].
Problemi kod kojih računamo svojstveni rastav takvih matrica
česti su u praksi
(npr. Fermijeve tekućine, unutarmolekularni prijenos energije,
teorija vibracija). U
tim aplikacijama red n matrice A može biti jako velik.
U radu pretpostavljamo da se računanje vrši s aritmetikom
plivajućeg zareza
s točnošću stroja εM (prema [24, 2.4]).
-
6 Uvod
Postojeći algoritmi ([35]) za računanje svojstvenog rastava
simetričnih streliča-
stih matrica ortogonalnost izračunatih svojstvenih vektora
oslanjaju na ([25, Lema
2.1]), prema kojoj se, na osnovi izračunatih svojstvenih
vrijednosti i elemenata di-
jagonale D zadane matrice, formira nova simetrična streličasta
matrica, odnosno
izračunaju se novi z i α, čije su to točne svojstvene
vrijednosti, pa su i pripadni
svojstveni vektori ortogonalni. Tako izračunati svojstveni
vektori su, dakle, točni
svojstveni vektori matrice koja je malo “pomaknuta” u odnosu na
početnu. Naš
je algoritam koncepcijski drugačiji: točnost svojstvenih
vektora i njihova ortogonal-
nost proizlaze iz točnosti svojstvenih vrijednosti zadane
matrice, pa nema potrebe
za naknadnom ortogonalizacijom. Takoder, nema potrebe za
deflacijom, osim u
slučaju potpuno jednakih elemenata na dijagonali.
Ovakav algoritam moguće je dalje uklopiti u algoritme za
računanje “širih”
klasa matrica, npr. hermitskih streličastih i simetričnih
tridijagonalnih ([25]), kod
kojih se garancija točnosti izračunatih svojstvenih parova
streličastih matrica, nastalih
iz originalnih simetričnih tridijagonalnih matrica, još vǐse
naglašava.
U radu su dani ideja, opis i kod novog algoritma, analiza
točnosti, te konkretni
primjeri. Kroz niz novih teorema i korolara bit će dokazane
tvrdnje o točnosti
izračunatog svojstvenog rastava.
Novi algoritam, koji ćemo prezentirati u ovom radu, kao svoju
najveću pred-
nost ima, pod odredenim uvjetima, garantiranu visoku relativnu
točnost svojstvenog
rastava simetričnih streličastih matrica. Moguće je točno
odrediti koliko je točna
pojedina svojstvena vrijednost i njen pripadni svojstveni
vektor, te odgovoriti na
pitanje da li je pojedini svojstveni par uopće moguće
izračunati “potpuno” točno
i uz koliki napor (npr. sa povećanom preciznošću koristeći
“symbolic precision” u
Matlabu ili “quad precision” u Fortranu). Tako izračunat
svojstveni rastav, ili samo
pojedini svojstveni parovi mogu, osim u teoriji, biti vrlo
zanimljivi u praktičnim
primjenama u kojima je potrebna dokazana preciznost, ili svih
svojstvenih vrijed-
nosti i svojstvenih vektora ili samo pojedinih.
U prvom, uvodnom poglavlju, opisujemo sadržaj i organizaciju
rada. U dru-
gom poglavlju uvodimo osnovne oznake, navodimo temeljene
definicije i teoreme
-
7
bitne za računanje svojstvenog rastava simetričnih matrica.
Definiramo simetričnu
nereducibilnu uredenu streličastu matricu, dajemo njena osnovna
svojstva, svo-
jstva njenog svojstvenog rastava, te opisujemo jedan od
uobičajenih načina ([35])
računanja tog rastava.
Računanje svojstvenih vrijednosti i vektora streličaste
matrice često je potrebno
u mnogim praktičnim primjenama u kojima se pojavljuje sama
streličasta matrica,
ali je i važan dio mnogih (složenijih) algoritama. U trećem
poglavlju opisujemo i
analiziramo novi algoritam, koji smo nazvali aheig (arrowhead
eigenvalues/vectors)
i koji, za razliku od postojećih algoritama (jedan od kojih je
opisan u drugom
poglavlju), gotovo uvijek računa sve svojstvene vrijednosti i
sve komponente pri-
padnih svojstvenih vektora s visokom relativnom točnošću.
Algoritam prilikom
računanja koristi matrice ”pomaknute” u dijagonalnim elementima
Ai = A − diI,
točnije, inverze tih matrica. Bit algoritma aheig je da se
većina svojstvenih vrijed-
nosti računa kao najveća svojstvena vrijednost neke
streličaste matrice, pa iz stan-
dardne teorije smetnje (vidi korolar 2.1) slijedi velika
relativna točnost izračunatih
svojstvenih vrijednosti. Osim opisa algoritma u trećem poglavju
navodimo i nekoliko
ilustrativnih primjera, te kod algoritma. Jedan od primjera je i
praktična primjena
našeg algoritma u kvantnoj optici.
U četvrtom poglavlju detaljno ćemo analizirati algoritam
aheig, te kroz niz
novih teorema i korolara dati vezu izmedu točnosti svojstvenih
vrijednosti matrica
Ai i svojstvenih vrijednosti zadane matrice A. Dokazat ćemo i
točnost svojstvenih
vektora izračunatih algoritmom aheig. Takoder ćemo se
pozabaviti točnošću bisek-
cije koju koristimo za rješavanje sekularne jednadžbe, te
posebno točnošću bisekcije
za algoritam aheig.
U petom poglavlju detaljnije ćemo se baviti točnošću s kojom
smo izračunali
µ, neku svojstvenu vrijednost matrice Ai = A − diI. Odgovorit
ćemo na pitanje o
čemu sve ta točnost ovisi i kolika je za pojedine svojstvene
vrijednosti (posebno za
onu najbližu nuli) matrice Ai. Takoder ćemo pokazati na koji
način točnost kojom
je izračunata neka svojstvena vrijednost matrice Ai ovisi o
tome koliko smo točno
izračunali matricu A−1i , preciznije njen element b na ”vrhu”
strijele.
-
8 Uvod
Ostalo je neodgovoreno pitanje kako prepoznati potencijalno
problematične
matrice, odnosno kako znati koji će se svojstveni parovi
sigurno točno izračunati, a
koji ne, te kako ”popraviti” one za koje nemamo početnu
garanciju točnosti. Ideja
nam je, dakle, da za zadanu matricu izračunamo (na jednostavan
i brz način) neko-
liko vrijednosti (nazivat ćemo ih kondicijama) koje bi u sebi
nosile informacije o tome
za koje svojstvene vrijednosti (i kao posljedicu toga svojstvene
vektore) izračunate
našim algoritmom možemo garantirati da su poptuno točne (do
na točnost stroja).
Za one za koje to ne možemo garantirati, želimo, takoder na
temelju kondicija,
odgovoriti na pitanje na koji ih način točnije izračunati.
Izrazi po kojima kondicije
računamo formirani su na osnovi teorema i korolara iz četvrtog
i petog poglavlja.
Dakle, u šestom poglavlju prvo ćemo definirati kondicije, a
zatim ćemo njihovo
funkcioniranje pogledati na primjerima i usporediti sa tvrdnjama
prethodnih teo-
rema i korolara. Napomenimo da su za veliku većinu simetričnih
streličastih matrica
sve kondicije dobre, što znači da možemo garantirati potpunu
točnost većine svo-
jstvenih vrijednosti odredene matrice. Ipak, mi ćemo se kroz
primjere vǐse baviti
onim matricama kod kojih postoji neki problem, jer su oni kao
takvi, zanimljiviji i
jer želimo otkriti što se zapravo dogada i kako dolazi do
odredene greške.
U sedmom poglavlju povezat ćemo rezultate dobivene računanjem
svojstvenog
rastava algoritmom aheig sa klasičnom teorijom perturbacije
svojstvenog rastava
hermitskih matrica. Analizirat ćemo, kroz teoriju i primjere,
rezultate dobivene
primjenom algoritma aheig za γ-skalirano dijagonalno dominantne
matrice. Zbog
drugačije logike algoritma ne možemo isključiti korǐstenje
dodatne preciznosti kod
matrica koje su dobro skalirane iz čega se vidi da su naši
rezultati bitno drugačijeg
tipa od standardnih rezultata teorije perturbacija i numeričke
analize.
U osmom poglavlju algoritam aheig koristimo za računanje
svojstvenog rastava
simetričnih tridijagonalnih matrica i to tako da ga uklopimo u
”divide and conquer”
algoritam. Novi algoritam nazvali smo dc t2a. U njemu prvo
zadanu simetričnu
tridijagonalnu matricu ortogonalnim transformacijama svodimo na
streličastu ma-
tricu, a zatim svojstveni rastav te novonastale streličaste
matrice računamo primjen-
jujući aheig algoritam. Točnost svojstvenih vrijednosti i
ortogonalnost svojstvenih
vektora možemo garantirati samo u slučaju kada su kondicije
svih streličastih ma-
-
9
trica čiji svojstveni rastav u algoritmu računamo dobre i kada
kvocijenti zbroja i
razlike apsolutnih vrijednosti dijagonalnih elementa nisu jako
veliki, dok točnost
komponenti svojstvenih vektora ne možemo garantirati.
U devetom poglavlju algoritam aheig koristimo za računanje
svojstvenog ras-
tava hermitskih streličastih matrica na način da zadanu
matricu unitarnim trans-
formacijama svodimo na realnu simetričnu streličastu matricu
čiji svojstveni rastav
računamo algoritmom aheig. Kako je perturbacija pri svodenju
zadane hermitske
matrice na realnu simetričnu mala i pojavljuje se samo u
komponentama vektora
z to se sačuva garancija točnosti za svojstveni rastav zadane
matrice, ako imamo
garanciju točnosti svojstvenog rastava pripadne realne
simetrične streličaste matrice.
Cilj ovog rada je točno računanje svojstvenog rastava
simetričnih streličastih
matrica. Tvrdimo da predstavljeni algoritam, uz odredene uvjete
koje detaljno
analiziramo, radi upravo to, dakle računa s visokom relativnom
točnošću svojstvene
vrijednosti i pripadne svojstvene vektore, koji su onda zbog
svoje točnosti i ortogo-
nalni. Algoritam kao takav moguće je ukopiti i u algoritme za
računanje svojstvenog
rastava “šire” klase matrica, npr. simetričnih tridijagonalnih
matrica ili hermit-
skih streličastih matrica, za što takoder dajemo opis, analizu
i kod algoritma, te
konkretne primjere.
-
10 Uvod
-
Poglavlje 2
Svojstveni rastav simetričnihstreličastih matrica
U ovom poglavlju uvodimo osnovne oznake, te navodimo temeljene
definicije
i teoreme bitne za računanje svojstvenog rastava simetričnih
matrica. Definiramo
simetričnu nereducibilnu uredenu streličastu matricu, dajemo
njena osnovna svo-
jstva, svojstva njenog svojstvenog rastava, te opisujemo jedan
od uobičajenih načina
računanja tog rastava.
2.1 Osnovni pojmovi i oznake
Na početku uvedimo osnovne oznake koju ćemo koristiti.
Polje realnih brojeva ćemo označavati s R. Skalarne veličine
ćemo najčešće
označavati malim grčkim slovima. Vektorski prostor svih
matrica s elementima iz
R tipa n× n ćemo označavati s Rn×n. Vektore i matrice ćemo
uglavnom označavati
s pomoću malih i velikih latinskih slova, respektivno.
Neka je x ∈ Rn n-dimenzionalni vektor kojeg označavamo s x =
[xi], ili
x =
x1...xn
,pa je i-ta komponenta od x jednaka xi. Neka je, dalje, A ∈
Rn×n, n × n matrica
-
12 Svojstveni rastav simetričnih streličastih matrica
koju označavamo s A = [aij], ili
A =
a11 . . . a1n... ...an1 . . . ann
,gdje je aij element matrice na mjestu (i, j). Ponekad ćemo
koristiti i Matlab-ove
oznake:
x(i) = xi,
x(i : j) =
xi...xj
,A(i, j) = aij,
A(i : j; k : l) =
aik . . . ail... ...ajk . . . ajl
,A(:, k : l) = A(1 : m, k : l),
A(i : j, :) = A(i : j, 1 : n).
S Ik označavamo jediničnu matricu reda k, a s 0k nul matricu
reda k. Stupce
jedinične matrice označavat ćemo s e1, e2, . . ..
Transponiranu matricu matrice A
ćemo označavati s AT . Oznaka A−1 će predstavljati inverznu
matricu matrice A.
Skalarni produkt je standardni skalarni produkt u Rn:
⟨x, y⟩ = xTy =n∑
i=1
xiyi.
Koristimo i Euklidsku normu vektora
∥x∥2 =√xTx,
te matrične norme:
∥A∥2 = max∥x∥2=1∥Ax∥2 ,
∥A∥∞ = max1≤i≤n
n∑j=1
|aij| ,
∥A∥F =√
trag (ATA) =
√√√√ n∑i=1
n∑j=1
a2ij.
-
2.2 Svojstvene vrijednosti i svojstveni vektori 13
Napomena 2.1 Jer radimo u aritmetici konačne preciznosti,
numerički izračunate
vrijednosti označavat ćemo sa ˜, a egzaktne vrijednosti sa ˆ.
Dakle, vrijednost x
izračunatu u aritmetici konačne preciznosti označavat ćemo s
x̃, a egzaktnu s x̂.
Jediničnu grešku zaokruživanja računala označavat ćemo s
εM . U nastavku ćemo
podrazumijevati da je svaki ε (uz bilo koji gornji/donji indeks)
omeden s εM u ter-
minima apsolutne vrijednosti, ako nije drugačije rečeno.
2.2 Svojstvene vrijednosti i svojstveni vektori
Ako za A ∈ Rn×n vrijedi
Av = λv, v ∈ Rn, v ̸= 0, λ ∈ R,
tada je λ svojstvena vrijednost od A i za svaki nenula skalar α
vektor αv je svojstveni
vektor koji pripada svojstvenoj vrijednosti λ. Zajedno (λ, αv)
čine svojstveni par od
A.
Skup svih svojstvenih vrijednosti matrice A ∈ Rn×n nazivat ćemo
spektar
matrice A i označavati sa
σ (A) = {λ1, . . . , λn} .
Mi ćemo pretpostavljati da je A ∈ Rn×n simetrična matrica, pa
je njen svojstveni
rastav
A = V ΛV T ,
gdje su Λ = diag(λ1, . . . , λn) svojstvene vrijednosti u
padajućem poretku, V =
[v1, . . . , vn] ∈ Rn×n je ortogonalna , V TV = I, pod uvjetom
da su svojstveni vektori
normirani (nenormirane svojstvene vektore označavat ćemo s x,
pa je vi =xi
∥xi∥2).
Navest ćemo sada nekoliko osnovnih teorema iz teorije
svojstvenog rastava
simetričnih matrica koje ćemo se kasnije u radu koristiti.
Teorem 2.1 (Courant-Fischer, Minimax teorem [24, teorem 8.1.2])
Neka je A ∈
Rn×n simetrična matrica tada je
λk (A) = maxdim(S)=k
min0̸=y∈S
yTAy
yTy
za k = 1, . . . , n.
-
14 Svojstveni rastav simetričnih streličastih matrica
Teorem 2.2 (Gershgorin [24, teorem 8.1.3]) Neka je A ∈ Rn×n
simetrična matrica
i Q ∈ Rn×n ortogonalna matrica. Ako je
QTAQ = D + F
gdje je D = {d1, . . . , dn} i F ima nule na dijagonali, tada
je
λ (A) ⊆n∪
i=1
[di − ri, di + ri]
gdje je ri =n∑
j=1
|fij| za i = 1, . . . , n.
Teorem 2.3 (Wielandt-Hoffman [24, teorem 8.1.4]) Neka su A i A +
E ∈ Rn×n
simetrične matrice. Tada je
n∑i=1
[(λi (A+ E)− λi (A)]2 ≤ ∥E∥2F .
Teorem 2.4 ([24, Teorem 8.1.5]) Neka su A i A + E ∈ Rn×n
simetrične matrice.
Tada je
λk(A) + λn(E) ≤ λk(A+ E) ≤ λk(A) + λ1(E), k = 1, . . . , n.
Korolar 2.1 ([24, Korolar 8.1.6]) Neka su A i A+ E ∈ Rn×n
simetrične matrice.
Tada je
|λk(A+ E)− λk(A)| ≤ ∥E∥2 , k = 1, . . . , n.
Teorem 2.5 (Cauchy, teorem o svojstvu preplitanja [24, teorem
8.1.7]) Neka je
A ∈ Rn×n simetrična matrica i Ar = A (1 : r, 1 : r). Tada
je
λr+1 (Ar+1) ≤ λr (Ar) ≤ λr (Ar+1) ≤ . . . ≤ λ2 (Ar+1) ≤ λ1 (Ar)
≤ λ1 (Ar+1)
za r = 1, . . . , n− 1.
Teorem 2.6 (Sylvester, teorem o inerciji [24, teorem 8.1.17])
Neka je A ∈ Rn×n
simetrična matrica i X ∈ Rn×n nesingularna matrica. Tada A i
XTAX imaju istu
inerciju.
-
2.3 Svojstveni rastav streličastih matrica 15
2.3 Svojstveni rastav streličastih matrica
U ovom poglavlju definiramo simetričnu nereducibilnu uredenu
streličastu ma-
tricu, dajemo njena osnovna svojstva, svojstva njenog
svojstvenog rastava, te opisu-
jemo jedan od uobičajenih načina računanja tog rastava.
2.3.1 Definicija simetrične streličaste matrice
Simetrična streličasta matrica A ima nule na svim mjestima
osim na glavnoj
dijagonali, u jednom retku i jednom stupcu. Označimo prvih (n−
1) elemenata
na dijagonali s d1, . . . , dn−1, elemente retka (stupca) koji
nije nula s ζ1, . . . ζn−1, te
element na ”vrhu” strijele s α.
A =
d1 0 0 . . . 0 ζ10 d2 0 . . . 0 ζ20 0 d3 . . . 0 ζ3...
......
. . ....
...0 0 0 . . . dn−1 ζn−1ζ1 ζ2 ζ3 . . . ζn−1 α
. (2.3.1)
Dakle, D = diag(d1, . . . , dn−1) je dijagonalna matrica reda
(n− 1),
z =[ζ1 · · · ζn−1
]Tje vektor, a α ∈ R skalar.
Danu streličastu matricu možemo, zbog invarijantnosti
svojstvenih vrijednosti
sličnih matrica, ”presložiti” kako nam je najpogodnije za
daljnji račun. Bez gubitka
općenitosti možemo smatrati da su redak i stupac koji nisu
nule zadnji redak i
stupac.
Promatrat ćemo, dakle, matricu oblika
A =
[D zzT α
].
Dijagonalne elemnte d1, . . . , dn−1 možemo složiti u
padajućem ili rastućem poretku.
U našem algoritmu i ostatku rada odabrali smo padajući poredak
dijagonalnih ele-
menata
d1 ≥ d2 ≥ · · · ≥ dn−1,
a iznimno, samo u ovom poglavlju, pretpostavljat ćemo da
vrijedi
d1 ≤ d2 ≤ · · · ≤ dn−1
-
16 Svojstveni rastav simetričnih streličastih matrica
radi poštivanja izvornih oznaka u [35].
Zbog simetričnosti matrice A, njene se svojstvene vrijednosti
mogu izračunati
pozivajući neki od standardnih programa za računanje
svojstvenog rastava simetričnih
matrica (npr. EISPACK [43] ), dakle bez korǐstenja posebne
strukture streličastih
matrica. Takvi programi obično počinju s početnim
reduciranjem zadane matrice
na tridijagonalnu formu. Alternativa, koju u nastavku opisujemo
(vidi [35]), ko-
risti specijalnu strukturu streliačaste matrice A. Preciznije,
rješavanjem jednadžbe
(2.3.3) računamo svojstvene vrijednosti matrice A. Takav
algoritam zahtjeva O (n2)
operacija i O (n) memorije. Iako je ideja u osnovi jednostavna i
koristi se za
rješavanje svojstvenog problema i nekih drugih specijalnih
struktura matrica (vidi:
[6],[7],[16] ), treba biti pažljiv i pokazati da je račun
(algoritam) stabilan.
2.3.2 Svojstva svojstvenih vrijednosti streličastih matrica
Započnimo sa specijalnim slučajem. Ako u zadnjem stupcu
postoji nula, npr.
ζi = 0, tada je dijagonalni element di svojstvena vrijednost
matrice A čiji je svo-
jstveni vektor i− ti jedinični vektor. Pokažimo to:
Ako je
A =
d1 0 . . . 0 0 0 . . . 0 ζ10 d2 . . . 0 0 0 . . . 0 ζ2...
.... . .
......
.... . .
......
0 0 . . . di−1 0 0 . . . 0 ζi−10 0 . . . 0 di 0 . . . 0 00 0 . .
. 0 0 di+1 . . . 0 ζi+1...
.... . .
......
.... . .
......
0 0 . . . 0 0 0 . . . dn−1 ζn−1ζ1 ζ2 . . . ζi−1 0 ζi+1 . . .
ζn−1 α
.
Permutiranjem, pa je razvijanjem po prvom stupcu dobijamo
detA = di · detApi,
gdje je
Api = A([1 : i− 1, i+ 1 : n] , [1 : i− 1, i+ 1 : n]).
(2.3.2)
Tada je
A · ei = di · ei,
-
2.3 Svojstveni rastav streličastih matrica 17
gdje je ei i− ti jedinični vektor.
Za računanje ostalih svojstvenih vrijednosti možemo smanjiti
veličinu prob-
lema računajući sada svojstvene vrijednosti matrice Api. Tako
nastavljamo sve dok
ne dobijemo matricu čiji su svi elementi ζj različiti od nule.
Takvu streličastu ma-
tricu zovemo nereducibilnom.
Napomena 2.2 Za sada ćemo nereducibilnom zvati matricu kojoj su
svi elementi
ζj ̸= 0. Kasnije, kod opisa algoritma aheig, to ćemo
postrožiti i reduciranom
simetričnom streličastom matricom smatrati onu simetričnu
streličastu matricu kod
koje su svi elementi ζj ̸= 0 ∀j i di ̸= dj, ∀i ̸= j, i, j = 1, .
. . , n− 1.
Osnovna saznanja o svojstvenim vrijednostima streličaste
matrice dana su u
sljedećem teoremu.
Teorem 2.7 ([35]) Neka je A uredena nereducibilna streličasta
matrica oblika
(2.3.1). Neka je
d0 < min{d1 − |ζ1| , . . . , dn−1 − |ζn−1| , α−n−1∑i=1
|ζi|}
i
dn > max{d1 + |ζ1| , . . . , dn−1 + |ζn−1| , α +n−1∑i=1
|ζi|}.
Ako je
di−1 < di = · · · = di+k < di+k+1, za i = 1, . . . n− 2 i
k > 0,
onda je di svojstvena vrijednost od A vǐsestrukosti k. Za svaki
par različitih uza-
stopnih dijagonalnih elemenata di−1 < di postoji jedinstvena
svojstvena vrijednost λi
od A za koju vrijedi di−1 < λ < di, i sve takve svojstvene
vrijednosti zadovoljavaju
jednakost
φA (λi) = 0
gdje je
φA (λ) = α− λ−n−1∑i=1
ζ2idi − λ
. (2.3.3)
-
18 Svojstveni rastav simetričnih streličastih matrica
Dokaz. Neka su λ1 ≤ · · · ≤ λn svojstvene vrijednosti od A. Po
teoremu 2.5
svojstvene vrijednosti od A isprepliću se sa svojstvenim
vrijednostima matrice An.
An =
d1 0 . . . 0 0 0 . . . 00 d2 . . . 0 0 0 . . . 0...
.... . .
......
.... . .
...0 0 . . . di−1 0 0 . . . 00 0 . . . 0 di 0 . . . 00 0 . . . 0
0 di+1 . . . 0...
.... . .
......
.... . .
...0 0 . . . 0 0 0 . . . dn−1
je dobivena brisanjem zadnjeg retka i zadnjeg stupca u A. Prema
tome, vrijedi
λ1 ≤ d1 ≤ λ2 ≤ · · · ≤ dn−1 ≤ λn. (2.3.4)
Po teoremu 2.2 je d0 < λ1 i λn < dn. Ova nejednakost odmah
implicira tvrdnju o
vǐsestrukim svojstvenim vrijednostima.
Slijedeće što ćemo pokazati je da je λ ∈ R, koji je različit
od svih di, svojstvena
vrijednost od A akko je φA (λ) = 0.
Neka je λ svojstvena vrijednost od A. Tada vrijedi det (A− λI) =
0, tj.∣∣∣∣∣∣∣∣∣∣∣
d1 − λ 0 0 . . . ζ10 d2 − λ 0 . . . ζ20 0
. . . . . ....
......
... dn−1 − λ ζn−1ζ1 ζ2 . . . ζn−1 α− λ
∣∣∣∣∣∣∣∣∣∣∣= 0.
Ako prvi redak ove determinante pomnožen s ζ1/ (d1 − λ)
oduzmemo od zadnjeg
retka, zatim drugi redak pomnožen s ζ2/ (d2 − λ) oduzmemo od
zadnjeg retka i tako
dalje do predzadnjeg retka, dobivamo jednadžbu∣∣∣∣∣∣∣∣∣∣∣
d1 − λ 0 0 . . . ζ10 d2 − λ 0 . . . ζ20 0 d3 − λ . . .
......
......
. . . ζn−10 0 0 . . . φA (λ)
∣∣∣∣∣∣∣∣∣∣∣= 0.
Ova determinanta je produkt elemenata na dijagonali, a kako je
di−λ ̸= 0, ∀i, mora
biti φA (λ) = 0. I suprotno, ako je φA (λ) = 0 tada je i det (A−
λI) = 0.
-
2.3 Svojstveni rastav streličastih matrica 19
Sada pretpostavimo da je di−1 < di gdje je 1 < i < n.
Za λ koji je blizu di−1,
a ipak od njega veći vrijedi (sjetimo se da je ζi ̸= 0)
φA (λ) ≈ζ2i
di−1 − λ> 0. (2.3.5)
Za λ koji je blizu di, a ipak od njega manji vrijedi
φA (λ) ≈ζ2i
di − λ< 0. (2.3.6)
Iz toga slijedi da φA (λ) mora promijeniti predznak na intervalu
(di−1, di) i točka
u kojoj se to dogodi je svojstvena vrijednost. Nejednakost
(2.3.4) osigurava da se
promjena predznaka dogodi samo jednom na svakom intervalu.
Ostaje još pokazati da postoji svojstvena vrijednost manja od
d1 i svojstvena
vrijednost veća od dn−1.
Ako je λ blizu d1, ali je od nje manja vrijedi
φA (λ) ≈ζ21
d1 − λ< 0.
S druge strane, kako λ → −∞ imamo φA (λ) = −λ > 0. Dakle, φA
(λ) mjenja
predznak na (−∞, d1). Slično se pokaže da φA (λ) mora
promijeniti predznak na
(dn−1,∞). �
Teorem pokazuje da svojstvene vrijednosti koje odgovaraju
ponavljajućim ele-
mentima na dijagonali možemo pronaći pregledom elemenata
dijagonale. Ostale svo-
jstvene vrijednosti se nalaze strogo izmedu di-ova i
zadovoljavaju jednakost φA (λ) =
0. Kako se φA (λ) lako računa, ovo nam ukazuje na to da za
računanje svojstvenih
vrijednosti od A koristimo neku od metoda za nalaženje korijena
jednadžbe. Jednu
takvu metodu opisujemo u nastavku ovog poglavlja.
2.3.3 Računanje svojstvenih vrijednosti
Sada ćemo računati svojstvene vriijednosti λi koje leže
izmedu di−1 i di, uz
pretpostavku da su elementi dijagonale medusobno različiti.
Prema (2.3.5) i (2.3.6),
ako je λ ∈ (di−1, di) i φA (λ) > 0, tada je λ < λi. Ako je
φA (λ) < 0, tada
je λ > λi. Ovo nas vodi na računanje λi s pomoću bisekcije.
Pseudo kod koji
-
20 Svojstveni rastav simetričnih streličastih matrica
slijedi daje takav algoritam, koji računa interval [b, c]
duljine najvǐse eps, koji sadrži
λ. Sredina intervala uzima se kao aproksimacija svojstvene
vrijednosti. Varijabla
eps je zadana tolerancija i mora biti veća od nule. phi je
potprogram koji računa
vrijednost funkcije φA (λ).
Algoritam 2.1
a=d(i-1)
b=d(i)
while (b-a .gt. eps)
c=(a+b)/2
phic=phi(c)
if (phic .eq. 0)
a=b=c
exit
if (phic .lt. 0)
b=c
else
a=c
endif
end while
lambda=(a+b)/2
U svakom se koraku algoritma veličina intervala (a, b) u kojem
se nalazi svo-
jstvena vrijednost reducira na pola.
U slučaju vǐsestrukih svojstvenih vrijednosti, postoji
pojednostavljenje. Ako
je di−1 ≤ di = · · · = di+k ≤ di+k+1 izrazi+k∑j=i
ζ2jdj − λ
u (2.3.3) prelazi u izrazi+k∑j=i
ζ2j
di − λ.
-
2.3 Svojstveni rastav streličastih matrica 21
Dakle, ako djelujemo na retke i stupce koji odgovaraju
vrijednostima di+1, . . . , di+k,
i zamjenimo ζi si+k∑j=i
ζ2j vrijednost od φA (λ) se neće promjeniti. Kada imamo
puno
svojstvenih vrijednosti koje se ponavljaju to može rezultirati
velikim uštedama u
računanju φA.
Na kraju iteracije imamo brojeve a i b udaljene najvǐse eps
takve da je phi(a)
nenegativno, a phi(b) nepozitivno. phi i φA nisu ista funkcija,
jer je phi izračunato
s greškom zaokruživanja. Pokazat ćemo sada da je efekt te
greške zaokruživanja
zanemariv.
Pretpostavit ćemo da je cijeli račun izveden s osnovnom
greškom zaokruživanja
εM . Preciznije, pretpostavit ćemo da je rezultat bilo koje
operacije tražena vrijed-
nost s relativnom greškom εM . Npr., u računanju na 10
decimalnih znamenki, εM
je približno 10−10.
Može se dokazati (vidi poglavlje 2.3.6) da za n > 2, εM <
0.001 i nεM < 0.1 ,
vrijedi
phi (λ) = φA+H (λ)
gdje je
|hin| = |hni| ≤ 1.06n |ζi| εM , i = 1, . . . , n− 1, (2.3.7)
i
|hnn| ≤ 1.06n(|α|+ |λ|)εM . (2.3.8)
Ostali elementi od H su nula.
Ovi rezultati pokazuju da kako god izračunamo φA (λ) to je ista
vrijednost
koju bi dobili da smo proveli egzaktan račun s malo
peturbiranom matricom
à = A+H.
Prema korolaru 2.1 ovakva perturbacija može pomaknuti
svojstvene vrijednosti od
A najvǐse za
|λk(A+H)− λk(A)| ≤ ∥H∥2 , k = 1, . . . , n.
Vrijedi općenito
∥H∥2 ≤√
∥H∥1 ∥H∥∞,
-
22 Svojstveni rastav simetričnih streličastih matrica
∥H∥1def= max
j
∑i
|hij| ,
∥H∥∞def= max
i
∑j
|hij| ,
pa za simetričnu streličastu matricu H vrijedi
∥H∥2 ≤ ∥H∥∞ .
Iz (2.3.7) i (2.3.8) i defincije od ∥H∥∞ slijedi
∥H∥∞ ≤ 1.06n(|α|+ |λ|+∑i
|ζi|)εMdef= η (λ) ,
odnosno svojstvene vrijednosti λ̃i od A+H zadovoljavaju
izraz∣∣∣λ̃i − λi∣∣∣ ≤ η (λ) . (2.3.9)Primjenimo sada ove rezultate
na izlazne vrijednosti a i b u algoritmu 2.1. Iz analize
greške zaokruživanja imamo φA+H (a) ≥ 0. Kako je A + H uredena
nereducibilna
streličasta matrica s dijagonalnim elementima di, njena i− ta
svojstvena vrijednost
mora biti veća ili jednaka a. Iz (2.3.9) slijedi da je λi ≥ a −
η (a). Slično se
argumentira da je λi ≤ b + η (b). Drugim rječima, naš
algoritam bilo bisekcija, ili
složenija kombinirana metoda, uvijek daje brojeve a i b takve
da vrijedi
λi ∈ [a− η (a) , b+ η (b)] ∩ (di−1, di) .
2.3.4 Računanje svojstvenih vektora
Pokazat ćemo sada kako izračunati svojstvene vektore uredenih
nereducibilnih
streličastih matrica. Već smo spomenuli da ako je ζi = 0, onda
je di svojstvena
vrijednost i njen svojstveni vektor je i − ti jedinični vektor.
Promatrat ćemo prvo
svojstvene vektore koji pripadaju jednostrukim svojstvenim
vrijednostima. Neka je
vi svojstveni vektor koji odgovara svojstvenoj vrijednosti λi.
Pretpostavimo da je
normiran tako da mu je n− ta komponenta v(n)i jednaka 1. Iz
jednadžbe Avi = λivi,
-
2.3 Svojstveni rastav streličastih matrica 23
ili raspisano
d1 0 . . . 0 0 0 . . . 0 ζ10 d2 . . . 0 0 0 . . . 0 ζ2...
.... . .
......
.... . .
......
0 0 . . . dj−1 0 0 . . . 0 ζj−10 0 . . . 0 dj 0 . . . 0 ζj0 0 .
. . 0 0 dj+1 . . . 0 ζj+1...
.... . .
......
.... . .
......
0 0 . . . 0 0 0 . . . dn−1 ζn−1ζ1 ζ2 . . . ζj−1 ζj ζj+1 . . .
ζn−1 α
v(1)i
v(2)i......
v(j)i......
v(n−1)i
1
= λi
v(1)i
v(2)i......
v(j)i......
v(n−1)i
1
slijedi
d1 · v(1)i + ζ1 = λiv(1)i
d2 · v(2)i + ζ2 = λiv(2)i
...
dn−1 · v(n−1)i + ζn−1 = λiv(n−1)i
pa su ostale komponente od vi dane sa
v(j)i =
ζjλi − dj
, j = 1, . . . n− 1.
Kako je di−1 < λi < di nazivnici su različiti od
nule.
Osnovna poteškoća s ovim formulama je što moramo koristiti
približnu svo-
jstvenu vrijednost λ̃i umjesto točne, a to rezultira
približnim vektorom ṽi. Ako
uzmemo
δi = mink ̸=i
∣∣∣λk − λ̃i∣∣∣ ,tada za sinus kuta izmedu vi i ṽi (vidi [8])
vrijedi
sin∠ (vi, ṽi) ≤
∥∥∥(A− λ̃iI) ṽi∥∥∥δi ∥ṽi∥
,
-
24 Svojstveni rastav simetričnih streličastih matrica
gdje je ∥·∥ uobičajena Euklidska norma. Kako je
(A− λ̃iI
)ṽi =
d1 − λ̃i 0 . . . 0 ζ1
0 d2 − λ̃i . . . 0 ζ2...
.... . .
......
0 0 . . . dn−1 − λ̃i ζn−1ζ1 ζ2 . . . ζn−1 α− λ̃i
ṽ(1)i
ṽ(2)i...
ṽ(n−1)i
1
=
(d1 − λ̃i
)· ṽ(1)i + ζ1
· · ·(dn−1 − λ̃i
)· ṽ(n−1)i + ζn−1
ζ1 · ṽ(1)i + . . . ζn−1 · ṽ(n−1)i + α− λ̃i
=
(d1 − λ̃i
)· ζ1λ̃i−d1
+ ζ1
· · ·(dn−1 − λ̃i
)· ζn−1λ̃i−dn−1
+ ζn−1
ζ1 · ζ1λ̃i−d1 + . . . ζn−1 ·ζn−1
λ̃i−dn−1+ α− λ̃i
=
0· · ·0
φA
(λ̃i
) ,
vrijedi
sin∠ (vi, ṽi) ≤
∣∣∣φA (λ̃i)∣∣∣δi
√1 +
n−1∑j=1
(ṽ(j)i
)2 .
Kako naš algoritam računa intervale u kojima se nalaze
svojstvene vrijednosti, donju
granicu od δi možemo dobiti iz rubova intervala.
Svojstveni vektori vi+1, . . . , vi+k koji pripadaju svojstvenoj
vrijednosti λ =
di = di+1 = · · · = di+k vǐsestrukosti k su nula na svim
mjestima osim mjesta od
i do i + k. Iz zadnjeg retka jednadžbe Av = λv slijedi da te
komponete moraju
zadovoljavati izraz
ζiv(i)j + ζi+1v
(i+1)j + . . .+ ζi+kv
(i+k)j = 0, j = i+ 1, . . . , i+ k.
-
2.3 Svojstveni rastav streličastih matrica 25
Primjer 2.1 Neka je zadana matrica
A =
2 0 0 0 −10 1 0 0 20 0 1 0 10 0 0 1 −2−1 2 1 −2 5
Jer je d2 = d3 = d4 = 1 to je λ = 1 dvostruka svojstvena
vrijednost matrice A. Njoj
pripadni svojstveni vektori (v2 i v3) moraju imati nule na
mjestima v(1)2 i v
(1)3 , te v
(5)2
i v(5)3 i mora vrijediti
ζ2v(2)2 + ζ3v
(3)2 + ζ4v
(4)2 = 0
ζ2v(2)3 + ζ3v
(3)3 + ζ4v
(4)3 = 0.
Svojstvene vrijednosti matrice A (izračunate Matlabovom ([32])
naredbom eig) su:
λ1 = −0.691677735102250
λ2 = 1
λ3 = 1
λ4 = 1.922107138860042
λ5 = 6.769570596242209
dok su svojstveni vektori:
Ueig =
Stupci 1 do 3
1.795174282935727e-01 0 0
-5.712708215922911e-01 -6.662592174811274e-01
-3.341469896273067e-01
-2.856354107961455e-01 6.674800745452191e-01
-6.658522651264305e-01
5.712708215922913e-01 -3.325191802085178e-01
-6.670731221905217e-01
4.832030648006245e-01 0 0
Stupci 4 do 5
-9.666064121756780e-01 -1.828812097502805e-01
-1.633036680177382e-01 3.023673343032698e-01
-
26 Svojstveni rastav simetričnih streličastih matrica
-8.165183400886969e-02 1.511836671516349e-01
1.633036680177382e-01 -3.023673343032698e-01
-7.529173904059335e-02 8.722648406301418e-01.
Dosad poznati algoritmi za računanje svojstvenog rastava
simetričnih streličastih
matrica svoju točnost i posebice ortogonalnost izračunatih
svojstvenih vektora temelje
na sljedećoj lemi.
Lema 2.1 ([25]) Neka je zadan skup brojeva{λ̂i
}ni=1
i neka je zadana dijagonalna
matrica D = diag(d1, . . . , dn−1) takvi da vrijedi
λ̂1 < d1 < λ̂2 < . . . < dn−1 < λ̂n.
Tada postoji simetrična streličasta matrica
Ĥ =
[D ẑẑT α̂
]čije su
{λ̂i
}ni=1
svojstvene vrijednosti . Vektor ẑ i skalar α̂ su dani sa:
|ẑi| =
√√√√√(di − λ̂1)(λ̂n − di) i−1∏j=2
(λ̂j − di
)(dj − di)
n−1∏j=i
(λ̂j − di
)(dj+1 − di)
, (2.3.10)
α̂ = λ̂1 +n∑
j=2
(λ̂j − dj
), (2.3.11)
gdje predznak od ẑi biramo po volji.
Primjer 2.2 Neka je zadan skup brojeva
Λ = {−3, 0, 12, 300}
i neka je zadana dijagonalna matrica D = diag(−1, 5, 100).
Prema formulama (2.3.10) i (2.3.11) možemo izračunati
vrijednosti
|ẑ| = [ 3.593632065075933 12.0379516821490 137.4524409673364
]
i
α̂ = 205
-
2.4 Analiza greške zaokruživanja (dodatak) 27
te formirati matricu
A =
−10−2 0 0 3.593632065076
0 10−10 0 12.0379516821490 0 1 137.452440967336
3.5936320650759 12.037951682149 137.452440967336 205
čije su svojstvene vrijednosti upravo brojevi iz skupa Λ.
Dakle, prema ovoj lemi, izračunate svojstvene vrijednosti
simetrične streličaste
matrice su točne svojstvene vrijednosti neke druge bliske
simetrične streličaste ma-
trice, pa su zato pripadni svojstveni vektori ortogonalni, iako
to nisu nužno točni
svojstveni vektori zadane matrice.
Novi algoritam, koji opisujemo u nastavku, ortogonalnost
izračunatih svo-
jstvenih vektora temelji na točnosti izračunatih svojstvenih
vrijednosti.
2.4 Analiza greške zaokruživanja (dodatak)
Osnovna pretpostavka: operacija a+ b je u stvari (a+ b) (1 + ε),
gdje je |ε| ≤
εM .
Radi jednostavnosti zapisa izraz oblika
(1 + ε1) (1 + ε2) · · · (1 + εj)(1 + εj+1) (1 + εj+2) · · · (1 +
εk)
.
zamjenit ćemo s ogradom koja ne sadrži j. Neka je ⟨k⟩
općeniti simbol za takav
izraz. Očito je ⟨k⟩ ⟨l⟩ = ⟨k + l⟩.
U vrednovanju φA (λ) prvo treba izračunati α−λ što ima
vrijednost (α− λ) ⟨1⟩.
Slijedeće računamoζ21
(d1−λ) , što dajeζ21 ⟨3⟩(d1−λ) .
Oduzimanjem dobivamo:
(α− λ) ⟨2⟩ − ζ21 ⟨4⟩
d1 − λ,
Računanjem i oduzimanjem slijedećeg razlomka dobivamo:
(α− λ) ⟨3⟩ − ζ1 ⟨5⟩d1 − λ
− ζ1 ⟨4⟩d2 − λ
.
-
28 Svojstveni rastav simetričnih streličastih matrica
Kada je φ konačno izračunato imamo
(α− λ) ⟨n⟩ − ζ21 ⟨n+ 2⟩d1 − λ
− ζ22 ⟨n+ 1⟩d2 − λ
− · · · −ζ2n−1 ⟨4⟩dn−1 − λ
.
Ako sad definiramo
α̃ = α ⟨n⟩ − λ (⟨n⟩ − 1)
i
ζ̃i = ζi ⟨n− i+ 3⟩12 ,
tada cijeli račun odgovara egzaktnom računanju za streličastu
matricu à formiranu
iz α̃, ζ̃i i di. Ostaje odrediti granicu za elemente od H = Ã−
A.
Počinjemo sa hnn = (α− λ) (1− ⟨n⟩). Ako je εM < 0.001 i nεM
< 0.1 tada
vrijedi:
Ako je
εM < 0.001
tada je
(1− εM)−1 < 1 +εM0.999
jer je
(1− εM)−1 = 1 + εM + ε2M + ε3M + . . .
= 1 + εM(1 + εM + ε
2M + . . .
)= 1 + εM (1− εM)−1
< 1 +εM0.999
.
Dalje vrijedi
|⟨n⟩ − 1| <(1 +
εM0.999
)n− 1
jer je
⟨n⟩ = (1 + ε1) (1 + ε2) · · · (1 + εj)(1 + εj+1) (1 + εj+2) · ·
· (1 + εn)
<1
(1− ε1) (1− ε2) · · · (1− εn)
=1
(1− εM)n
<(1 +
εM0.999
)n,
-
2.4 Analiza greške zaokruživanja (dodatak) 29
pa je
|⟨n⟩ − 1| <∣∣∣(1 + εM
0.999
)n− 1∣∣∣ .
Vrijedi
n ln(1 +
εM0.999
)< n
εM0.999
,
jer je
(1 + x) < ex
ln (1 + x) < x ln e
ln (1 + x) < x
odnosno (1 +
εM
0.999
)n< en
εM0.999 ,
pa vrijedi (1 +
εM
0.999
)n< en
εM
0.999 < 1 +nε
M
0.999
[1 +
nεMen
εM0.999
1.998
].
Zadnja nejednakost slijedi iz Taylorovog teorema:
ex = 1 + x+x2
2!+
x3
3!+ . . .
= 1 + x
(1 +
x
2!+
x2
3!+ . . .
)= 1 + x
(1 +
x
2!
(1 +
x
3+ . . .
))= 1 + x
(1 +
x
2!ex)
za
x =nε
M
0.999.
Tražena nejednakost slijedi iz ocjenjivanja[1 +
nεMen
εM0.999
1.998
]· 10.999
, za nεM < 0.1
[1 +
nεMen
εM0.999
1.998
]· 10.999
< 1.06
Dakle, vrijedi
|1− ⟨n⟩| ≤ 1.06nεM .
-
30 Svojstveni rastav simetričnih streličastih matrica
odnosno
|hnn| ≤ 1.06n (|α|+ |λ|) εM .
Slično možemo pokazati da je
|hin| ≤∣∣∣1− ⟨n− i+ 3⟩ 12 ∣∣∣ |ζi|
≤∣∣∣1− (1 + 1.06 (n− i+ 3) εM) 12 ∣∣∣ |ζi|
≤∣∣∣∣1− (1 + 1.06 (n− i+ 3) εM2 )
∣∣∣∣ |ζi|≤ 1.06nεM |ζi| .
Zadnja nejednakost vrijedi za n ≥ 2.
-
Poglavlje 3
Algoritam aheig (ideja, kod,primjeri)
U ovom poglavlju opisujemo i analiziramo novi algoritam aheig
(arrowhead
eigenvalues/vectors) koji, za razliku od dosadašnjih
algoritama, gotovo uvijek računa
sve svojstvene vrijednosti i sve komponente pripadnih
svojstvenih vektora s visokom
relativnom točnošću. Algoritam prilikom računanja koristi
matrice ”pomaknute”
u dijagonalnim elementima, Ai = A − diI, točnije, inverze tih
matrica, pa većinu
svojstvenih vrijednosti računa kao najveće svojstvene
vrijednosti neke streličaste
matrice. Iz točnosti izračunatih svojstvenih vrijednosti
slijedi točnost, a onda i
ortogonalnost svojstvenih vektora. Osim opisa algoritma, te
prikaza kako algoritam
radi na jednom malom, jednostavnom primjeru, u ovom poglavju
dajemo i kod
algoritma. Na kraju opisujemo ”realan primjer” praktične
primjene našeg algoritma
u kvantnoj optici.
O točnosti algoritma i uvjetima u kojima možemo garanirati
odredenu točnost
detaljno ćemo govoriti u poglavljima 4, 5 i 6.
3.1 Definicija i osnovna svojstva
Započet ćemo s definicijom i osnovnim svojstvima simetrične
streličaste ma-
trice.
-
32 Algoritam aheig (ideja, kod, primjeri)
Neka je
A =
[D zzT α
](3.1.1)
n× n realna simetrična streličasta matrica, pri čemu je
D = diag(d1, d2, . . . , dn−1) dijagonalna matrica reda (n− 1)
,
z =[ζ1 ζ2 · · · ζn−1
]Tvektor i
α skalar.
Simetričnu streličastu matricu A reda n zvat ćemo reduciranom
ako je
ζi ̸= 0, ∀i
i
di ̸= dj, ∀i ̸= j, i, j = 1, . . . , n− 1
U protivnom provodimo deflaciju i to na sljedeći način.
Ako postoji neki ζi = 0, tada je di svojstvena vrijednost
matrice A i ei je njen
svojstveni vektor, a svojstveni rastav dalje računamo iz
matrice Api dane u (2.3.2).
Ako vrijedi di ̸= dj, za neke i ̸= j deflaciju provodimo tako da
Givensovim
rotacijama matricu svedemo na prvi slučaj.
Neka je zadana matrica
H =
d1 0 ζ10 d2 ζ2ζ1 ζ2 α
i neka je d1 = d2. Primjenom Givensove rotacije G na H dobije se
matrica
GHGT =
d1 0 00 d2 ζ ′20 ζ ′2 α
.Dakle, d1 je svojstvena vrijednost matrice H, a dimenzija
streličaste matrice s kojom
idemo u daljnji račun smanjena je za 1.
Bez smanjenja općenitosti možemo pretpostaviti da je ζi >
0, ∀i i da su svi
dijagonalni elementi di uredeni na način da je
d1 > d2 > · · · > dn−1.
-
3.1 Definicija i osnovna svojstva 33
U nastavku rada pretpostavljat ćemo da je streličasta
simetrična matrica A
reducirana i uredena na opisani način.
Matrica A nije singularna matrica, što se lako pokaže
direktnim razvojem,
imajući na umu da je najvǐse jedan element di jednak nuli.
Prema teoremu 2.5 o svojstvu preplitanja vrijedi
λ1 > d1 > λ2 > d2 > · · · > dn−2 > λn−1 >
dn−1 > λn, (3.1.2)
gdje su λi, i = 1, . . . , n, svojstvene vrijednosti matrice A.
Dokaz je jednostavan jer
je dijagonalna matrica D podmatrica matrice A.
Neka je dakle
A = V ΛV T (3.1.3)
svojstveni rastav od A, pri čemu je
Λ = diag(λ1, λ2, . . . , λn)
dijagonalna matrica čiji su dijagonalni elementi svojstvene
vrijednosti od A, a
V =[v1 · · · vn
]ortonormirana matrica čiji su stupci odgovarajući svojstveni
vektori matrice A.
Svojstvene vrijednosti matrice A su prema teoremu 2.7 nul točke
funkcije
φA (λ) = α− λ−n−1∑i=1
ζ2idi − λ
≡ α− λ− zT (D − λI)−1 z. (3.1.4)
Jednostavne formule za računanje vektora vi su
vi =xi
∥xi∥2, xi =
[(D − λI)−1 z
−1
], i = 1, . . . , n. (3.1.5)
Ideja algoritma aheig
Opisat ćemo sada ideju i tijek algoritma aheig.
Neka je λ svojstvena vrijednost od A, v njen pripadni svojstveni
vektor, a x
nenormirani svojstveni vektor prema (3.1.5).
Neka je di element dijagonale matrice A (u nastavku ćemo ga
zvati pol) najbliži
λ. Iz teorema 2.5 o svojstvu preplitanja direktno slijedi da je
λ = λi ili λ = λi+1.
-
34 Algoritam aheig (ideja, kod, primjeri)
Neka je sada Ai matrica ”pomaknuta” po dijagonali za pomak u
polu di,
Ai = A− diI =
D1 0 0 z10 0 0 ζi0 0 D2 z2zT1 ζi z
T2 a
, (3.1.6)gdje je
D1 = diag(d1 − di, . . . , di−1 − di) pozitivno definitna,
(3.1.7)
D2 = diag(di+1 − di, . . . , dn−1 − di) negativno definitna,
z1 =[ζ1 ζ2 · · · ζi−1
]T,
z2 =[ζi+1 ζi+2 · · · ζn−1
]T, (3.1.8)
a = α− di. (3.1.9)
Uvedimo oznaku
µ = λ− di
Ako je λ svojstvena vrijednost matrice A, onda je µ svojstvena
vrijednost matrice
Ai. i vrijedi
A−1i =
D−11 w1 0 0wT1 b w
T2 1/ζi
0 w2 D−12 0
0 1/ζi 0 0
, (3.1.10)gdje je
w1 = −D−11 z11
ζi, (3.1.11)
w2 = −D−12 z21
ζi,
b =1
ζ2i
(−a+ zT1 D−11 z1 + zT2 D−12 z2
).
Uz ove oznake x možemo zapisati kao
x =
(D1 − µI)−1 z1
−ζiµ
(D2 − µI)−1 z2−1
. (3.1.12)Stabilnošću i točnošću izračuna inverzne matrice
A−1i detaljnije ćemo se baviti u
poglavlju 5.
-
3.1 Definicija i osnovna svojstva 35
Ako je µ svojstvena vrijednost matrice Ai, onda je 1/µ
svojstvena vrijednost
matrice A−1i , a ako je λ svojstvena vrijednost matrice A
najbliža polu di, onda je µ je
svojstvena vrijednost matrice Ai najbliža nuli, iz čega
slijedi da je 1/ |µ| =∥∥A−1i ∥∥2.
Zbog ovog svojstva većinu svojstvenih vrijednosti računamo kao
najveće svojstvene
vrijednosti neke streličaste matrice, pa onda možemo
garantirati njihovu relativnu
točnost.
Napomena 3.1 Ukoliko λ nije svojstvena vrijednost matrice A
najblǐza polu di,
onda daljnji račun ovisi o udaljenosti λ od one svojstvene
vrijednosti koja je najblǐza
polu di. Ove posebne slučajeve detaljno ćemo razmotriti
kasnije.
U algoritmu aheig svojstvene vrijednosti računamo rješavanjem
sekularne jed-
nadžbe (3.1.4) za matricu A−1i koristeći bisekciju.
U ovom poglavlju želimo samo objasniti algoritam, dati kod i
pokazati kako
algoritam radi na primjerima. U poglavljima 4 i 5 dat ćemo
analizu točnosti algo-
ritma.
Tijek algoritma aheig: (poziv: [U,E] = aheig(D, z, α))
1. ULAZ: Dijagonala D, vektor z i skalar α matrice
A =
[D zzT α
]
2. Permutiramo dijagonalu, da vrijedi d1 > d2 > · · · >
dn−1
3. Glavna petlja za i = 1 : n u kojoj se za svaku svojstvenu
vrijednost λi
odreduje najbliži pol (pomak) di
4. Računamo inverznu matricu A−1i pomaknute matrice Ai = A − di
prema
(3.1.10) i (3.1.11).
5. Računamo (bisekcijom) najveću svojstvenu vrijednost matrice
A−1i (oznaka
νi) i pripadni svojstveni vektor (oznaka Ui) prema (3.1.12);
(osim u slučajevima koji
su napomeni 3.1 navedeni kao iznimke)
6. Računamo svojstvenu vrijednost λi zadane matrice A iz izraza
λi =1
νi+di
-
36 Algoritam aheig (ideja, kod, primjeri)
7. IZLAZ: Svojstvene vrijednosti E = {λ1, . . . , λn} i
svojstveni vektori U
matrice A
U nastavku ćemo algoritam objasniti na jednom jednostavnom
primjeru.
3.2 Mali primjer
Primjer 3.1 Neka je zadana matrica
A =
8 0 0 30 4 0 10 0 3 23 1 2 5
.Dakle, prema ranijim oznakama je
D =[8 4 3
], z =
[3 1 2
], α = 5.
Točne svojstvene vrijednosti ove matrice (prema Mathematici
[49]) su:
λ1 = 10.07260277508680,
λ2 = 5.000000000000000,
λ3 = 3.768124085466176,
λ4 = 1.159273139447023.
Koristeći novi algoritam aheig svojstvene bi vrijednosti
računali na sljedeći način:
Pokrenemo glavnu petlju u kojoj i ide od 1 do 4. Krenimo od
rubova.
Neka je i = 1. Računamo λ1 dakle, najveću svojstvenu
vrijednost matrice A.
U tom slučaju je pomak(shift) d1 = 8, jer je najveća
svojstvena vrijednost sigurno
najbliža polu d1, pa formiramo matricu
A1 = A− d1I =
0 0 0 30 −4 0 10 0 −5 23 1 2 −3
.Kako je λ1 > d1, slijedi da je µ1 = λ1 − d1 > 0, pa je
1/µ1 najveća svojstvena
vrijednost matrice A−11 jer je µ1 svojstvena vrijednost matrice
A1 najbliža nuli, a
-
3.2 Mali primjer 37
koja je pozitivna. Dakle, za matricu
A−11 =
0.2167 0.0833 0.1333 0.33330.0833 −0.2500 0 00.1333 0 −0.2000
00.3333 0 0 0
računamo njenu najveću svojstvenu vrijednost, i to koristeći
algoritam bisect čiji
kod slijedi u nastavku, a koji računa jednu točno odredenu
svojstvenu vrijednost i
pripadni svojstveni vektor.
Napomena 3.2 Ovo je još jedna bitna prednost našeg algoritma,
a to je da može
računati samo jednu (željenu) svojstvenu vrijednost i njen
pripadni svojstveni vektor.
Kako je ovo pokazni primjer, usporedbe radi izračunajmo sve
svojstvene vri-
jednosti matrice A−1i . One su:
ν1 = 0.4824851206513123,
ν2 = −0.1461832960714301,
ν3 = −0.2363018245798821,
ν4 = −0.3333333333333333.
Najveća svojstvena vrijednost, a ta nam je potrebna za daljni
račun, je
ν1 = 0.4824851206513123.
Njena recipročna vrijednost je
µ1 = 2.072602775086801.
Uvećajmo je još za pomak d1 = 8 i dobivamo
λ1 = 10.072602775086801.
Dakle λ1 = 10.072602775086801 je svojstvena vrijednost najbliža
polu d1 polazne
matriceA i u našem algoritmu je dobivena računanjem najveće
svojstvene vrijednosti
matrice A−11 .
-
38 Algoritam aheig (ideja, kod, primjeri)
Neka je sada i = 4. Računamo λ4, dakle, najmanju svojstvenu
vrijednost
matrice A. U tom slučaju je pomak jednak D (4− 1) = d3 = 3, jer
je najmanja
svojstvena vrijednost sigurno najbliža polu d3, pa formiramo
matricu
A3 = A− d3I =
5 0 0 30 1 0 10 0 0 23 1 2 2
.Kako je λ4 < d3, slijedi da je µ4 = λ4 − d3 < 0, pa je
1/µ4 najmanja svojstvena
vrijednost matrice A−13 jer je µ4 svojstvena vrijednost matrice
A3 najbliža nuli, a
koja je negativna. Izračunamo prvo A−13
A−13 =
0.2 0 −0.3 00 1 −0.5 0
−0.3 −0.5 0.2 0.50 0 0.5 0
.Svojstvene vrijednosti matrice A−13 su:
ν1 = 1.301872990212380,
ν2 = 0.5000000000000001,
ν3 = 0.1413906636355280,
ν4 = −0.5432636538479085.
Nas zanima najmanja svojstvena vrijednost, a to je druga po
veličini (po apsolutnoj
vrijednosti) svojstvena vrijednost,
ν4 = −0.5432636538479085.
Njena recipročna vrijednost je
µ4 = −1.840726860552977.
Uvećajmo je još za pomak D (3) = 3 i dobivamo
λ4 = 1.159273139447023.
Ostaje nam još račun za i = 2, 3. Algoritam ispituje koji je
pol najbliži svojstvenim
vrijednostima λ2 i λ3. U oba je slučaja to je pol d2 = 4, pa
računamo matricu
A2 = A− d2I =
4 0 0 30 0 0 10 0 −1 23 1 2 1
.
-
3.2 Mali primjer 39
Svojstvena vrijednost λ2 nalazi se zdesna polu d2, pa za njen
račun trebamo najveću
svojstvenu vrijednost matrice A−12 , dok se λ3 nalazi s lijeva
polu d2, pa za njen račun
trebamo najmanju svojstvenu vrijednost matrice A−12
Svojstvene vrijednosti matrice A−12 su:
ν1 = 1.000000000000000,
ν2 = 0.1646740346828804,
ν3 = −0.3520225805184731,
ν4 = −0.4.312651454164407.
Dakle, najmanja i najveća, odnosno dvije najveće po apsolutnoj
vrijednosti su:
ν1 = 1.000000000000000,
ν4 = −0.4312651454164407.
Njihove recipročne vrijednosti su:
µ1 = 1.000000000000000,
µ4 = −0.2318759145338245.
Uvećajmo ih još za pomak d2 = 4 i dobivamo:
λ2 = 5.000000000000000,
λ3 = 3.768124085466176.
Dakle λ2 = 5.000000000000000 i λ3 = 3.768124085466176 su
svojstvene vrijednosti
najbliže polu d2.
Svojstvene vrijednosti koje se dobiju pozivom [U,E] = aheig(D,
z, α) su dakle:
λaheig =
1.007260277508680e+01
5.000000000000000e+00
3.768124085466176e+00
1.159273139447022e+00
-
40 Algoritam aheig (ideja, kod, primjeri)
Pogledajmo što se pritom dogodi sa svojstvenim vektorima.
Svojstveni vektori dobiveni algoritmom aheig (napominjemo da su
to direktno
izračunati svojstveni vektori, bez naknadne ortogonalizacije)
su:
Uaheig =
Stupci 1 do 2
-8.088729002292334e-01 4.999999999999999e-01
-9.202381470788995e-02 -5.000000000000001e-01
-1.580250129521371e-01 -5.000000000000001e-01
-5.588240725692062e-01 -4.999999999999999e-01
Stupci 3 do 4
-1.367305616466262e-01 -2.775416811697782e-01
-8.318051945675938e-01 -2.227818121323537e-01
5.021990427166210e-01 -6.876221468044688e-01
1.928755902043466e-01 6.328622777670442e-01
Provjerimo njihovu ortogonalnost:
UTaheig · Uaheig =
Stupci 1 do 2
1.000000000000000e+00 0
0 1.000000000000000e+00
-1.387778780781446e-17 0
0 2.220446049250313e-16
Stupci 3 do 4
-1.387778780781446e-17 0
0 2.220446049250313e-16
1.000000000000000e+00 -8.326672684688674e-17
-8.326672684688674e-17 1.000000000000000e+00
Usporedimo to sa svojstvenim vektorima izračunatim Matlab-ovom
funkcijom
eig.
-
3.3 Algoritam aheig - kod 41
Ueig =
Stupci 1 do 2
8.088729002292330e-01 4.999999999999999e-01
9.202381470788985e-02 -5.000000000000004e-01
1.580250129521370e-01 -4.999999999999999e-01
5.588240725692063e-01 -4.999999999999998e-01
Stupci 3 do 4
1.367305616466266e-01 2.775416811697783e-01
8.318051945675936e-01 2.227818121323534e-01
-5.021990427166212e-01 6.876221468044687e-01
-1.928755902043471e-01 -6.328622777670441e-01
UTeig · Ueig =
Stupci 1 do 2
9.999999999999996e-01 -1.387778780781446e-17
-1.387778780781446e-17 1.000000000000000e+00
0 1.249000902703301e-16
-1.665334536937735e-16 -6.938893903907228e-17
Stupci 3 do 4
0 -1.665334536937735e-16
1.249000902703301e-16 -6.938893903907228e-17
1.000000000000000e+00 0
0 9.999999999999993e-01
Dakle, ”naši” svojstveni vektori su ortogonalni (čak i ”vǐse”
od Matlabovih)
i to bez naknadne ortogonalizacije. Da su potpuno točno
izračunati dokazat ćemo
kasnije.
3.3 Algoritam aheig - kod
Kod algortima aheig u Matlab-u je sljedeći:
-
42 Algoritam aheig (ideja, kod, primjeri)
Algoritam 3.1
[U,E]=aheig(D,z,a);
% Racuna svojstvene vrijendosti E i svojstvene vektore U
% strelicaste matrice A=[D z;z’ a].
n=max(size(D))+1;
% permutacija (sortiranje dijagonale)
[D,ipd]=sort(D,’descend’);
z=z(ipd);
z2=z.^2;
E=zeros(n,1);
% glavna petlja nad svojstvenim vrijednostima
for i=1:n
% Odredujemo najblzi pol (shift), i s koje strane
% pola je svojstvena vrijednost.
if i==n
% Ovdje je svojstvena vrijednost lijevo od pola pomaka.
% Trebamo izracunati najmanju (n-tu) svojstvenu vrijednost
% inverza pomaknute matrice,(jedina negativna svojstvena
vrijednost).
shift=D(n-1);
si=n-1;
eigind=n;
elseif i==1
% Ovdje je svojstvena vrijednost desno od pola pomaka
% Trebamo izracunati najvecu (1-u) svojstvenu vrijednost
% inverza pomaknute matrice, (jedina pozitivna svojstvena
vrijednost).
shift=D(1);
si=1;
eigind=1;
else
% Oprezno, prvo privremeno pomaknuti u lijevi pol
% potom izracunati vrijednost funkcije u sredini
-
3.3 Algoritam aheig - kod 43
Dtemp=D-D(i);
atemp=a-D(i);
middle=Dtemp(i-1)/2;
Fmiddle=atemp-middle-sum(z2./ (Dtemp-middle));
if Fmiddle
-
44 Algoritam aheig (ideja, kod, primjeri)
Pd=Pd(ipd,:);
% Konacan svojstveni vektor
U=Pd’*U;
Unutar algoritma aheig pozivaju se sljedeći algoritmi:
1. Algoritam invA koji računa inverznu matricu pomaknute
matrice Ai (izb-
jegavajući pri tom Matlabovu naredbu inv koja je često
problematična) i po potrebi
koristeći dodatnu preciznost (o tome će vǐse biti govora u
poglavlju 5).
Matlabov kod algortima invA je sljedeći:
Algoritam 3.2
[invD,invz,inva]=invA(D,z,a,si);
% Inverz strelicaste matrice A=[D-D(si) z;z’ a-D(si)]
% pri cemu je A(si,si)=0.
n=max(size(D))+1;
a=a-D(si);
D=D-D(si);
w1=-z(1:si-1)./D(1:si-1)/z(si);
w2=-z(si+1:n-1)./D(si+1:n-1)/z(si);
inva=(-a+sum(z(1:si-1).^2./D(1:si-1))
+sum(z(si+1:n-1).^2./D(si+1:n-1)))/z(si)^2;
invD=[(1./D(1:si-1))’ 0 (1./D(si+1:n-1))’ ]’;
invz=[w1’ 1/z(si) w2’ ]’;
2. Algoritam bisect koji računa odredenu (koju želimo)
svojstvenu vrijednost
i pripadni svojstveni vektor ulazne streličaste matrice.
Ovo nije klasični algoritam za bisekciju, već algoritam
bisekcije malo prilagoden
algoritmu aheig tako da računa samo najveću ili najmanju
svojstvenu vrijednost
streličaste matrice i to takve koja ima jedan element na
dijagonali jednak nuli.
Matlabov kod algortima bisect je sljedeći:
-
3.3 Algoritam aheig - kod 45
Algoritam 3.3
function [U,E]=bisect(D,z,a,i);
% Svojstvena vrijednnost E(i) i svojstveni vektor U(i)
strelicaste matrice A=[D z;z’ a].
n=max(size(D))+1;
[D,ipd]=sort(D,’descend’);
for j=1:n-1
if D(j)==0
ind=j;
end
end
z=z(ipd);
ipd=[ipd; n];
Pd=eye(n);
Pd=Pd(ipd,:);
z2=z.^2;
if i==n
left=min([D(n-1) a])-norm(z);
right=D(n-1);
elseif i==1
right=max([D(1) a])+norm(z);
left=D(1);
else
left=D(i);
right=D(i-1);
end
% Bisekcija
steps=0;
middle=(left+right)/2;
while (right-left)/abs(middle)>2*eps
Fmiddle=a-middle-sum(z.^2./ (D-middle));
-
46 Algoritam aheig (ideja, kod, primjeri)
if Fmiddle>0
left=middle;
else
right=middle;
end
middle=(left+right)/2;
steps=steps+1;
end
% Svojstvena vrijednost
E=right;
% Svojstveni vektor
v=[ z ./ (D-E*ones(n-1,1));-1];
U=v/norm(v);
% Vracanje permutacija
U=Pd’*U;
pp=[1:ind-1 n ind+1:n-1 ind];
Pp=eye(n);
Pp=Pp(pp,:);
U=Pp’*U;
Napomena 3.3 Algoritam aheig može se koristiti i za računanje
jedne ili neko-
liko željenih svojstvenih vrijednosti i pripadnih svojstvenih
vektora zadane streličaste
matrice, odnosno nije nužno uvijek računati cijeli svojstveni
rastav.
3.4 ”Lijepi” primjer
Pogledajmo još jedan primjer, koji će za razliku od prethodnog
primjera 3.1
biti zadan s velikim rasponom u elementima dijagonale i u
elementima vektora z. I
u ovom se slučaju svojstveni rastav potpuno točno
izračuna.
-
3.4 ”Lijepi” primjer 47
Primjer 3.2 Neka je zadana matrica
A =
2 · 10−3 0 0 0 1 107
0 10−7 0 0 2 107
0 0 0 0 3 10 0 0 −10−7 4 1070 0 0 0 −2 · 10−3 107107 107 1 107
107 1020
= [diag(D) z, zT α],
gdje je
D =[2 · 10−3 10−7 0 −10−7 −2 · 10−3
],
z =[107 107 1 107 107
]i
α = 1020.
Računajući u Matlabu i koristeći funkciju eig, dobivamo
svojstvene vrijednosti
λMatLab =
-2.001001251000111e-03
-2.004985562101759e-06
-1.000644853973479e-20
4.987562099695390e-09
1.999001249000113e-03
1.000000000000000e+20
Koristeći naš algoritam aheig dobivamo
λaheig =
-2.001001251000111e-03
-2.004985562101718e-06
-9.999999999980001e-21
4.987562099722816e-09
1.999001249000113e-03
1.000000000000000e+20
-
48 Algoritam aheig (ideja, kod, primjeri)
Svojstvene vrijednosti λ3 i λ4 izračunate algoritmom aheig su
zaista točne, do
na zadnju decimalu, što nije sa slučaj sa svojstvenim
vrijednostima izračunatima
Matlabovom narebom eig. Uspredimo dobivene svojstvene
vrijednosti s onima koje
se dobiju Mathematicom na 100 točnih znamenki.
λMath =
-2.001001251000111e-03
-2.004985562101717e-06
-9.999999999980001e-21
4.987562099722817e-09
1.999001249000113e-03
1.000000000000000e+20
Svojstveni vektori izračnati algoritmom aheig (direktno
izračunati svojstveni
vektori, bez naknadne ortogonalizacije) su:
Uaheig =
Stupci od 1 do 3
-9.999999999999998e-14 -9.999997191874168e-01
3.522369419256226e-05
-9.999999999999998e-14 4.996498551015835e-04
7.414525325484448e-01
-1.000000000000000e-20 4.996248601269505e-11
-1.412457856087195e-06
-9.999999999999998e-14 4.995998676529386e-04
-6.710053200192211e-01
-9.999999999999998e-14 2.497500393817088e-04
-3.522351851263821e-05
-1.000000000000000e+00 9.987507194252808e-14
-7.044721270476236e-15
Stupci od 4 do 6
-4.999999999985000e-11 -7.055205858867064e-04
-2.502500387423337e-04
-9.999999999969000e-07 -6.710049492936275e-01
-5.003498536470846e-04
-9.999999999989999e-01 -7.044717712985823e-08
-5.003748586216391e-11
9.999999999970999e-07 -7.414521970463428e-01
-5.003998660955646e-04
4.999999999985000e-11 7.069365639829944e-04
-9.999997183124184e-01
9.999999999970000e-21 1.412455730361881e-13
1.001250718070903e-13
-
3.5 Veliki primjer 49
To su točni svojstveni vektori, pa su zato i ortogonalni.
Provjerimo njihovu
ortogonalnosti naredbom (u Matlabu)
Oaheig = max∣∣UTaheig · Uaheig − I∣∣ .
Oaheig =
5.048709793414476e-29
1.084202072485517e-19
2.220446049250313e-16
2.220446049250313e-16
1.100867148685989e-16
2.220446049250313e-16
Za ovaj, općenito ”nezgodan”, a za naš algoritam ”lijepi”
primjer, sve se svo-
jstvene vrijendosti i svi svojstveni vektori točno izračunaju.
Točnost pojednih svo-
jstvenih vrijednosti, pa kao posljedicu toga i točnost
svojstvenih vektora, dokazat
ćemo u sljedećim poglavljima.
3.5 Veliki primjer
Opisat ćemo sada jedan realan primjer u kojem se korǐstenje
našeg algoritma,
odnosno garancija točnosti izračunatih svojstvenih vrijednosti
pokazala jako koris-
nom. Svojstvene vrijednosti koje se za ovaj primjer dobiju
primjenom Matlabove
naredbe eig nisu bile dovoljno točne za nastavak
istraživanja.
Opisat ćemo ukratko fizikalnu pozadinu primjera.
Radi se o aplikaciji streličaste matrice u kvantnoj optici na
problemu real-
nih fotonskih kristala. Predmet istraživanja su prijelazi iz
pobudenih stanja u os-
novno stanje kvantnih točkaka u realnom fotonskom kristalu.
Detaljniji opis ovog
istraživanja može se pronaći u ([34]).
Za naš algoritam bitno je sljedeće:
-
50 Algoritam aheig (ideja, kod, primjeri)
Matrica ima streličastu simetričnu strukturu
A =
∆ g1 g2 · · · gng1 ω1g2 ω2...
. . .
gn ωn
.Ovdje koristimo oznake uobičajene za fizikalne veličine koje
se pojavljuju u primjeru,
a razlikuju se od oznaka u ostatku rada:
- ∆− frekvencija prijelaza kvantne točke;
- ωi− je frekvencija optičkog moda;
- gi− konstanta interakcije kvantnih točaka s optičkim
modom.
U ovom trenutku za potrebe nastavka istraživanja potrebno je
izračunati točne
svojstvene vrijednosti matriceA. U najjednostavnijem slučajevu
frekvencije optičkog
moda su medusobno ekvidistantne. Ako sa dω označimo razmak medu
njima vrijedi
ωi = ωmin + dω · i.
Intreval u kojem se nalazi ∆ je
ωmin < ∆ < ωmax.
Kako radimo u području optike, red elemenata na dijagonali je
1015, a gj su zadani
sljedećom formulom
gj =do√hπeo
∆
c
√G(ωj)dωj = a
√G(ωj)dωj,
gdje je dωj = ωj − ωj−1.
Parametar a je približno jednak 100 do 102 . Red od G(ωj) je
takoder 100 do
102 . U osnovi G(ωj) je proporcionalan Fourierovom spektru
numerički izračunatog
vremenskog signala. Dakle, veličina matrice A i dω ovise o
rezoluciji spektra.
Općenito, jer je gi ≈√∆ωj , što imamo veću matricu, to je gi
manji.
Na primjer, za matricu čiji ulazni signal ima 219 točaka, isti
broj frekvencija
imat ćemo u spektru. Veličina matrice je promjenjiva, ali u
realnom slučaju možemo
očekivati n ≈ 103 do 104.
-
3.5 Veliki primjer 51
Prikažimo rezultate za konkretnu matricu dimenzije 2501×
2501.
g je vektor dimenzije n = 2500 s vrijednostima unutar
intervala
[4.9584253488898976e+ 06, 3.2087698694339995e+ 06].
Na dijagonali je vektor dimenzije n = 2500 s vrijednostima
unutar intervala
[5.8769928900036225e+ 14, 1.3709849013800450e+ 15].
Na mjestu A(1, 1) je element
∆ = 9.7949881500060375e+ 14.
Svojstvene vrijednosti mogu se naći korǐstenjem Matlabove eig
naredbe, ali to,
nažalost, ne daje dovoljno dobre rezultate. Bitnost pogreške
možemo donekle opisati
i brojem svojstvenih vrijednosti koje ne zadovoljavaju teorem
2.5 o svojstvu prepli-
tanja. Takvih je čak 1200 i predočene su na slici 3.1.
Vrijednošću y(λ) = 0 označene
su sve one svojstvene vrijednosti koje se nalaze u intrevalu u
kojem trebaju biti
di > λi+1 > di+1, a s vrijednošću y(λ) = 1, sve one
evidentno netočne, odnosno one
koje se ne nalaze u intervalu (di+1, di).
0 500 1000 1500 2000 25000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
svojstvene vrijendosti
Slika 3.1: Koliko dobro svojstvene vrijednosti izračunate
Matlabovom naredbom eigzadovoljavaju svojstvo o preplitanju?
Za razliku od svojstvenih vrijednosti izračunatih naredbom eig,
za svojstvene
vrijednosti izračunate algoritmom aheig teorem 2.5 o svojstvu
preplitanja je uvijek
zadovoljen, odnosno vrijedi:
-
52 Algoritam aheig (ideja, kod, primjeri)
λ1 > d1
di > λi+1 > di+1, i = 2, . . . , n− 1
dn−1 > λn
Prikaz je dan na slici 3.2. Za sve je svojstvene vrijednosti je
y(λ) = 0. Prema
0 500 1000 1500 2000 25000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
svojstvene vrijednosti
Slika 3.2: Koliko dobro svojstvene vrijednosti izračunate
algoritmom aheig zadovol-javaju svojstvo o preplitanju?
definicji kondicija koju dajemo u poglavlju 6, sve svojstvene
vrijednosti u ovom
primjeru imaju dobre kondicije. Na slici 3.3 prikazujemo
vrijednosti
max(K(i, 1), K(i, 2)), i = 1, . . . , n
Na slici 3.4 prikazan je i detaljniji prikaz na sredini spektra,
gdje su kondicije
najmanje. Prema vrijednostima kondicija, možemo garantirati da
su sve svojstvene
vrijednosti relativno (osim zadnjih nekoliko decimala)
točne.
Svojstvene vrijednosti su unutar intervala
[5.876992890003621e+ 014, 1.370984901380045e+ 015].
Brzine računanja svojstvenih vrijednosti različitih algoritama
za ovaj konkre-
tan primjer matrice A dimenzije n = 2501 dane su tablici
3.5.13.
-
3.5 Veliki primjer 53
0 500 1000 1500 2000 2500 30000
0.2
0.4
0.6
0.8
1
1.2
1.4
svojstvene vrijednosti
kond
icije
Slika 3.3: Kondicije svojstvenih vrijednosti matrice A.
1200 1220 1240 1260 1280 13000
0.2
0.4
0.6
0.8
1
1.2
1.4
Slika 3.4: Kondicije svojstvenih vrijednosti matrice A na
sredini spektra.
-
54 Algoritam aheig (ideja, kod, primjeri)
algoritam brzinaaheig (Matlab) 15seig (Matlab) 13s
aheig (Fortran) 4.2s∗
dstevr (Fortran) 0.7s
(3.5.13)
U Fortranu smo kao konkurenciju našem algoritmu uzeli dstevr
(vidi [1]) algoritam
za računanje svojstvenog rastava simetričnih tridijagonalnih
matrica koji, ukoliko je
to moguće koristi mrrr algoritam (vidi [14]). Brzina dstevr
algoritma (i naredbe
eig u Matlabu) dana je na pripadnoj tridijagonalnoj matrici (bez
uračunatog vre-
mena prebacivanja streličaste matrice u tridijagonalnu). Naš
algoritam nije posebno
optimiran (∗ uz optimizaciju 2.2s).
Napomena 3.4 Testiranje brzine algoritama obavljeno je na
računalu skromnih
kvalifikacija, Dell Optiplex (GX280), 3.0 Ghz Penitum-4
procesor, 1GB memorije,
u ubuntu sistemu, koristeći Intel Fortan i Matlab 7.0.1.
-
Poglavlje 4
Točnost svojstvenog rastavaizračunatog algoritmom aheig
U prethodnom poglavlju predstavili smo osnovnu ideju i opisali
kako radi al-
goritam aheig. U ovom poglavlju detaljno ćemo analizirati
algoritam, te kroz niz
novih teorema i korolara dati vezu izmedu točnosti svojstvenih
vrijednosti matrica
Ai i svojstvenih vrijednosti zadane matrice A. Dokazat ćemo i
točnost svojstvenih
vektora izračunatih algoritmom aheig. Takoder ćemo se
pozabaviti točnošću bisek-
cije koju koristimo za rješavanje sekularne jednadžbe
(2.3.3).
4.1 Uvod
Radi lakšeg praćenja i zbog raznolikosti problema koji se mogu
pojaviti u
primjeni našeg algoritma za početak ćemo samo navesti koja se
pitanja (problemi)
nameću iz ideje samog algoritma, a u nastavku ćemo ih
detaljnije opisati, analizirati
i ako je moguće razrješiti kroz niz teorema i korolara.
Oznake koje ćemo koristiti jednake su onima uvedenim u
prethodnim poglavljima.
Krenimo redom:
1. Veza izmedu točnosti od λi (i− ta svojstvena vrijednost
zadane matrice A)
i µi (svojstvena vrijednost matrice Ai = A − di ) tj. ako znamo
”koliko” je točan
µi kako to utječe na točnost λi = µi + di.
U algoritmu aheig, kako je u poglavlju 3 opisano, svojstvenu
vrijednost λi,
-
56 Točnost svojstvenog rastava izračunatog algoritmom
aheig
zadane streličaste simetrične matrice A dobivamo uvećanjem
svojstvene vrijednosti
µi matrice Ai za di, pa želimo dokazati da je (ili preciznije,
kada je) to stablino,
tj, ako znamo koliko točno je izračunat µi, što se može
zaključiti o točnosti λi. O
ovome govore teorem 4.1, te korolari 4.1, 4.2, 4.3, 4.4, i
4.5.
2. Točnost svojstvenih vektora
Ako znamo koliko su točni µi, kako to utječe na točnost
svojstvenih vektora
zadane matrice A. Svojstveni vektori matrice Ai jednaki su
svojstvenim vekotrima
zadane matrice A, pa ih računamo po formuli (3.1.5), dakle
eventualna greška u
λi na njih ne utječe jer ih možemo izračunati iz µi. Teorem
4.2 govori o točnosti
svojstvenih vektora izračunatih po formuli (3.1.5), uz poznatu
točnost od µi.
3. Što je s točnošću same bisekcije?
Za računanje svojstvenih vrijednosti matrice A−1i koristimo
metodu bisekcije.
Kolika je točnost izračunatih svojstvenih vrijednosti? O tome
govore teorem 4.3 i
korolari 4.6, 4.7, 4.8 i 4.9.
Gornja tri problema razradit ćemo u ovom poglavlju dok ovaj
posljednji,
četvrti, ostavljamo za poglavlje 5.
4. Kolika je točnost izračunate matrice A−1i ? Dakle, u
postupku računanja
svojstvene vrijednosti zadane matrice, mi računamo svojstvenu
vrijednosti matrice
A−1i , pa se postavlja pitanje koliko točno je izračunata ta
matrica, odnosno, uz koje
je uvjete točno izračunata i kako to utječe na točnost
njenih svojstvenih vrijednosti.
Ideja nam je sve zaključke do kojih smo došli objedniti tako
da za pojed-
inu svojstvenu vrijednost i njen pripadni svojstveni vektor
možemo reći da li su
točno izračuanti, odnosno možemo li garantirati njihovu
točnost, a ako ne možemo
garantirati točnost, odgovoriti na pitanje ima li načina da se
svojstvene vrijednosti
i svojstveni vektori točno (točnije) izračunaju i ako da koji
su to načini.
Dakle, zaključke svih niže navedenih teorema i korolara
ujedinit ćemo tako
da se na relativno jednostavan način, kroz izračun nekoliko
vrijednosti (u nastavku
ćemo ih nazivati kondicijama) za pojedinu svojstvenu
vrijednost, a onda i svojstveni
vektor zadane matrice može zaključiti da li će se relativno
točno izračunati i ako ne,
-
4.1 Uvod 57
zašto ne, te kako to popraviti.
Radi lakšeg praćenja oznake matrica i njihovih svojstvenih
vrijendosti koje
ćemo u nastavku često koristiti navodimo u tablici 4.1
MATRICA svojst. vrij. izračunata svojst. vrij.
A λ λ̃Ai µ −
Ãi = fl(Ai) µ̂ µ̃ = fl(µ̂)A−1i ν −
(̃A−1i ) = fl(A−1i ) ν̂ ν̃ = fl(ν̂)
Tablica 4.1: Osnovne oznake
Pri čemu je Ãi = fl (Ai)
Ãi =
D1 (I + E1) 0 0 z1
0 0 0 ζi0 0 D2 (I + E2) z2zT1 ζi z
T2 a (1 + εa)
(4.1.1)gdje su E1 i E2 dijagonalne matrice čiji su dijagonalni
elementi omedeni s εM u
terminima apsolutne vrijednosti i |εa| ≤ εM takoder.
Takoder je (̃A−1i
)= fl
(A−1i
).
Pretpostavljat ćemo da standardno vrijedi
fl (a⊗ b) = (a⊗ b) (1 + ε) (4.1.2)
gdje je ⊗ ∈ {+,−, ∗, /}, |ε| ≤ εM i εM je preciznost računala.
Radi jednostavniji
zapisa koristit ćemo i sljedeće linearne aproksimacije
1
1− ε= 1 + ε (4.1.3)
1
1 + ε= 1− ε
(1 + kε) (1 + lε) = (1 + (k + l)ε)
-
58 Točnost svojstvenog rastava izračunatog algoritmom
aheig
4.2 Veza točnosti svojstvenih vrijednosti matrica
A i Ai
Slijedeći teorem i korolari govore o vezi svojstvenih
vrijednosti λ zadane ma-
trice A i svojstvenih vrijednosti µ ”pomaknute” matrice Ai = A−
diI. Tvrdimo da
ako su svojstvene vrijednosti matrica Ai dobro izračunate da
postoji najvǐse jedna
svojstvena vrijednost matrice A koja se eventualno točno ne
izračuna.
To ne utječe na točnost i ortogonalnost izračunatih
svojstvenih vektora matrice
A, što će biti dokazano u teoremu 4.2
Teorem 4.1 Neka su µ i µ̂ svojstvene vrijednosti matrica Ai i
Ãi = fl (Ai) redom
i neka je
µ̃ = fl (µ̂) = µ̂ (1 + kµ̂εM) = µ (1 + kµεM) (1 + kµ̂εM) = µ (1
+KµεM) . (4.2.4)
Tada za svojstvenu vrijednost matrice A, λ = µ+ di vrijedi
λ̃ = λ (1 + ελ) , |ελ| ≤|di|+ |µ|
|λ|(Kµ + 1) εM .
Dokaz.
Nakon što smo izračunali svojstvenu vrijednost µ̃ = fl(µ̂)
matrice Ãi, odgo-
varajuća svojstvena vrijednost zadane matrice A računa se
kao
λ̃ ≡ fl (di + µ̃) = (di + µ̃) (1 + ε1) . (4.2.5)
Rješavajući jednadžbu
(di + µ (1 +KµεM)) (1 + ε1) = λ (1 + ελ) (4.2.6)
(di + µ (1 +KµεM)) (1 + ε1) = λ (1 + ελ)
di + diε1 + µ (1 +KµεM + ε1) = λ (1 + ελ) koristimo (λ = µ+
di)
diε1 + µ (KµεM + ε1) = λελ
za ελ dobivamo
|ελ| ≤|di|+ |µ|
|λ|(Kµ + 1) εM . � (4.2.7)
-
4.2 Veza točnosti svojstvenih vrijednosti matrica A i Ai 59
Korolar 4.1 Ako uz uvjete teorema 4.1 vrijedi još i
sgn (di) = sgn (µ) ,
onda za ελ vrijedi
|ελ| ≤ (Kµ + 1) εM .
Dokaz.
Prema teoremu 4.1 i zbog sgn (di) = sgn (µ) vrijedi
|ελ| ≤|di|+ |µ|
|λ|(Kµ + 1) εM ,
=|di + µ||di + µ|
(Kµ + 1) εM
= (Kµ + 1) εM . �
Korolar 4.2 Ako se uz uvjete teorema 4.1 svojstvena vrijednost λ
nalazi izmedu
dva pola koji imaju isti predznak, onda za ελ vrijedi
|ελ| ≤ 3 (Kµ + 1) εM .
Dokaz.
Ako je ispunjen uvjet iz korolara 4.1 dokaz slijedi direktno, pa
pogledajmo što
se dogada u slučaju da taj uvjet nije ispunjen tj. ako
vrijedi
sgn (di) ̸= sgn (µ) .
Kako ”polovi susjedi” od λ imaju isti predznak posebno ćemo
promotriti slučajeve
kada su oba veća i oba manja od nule.
Neka je dakle 0 < di+1 < λ < di , µ < 0. Kako je µ
< 0, λ je najbliža polu di i
-
60 Točnost svojstvenog rastava izračunatog algoritmom
aheig
vrijedi
|ελ| ≤|di|+ |µ|
|λ|(Kµ + 1) εM
≤|di|+ 12 |di − di+1|
12|di + di+1|
(Kµ + 1) εM
≤di +
12di − 12di+1
12di +
12di+1
(Kµ + 1) εM
≤32di − 12di+1
12di +
12di+1
(Kµ + 1) εM
≤ 3didi
(Kµ + 1) εM
≤ 3 (Kµ + 1) εM .
Koristili smo nejednakosti |µ| ≤ 12|di − di+1|, |λ| ≥ 12 |di +
di+1| (za drugu nejed-
nakost), di − di+1 > 0, di + di+1 > 0 (za treću
nejednakost) i di+1 > 0 (za četvrtu
nejednakost).
Analogno za di < λ < di−1 < 0, µ > 0.
|ελ| ≤|di|+ |µ|
|λ|(Kµ + 1) εM
≤|di|+ 12 |di−1 − di|
12|di + di−1|
(Kµ + 1) εM
≤−di + 12di−1 −
12di
−12di−1 − 12di
(Kµ + 1) εM
≤−3
2di +
12di−1
−12di−1 − 12di
(Kµ + 1) εM
≤ 3didi
(Kµ + 1) εM
≤ 3 (Kµ + 1) εM . �
Koristili smo nejednakosti |µ| ≤ 12|di−1 − di|, |λ| ≥ 12 |di +
di−1| (za drugu nejed-
nakost), di−1 − di > 0, di + di−1 < 0 (za treću
nejednakost) i di−1 < 0 (za četvrtu
nejednakost).
Korolar 4.3 Ako uz uvjete teorema 4.1 vrijedi i d1 > 0 onda
za ελ1 vrijedi
|ελ1 | ≤ (Kµ + 1) εM .
-
4.2 Veza točnosti svojstvenih vrijednosti matrica A i Ai 61
Dokaz.
Direktno iz korolara 4.1 jer je λ1 > d1 po teoremu 2.5, pa je
µ > 0 iz čega
slijedi sgn (d1) = sgn (µ). �
Korolar 4.4 Ako uz uvjete teorema 4.1 vrijedi i dn−1 < 0 onda
za ελn vrijedi
|ελn| ≤ (Kµ + 1) εM .
Dokaz.
Direktno iz korolara 4.1 jer je λn < dn−1 po teoremu 2.5, pa
je µ < 0 iz čega
slijedi sgn (dn−1) = sgn (µ). �
Korolar 4.5 Neka vrijede uvjeti teorema 4.1. Tada postoji
najvǐse jedna λ ∈ σ (A)
za koju ne vrijedi ograda
|ελ| ≤ 3 (Kµ + 1) εM .
Dokaz. Pretpostavimo prvo da nema promjene predznaka u
elementima na
dijagonali. Tada su ispunjeni uvjeti barem jednog od korolara
4.3 i 4.4, pa je ili naj-
manja ili najveća vrijednost dobra (dakle najvǐse jedna je
loša), a kako nema prom-
jene predznaka za sve ostale svojstvene vrijednosti tvrdnja
slijedi iz korolara 4.2.
Ako promjena preznaka postoji onda je ona samo jedna (zbog d1
> d2 > . . . dn−1), a
korolari 4.3 i 4.4 oba vrijede, pa je i u tom slučaju najvǐse
jedna svojstvena vrijednost
za koju ograda iz korolara 4.2 ne vrijedi. �
Pogledajmo sada primjer koji ilustrira tvrdnju korolara 4.5.
Dakle, pronadimo
tu jednu λi za koju ne možemo garantirati odredenu točnost (uz
poznatu točnost
od µ1, . . . , µn ). Matricu ćemo konstruirati pomoću leme
2.1. Zadat ćemo elemente
dijagonale
D =[d1 · · · dn−1
]streličaste matrice A i njene svojstvene vrijednosti
Λ =[λ1 · · · λn
]
-
62 Točnost svojstvenog rastava izračunatog algoritmom
aheig
te pomoću leme izračunati vektor
z =[ζ1 · · · ζn−1
]i skalar α.
Primjer 4.1 Neka su nam za streličastu matricu A zadani njeni
dijagonalni ele-
menti d1, . . . , dn−1 i njene svojstvene vrijednosti λ1, . . .
, λn,
D =[2.5 2 −2 −2.5
]Λ =
[3 2.1 0.5 −2.1 −3
]Koristeći lemu 2.1 i dobivamo
z =
0.94844902633486590.58452259722500630.75461542817811841.161608080779973
i
α = 0.5,
te formiramo simteričnu streličastu matricu
A = [diag(D) z, zT α].
Svojstvene vrijednosti koje se dobiju pozivom algoritma aheig(D,
z, α) su:
λaheig =
3.000000000000000e+00
2.100000000000000e+00
5.000000000000004e-01
-2.100000000000000e+00
-3.000000000000000e+00
Oduzmimo svojstvene vrijednosti dobivene algoritmom aheig i
svojstvene vri-
jednosti Λ koje smo zadali na početku:
Λ− λaheig =
-
4.2 Veza točnosti svojstvenih vrijednosti matrica A i Ai 63
0
0
-4.440892098500626e-16
0
0
Razlikuje se samo treća svojstvene vrijednost λ3 od Λ(3) i
upravo je to ona
jedna koja se nalazi izmedu polova različitog predznaka (d2 =
2, d3 = −2).
Pogledajmo što se pritom dogodi sa svojstvenim vektorima.
Svojstveni vektori
dobiveni algoritmom aheig (bez naknadne ortogonalizacije)
su:
Uahieg =
Stupci 1 do 3
-8.477023116820064e-01 3.708206102425969e-01
-3.728417747664403e-01
-2.612165457182213e-01 -9.141367440321921e-01
-3.063730876961437e-01
-6.744582208803331e-02 -2.878403565685330e-02
2.373155732746618e-01
-9.438355079084827e-02 -3.949222961747129e-02
3.044240343238236e-01
-4.468887036332463e-01 -1.563903172216120e-01
7.862136275414386e-01
Stupci 4 do 5
-2.529527127316905e-02 -6.513083776920425e-02
-1.749043563194119e-02 -4.415365500384818e-02
-9.257822675790860e-01 -2.850106175068196e-01
3.562729182661371e-01 -8.774552547999756e-01
1.226826583461486e-01 3.776898892657495e-01
a njihova ortogonalnost izračunata izrazom
Oaheig = max∣∣UTaheig · Uaheig − I∣∣ u Matlabu, je
Oaheig =
Stupci 1 do 3
9.999999999999998e-01 -1.110223024625157e-16
2.775557561562891e-16
-
64 Točnost svojstvenog rastava izračunatog algoritmom
aheig
-1.110223024625157e-16 1.000000000000000e+00
1.110223024625157e-16
2.775557561562891e-16 1.110223024625157e-16
9.999999999999999e-01
6.938893903907228e-18 0 4.163336342344337e-17
0 -1.387778780781446e-17 2.220446049250313e-16
Stupci 4 do 5
6.938893903907228e-18 0
0 -1.387778780781446e-17
4.163336342344337e-17 2.220446