Upload
others
View
5
Download
2
Embed Size (px)
Citation preview
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