195
Sveu ˇ cili ˇ ste u Zagrebu Prirodoslovno-matemati ˇ cki fakultet Matemati ˇ cki odsjek Nevena Jakovˇ cevi´ c Stor Toˇ can rastav svojstvenih vrijednosti streliˇ castih matrica i primjene Doktorska disertacija Voditelji: dr. sc. Ivan Slapniˇ car, red. prof. dr. sc. Zlatko Drmaˇ c, red. prof. Zagreb, 2011.

Sveu cili ste u Zagrebu - Ruđer Bošković Institute...Sveu cili ste u Zagrebu Prirodoslovno-matematicki fakultet Matemati cki odsjek Nevena Jakov cevi c Stor To can rastav svojstvenih

  • 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