iterativne procedure koje sam dosad proučio

Usporedba dva algoritma Jacobijevog tipa za
svojstvene vrijednosti op¢ih kompleksnih matrica
Mate Kosor
1 Pomorski
1
odjel, Sveu£ili²te u Zadru
Seminar za numeri£ku matematiku i znanstveno ra£unanje
Zagreb, 4. rujna 2014.
1 / 21
Sadrºaj predavanja
1
Svojstvene vrijednosti
Osnovni problem
Posebni slu£ajevi
Numeri£ko rije²avanje
2
Iterativne metode Jacobijevog tipa za simetri£ne i druge tipove
matrica
Simetri£ne realne matrice
Hermitske i antihermitske kompleksne matrice
Normalne matrice, Goldstine & Horwitz (1959)
3
Iterativne metode Jacobijevog tipa za op¢enite matrice
Eberlein, Ruhe,. . .
Greenstadt, Mehl. . .
4
Diskusija - Zaklju£ak
2 / 21
Svojstvene vrijednosti
• λ ∈F
svojstvena vrijednosti, a v
matrice
A ∈ Fn×n
svojstveni vektor
kada:
Av
= λv.
Nulto£ke karakteristi£nog polinoma:
Ovisi o polju
∈ Fn
F: R
ili
C.
det (A − λ I )
Biramo
C
=0
jer je izbor svojstvenih
vrijednosti ve¢i (osnovni teorem algebre).
3 / 21
Svojstvene vrijednosti
• λ ∈F
svojstvena vrijednosti, a v
matrice
A ∈ Fn×n
svojstveni vektor
kada:
Av
= λv.
Nulto£ke karakteristi£nog polinoma:
Ovisi o polju
∈ Fn
F: R
ili
C.
det (A − λ I )
Biramo
C
=0
jer je izbor svojstvenih
vrijednosti ve¢i (osnovni teorem algebre).
•
za D
= diag (λ1 , λ2 , . . .),
te X
AX
= [v1 v2 . . .]
imamo:
=XD
3 / 21
Svojstvene vrijednosti
• λ ∈F
svojstvena vrijednosti, a v
matrice
A ∈ Fn×n
∈ Fn
svojstveni vektor
kada:
Av
= λv.
Nulto£ke karakteristi£nog polinoma:
Ovisi o polju
F: R
ili
C.
det (A − λ I )
Biramo
C
=0
jer je izbor svojstvenih
vrijednosti ve¢i (osnovni teorem algebre).
•
za D
= diag (λ1 , λ2 , . . .),
te X
AX
•
= [v1 v2 . . .]
imamo:
=XD
kada se od svojstvenih vektora moºe sastaviti baza
X
= [v1 v2 . . . vn ]
matricu A nazivamo dijagonalizabilna:
A=X DX
−1
Matricu koje nisu dijagonalizabilna naziamo defektnom.
3 / 21
Transformacije sli£nosti
A dijagonalizabilna:
ako za neku regularnu matricu
X i dijagonalnu D vrijedi:
A=X DX
−1
Transformacije sli£nosti
A dijagonalizabilna:
A i B su unitarno sli£ne:
ako za neku regularnu matricu
ako za neku unitarnu matricu Q
X i dijagonalnu D vrijedi:
vrijedi:
A=X DX
A=QBQ
−1
−1
A i B su sli£ne:
ako za neku regularnu matricu
X vrijedi:
A=XBX
−1
Unitarne transformacije sli£nosti pokazuju bolja numeri£ka svojstva:
ne treba ra£unati inverz Q
−1
= Q ∗,
£uva se normalnost,
hermiti£nost, unitarnost, ne pove¢ava se razina perturbacija. . .
Transformacije sli£nosti
A dijagonalizabilna:
A i B su unitarno sli£ne:
ako za neku regularnu matricu
ako za neku unitarnu matricu Q
X i dijagonalnu D vrijedi:
vrijedi:
A=X DX
A=QBQ
−1
A je normalna matrica:
A i B su sli£ne:
ako za neku regularnu matricu
X vrijedi:
A=XBX
−1
∗
= A A∗
•
ako i samo ako: A A
•
ako i samo ako je unitarno sli£na
dijagonalnoj:
−1
A=QDQ
∗
Unitarne transformacije sli£nosti pokazuju bolja numeri£ka svojstva:
ne treba ra£unati inverz Q
−1
= Q ∗,
£uva se normalnost,
hermiti£nost, unitarnost, ne pove¢ava se razina perturbacija. . .
Matri£ne dekompozicije koje otkrivaju
svojstvene vrijednosti
Schurova forma
Za proizvoljnu kvadratnu matricu A postoji ortogonalno sli£na
trokutasta matrica, tj.

λ1



A=Q 


0
?
λ2
0
0
.
.
.
.
.
.
.
.
.
..
0
0
0
···
? ···
? ···
λ3 · · ·
.
?
?
?
.
.
.
λn



 ∗
Q


Matri£ne dekompozicije koje otkrivaju
svojstvene vrijednosti
Jordanova forma
Za proizvoljnu kvadratnu matricu A postoji sli£na blok-dijagonalna
matrica (blokovi B1 , . . . , Bk )

A=X





B1
B2
..

 −1
X

.
Bk
gdje su blokovi bidijagonalni oblika B

λ


=



1
..
.
..
.
..
.


.

1
λ
Kako testirati dijagonalizabilnost?
Slika sa podkupovima matrica. . . TODO
6 / 21
QR metoda za op¢enite matrice (1961)
Iterativna metoda:
1
2
A
1
= A, za
def
napravi QR rastav: Ak
Ak + 1
def
=
=
=
=
k ∈N
= Qk Rk ,
Rk Qk
−1
Qk
−1
Qk
Qk Rk Qk
Ak Qk
QkT Ak Qk
•
numeri£ki stabilna,
•
pod odreženim uvjetima (sporo)
konvergira
•
svaka iteracija je skupa:
O(n3 )
QR metoda za op¢enite matrice (1961)
Iterativna metoda:
1
2
A
1
= A, za
def
napravi QR rastav: Ak
Ak + 1
def
=
=
=
=
k ∈N
= Qk Rk ,
Modikacija:
•
Hessenbergovu formu
Rk Qk
−1
Qk
−1
Qk Rk Qk

Qk
Ak Qk
T
Qk Ak Qk
?
···
?
..
.
..
.
.
.
.
..
.
..
.
•
pod odreženim uvjetima (sporo)
• Q
konvergira



Q

? 
?
?
numeri£ki stabilna,
svaka iteracija je skupa:
?

 ?
A=Q 


•
•
svaka iteracija QR metode £uva
(hermitska) Hausholderova
transformacija
O(n3 )
10
n3 + O(n2 ) operacija
•
kona£no
•
brºa, sigurna konvergencija i
3
jeftinije QR iteracije: 6n
2
+ O(n)
QR metoda nije savr²ena:
•
ƒuva Hessenbergovu, tridijagonalnu i neke druge sli£ne forme,
ali nije prilagožena za sve matri£ne strukture
•
ne £uva Hamiltonovu formu H
=
A
D
C
−AT
, za C i D
simetri£ne,
•
itd.
8 / 21
QR metoda nije savr²ena:
•
ƒuva Hessenbergovu, tridijagonalnu i neke druge sli£ne forme,
ali nije prilagožena za sve matri£ne strukture
•
ne £uva Hamiltonovu formu H
=
A
D
C
−AT
, za C i D
simetri£ne,
•
•
itd.
Stabilna (natrag), svojstvene vrijednosti ra£una s malom
apsolutnom gre²kom (ovisi o spektralnoj normi, dimenziji
matrice i ma²inskoj preciznosti),
•
ali izra£unate malene svojstvene vrijednosti mogu imati veliku
relativnu gre²ku.
•
Redukcija na Hessenbergovu formu moºe uzrokovati velike
relativne gre²ke malenih svojstvenih vrijednosti.
•
Paralelizacija. . .
8 / 21
Svojstvene vrijednosti 2x2 simetri£ne realne
matrice
Theorem
(E. Carlen, Calculus++, 2003) Svojstvene vrijednosti matrice
A=
a
b
b
d
su
λ1,2 =
a+d
2
s
±
b
2
+
a−d
2
.
2
Svojstveni vektori koji £ine ortonormalnu bazu
{u1 , u2 }mogu
se
izra£unati preko
T
r
1
r2T
= A − λ1 I ,
u1
=
1
|r1 |
⊥
r1
,
u2
= u1⊥
9 / 21
Jacobijeva metoda za simetri£nu realnu
matricu (1846,1949)
Na matrici A
•
= (aij )
sprovedi:
Ponavljaj dok A nije skoro dijagonalna
(sweep):
•
za i
= 2, . . . , n,
te j
= 1, . . . , i − 1
(redoslijed)
•
1
A ← G AG T (iteracija),
gdje je G = G (i , j , θ )
nakon transformacije sli£nosti
aij
= aji = 0
2
iteracija mijenja 2 stupca i 2 retka
3
dovoljno je (paºljivo) izra£unati
c
= cos θ
i s
= sin θ
G (i , j , θ ) = Givensova rotacija
1 ···
0 ···
0
··· 0
 .. . . ..
.
.
.
.
.
.
.
.
.


0 · · · c · · · −s · · · 0


 ..
.
.
.
..
.
.
.
.
.
.
.
.


0 · · · s · · · c · · · 0


 ..
.
.
.
..
.
.
.
.
.
.
.
.
0 ···
0 ···
0
··· 1
rotacija u (i , j ) ravnini za kut θ
Konvergencija i stabilnost Jacobijeve
metode za simetri£ne matrice
•
jo² 1950-tih prvi rezultati o kvadrati£noj asimptotskoj
(lokalnoj) konvergenciji Jacobijeve metode
•
temelje se na minimizaciji o-norme
s
off(A) =
2
∑ |aij |
i 6=j
11 / 21
Konvergencija i stabilnost Jacobijeve
metode za simetri£ne matrice
•
jo² 1950-tih prvi rezultati o kvadrati£noj asimptotskoj
(lokalnoj) konvergenciji Jacobijeve metode
•
temelje se na minimizaciji o-norme
s
off(A) =
•
2
∑ |aij |
i 6=j
konvergenciju je mogu¢e ubrzati izborom speci£nog
redoslijeda iteracija, pa £ak pokazati i globalnu konvergenciju
•
npr. Rhee & Hari (1993), On the global and cubic convergence
of quasi-cyclic Jacobi method, Numerische Mathematik
•
nudi relativnu to£nost i za malene svojstvene vrijednosti
•
Demmel & Veseli¢ (1992), Jacobi's method is more accurate
than QR, SIAM J. Matrix Anal. Appl.
11 / 21
Na op¢oj matrici donedavno nije dokazana
niti globalna niti lokalna konvergencija!
Greenstadt (1955):
z


1
















uii
∗
















uji
1
1
uij
ujj
1

Problem: A
θ
t.d. poni²ti
A
aij
}|
∗
∗
. ∗
. .
. .
. aij
. .
∗
∗
∗
∗
∗
. ∗ ∗
. . ∗
. . .
 
1
0
= 0
ε

1
1
1
0
1
ε
1
0
0
1
1
ujj

0
0
1
1
.
.
.
1
1
0
uij
uji
1
ε

 ∗
 
 
 ?
 
 
 
 
=
 
 
 
 
 
 ?
 
 
1
ε
1
Schurova forma
1
0

99K
{
uii
1
1

G
}|
∗ 1


∗ 



∗ 



∗




∗ 


∗
∗
∗
1
0
∗
ispod dijagonale
{ z

1
1
0
0
1
ε
1
0
1

?
∗
∗
?
?
?
?
?
?
∗
∗
?
?
.
∗
?
0
?
?
?
?
. .
?

∗


?



∗


∗



?


∗

1
0


1
0
1

1
1
0

1
1
1
1
0
1
1
0
1
0
ε
1
0
ε
0
1
12 / 21
Jacobijeva metoda se moºe generalizirati
na hermitske matrice
Kod matrica nad
(kuta)

Givensove rotacije ovise o dva realna parametra
U slu£aju hermitske matrice A (aji
= aij )
mogu¢e je
na²timati parametre tako da se u k -toj iteraciji poni²te pivoti
(k +1)
aij
= aij(k +1) = 0.
cos φk
e−i ψk sin φk

ψ i φ.
C
 (k )
−ei ψk sin φk aii
cos φk
(k )
aji
(k )

(k )

aij
ajj
cos φk
−e−i ψk sin φk
ei ψk sin φk 
 
cos φk
(k +1)
aii
=
0
0
(k +1)
ajj


13 / 21
Jacobijeva metoda se moºe generalizirati
na hermitske matrice
Kod matrica nad
(kuta)

Givensove rotacije ovise o dva realna parametra
U slu£aju hermitske matrice A (aji
= aij )
mogu¢e je
na²timati parametre tako da se u k -toj iteraciji poni²te pivoti
(k +1)
aij
= aij(k +1) = 0.
cos φk
 (k )
e−i ψk sin φk

ψ i φ.
C
•
−ei ψk sin φk aii
cos φk
(k )
aji
(k )

(k )

aij
ajj
cos φk
−e−i ψk sin φk
ei ψk sin φk 
 
cos φk
(k +1)
aii
=
0
0
(k +1)
ajj


Jacobijev tip algoritma ima svojstva kao kod simetri£ne realne
matrice
•
sli£no je za antihermitske matrice
13 / 21
Modikacija Jacobijeve metode za
normalne matrice
Test, Goldstine & Horwitz (1959):
?
|aij + aji |2 + [Re (aii − ajj )]2 S |aij − aji |2 + [Im (aii − ajj )]2
Ako test ≥: odaberi φ i ψ t.d
Ako test <: odaberi φ i ψ t.d
Im(aij −aji ) cos ψ−Re(aij +aji ) sin ψ=0
Re(aij −aji ) cos ψ+Im(aij +aji ) sin ψ=0
cos
cos
ψ Re(aij +aji )≥0
|aij +aji |
tan 2φ =
Re(aii −ajj )
i
sin
φ Re(aii −ajj )≥0
R
=
ψ Im(aij +aji )≥0
tan 2
cos φ
−e−i ψ sin φ
φ=
|aij −aji |
(aii −ajj )
Im
ei ψ sin φ
i φ opet manji izbor
cos φ
14 / 21
Preinaka s normalnih na op¢enite matrice
•
samo za normalnu A vrijedi
A A ∗ − A∗ A
=O
•
smicanje S
kAk2F = ∑ni=1 |λi |2
= S (y , β ) =
cosh y
−i e−i β sinh y
transformaciju sli£nosti (nije unitarna)
i
−i ei β sinh y
cosh y
generira
Preinaka s normalnih na op¢enite matrice
•
samo za normalnu A vrijedi
A A ∗ − A∗ A
=O
•
smicanje S
kAk2F = ∑ni=1 |λi |2
= S (y , β ) =
cosh y
−i e−i β sinh y
i
−i ei β sinh y
cosh y
generira
transformaciju sli£nosti (nije unitarna)
•
Eberlein (1962): mogu¢e je odabrati smicanje S tako da
(globalna konvergencija)
2
kAk2F − S −1 A S F ≥
•
1
1
3 n (n − 1)
kA A∗ − A∗ Ak2F
Eberlein (1970): isprepli¢e Givensove rotacije za normalne
matrice sa transformacijama smicanja:
−1
∗
−1
∗
Sk Rk . . . S1 R1 A R1 S1 . . . Rk Sk
k
−→
−→ prostor normalnih
−→ dijagonalizacija
matrica
Preinaka s normalnih na op¢enite matrice
•
Eberlein (1962): mogu¢e je odabrati smicanje S tako da
(globalna konvergencija)
2
kAk2F − S −1 A S F ≥
•
1
1
3 n (n − 1)
kA A∗ − A∗ Ak2F
Eberlein (1970): isprepli¢e Givensove rotacije za normalne
matrice sa transformacijama smicanja:
−1
∗
−1
k
∗
Sk Rk . . . S1 R1 A R1 S1 . . . Rk Sk −→
| {z } | {z }
W1
•
Wk
−→ prostor normalnih
−→ dijagonalizacija
matrica
dio Wilkinson-Reinsch kolekcije
16 / 21
Preinaka s normalnih na op¢enite matrice
•
Eberlein (1962): mogu¢e je odabrati smicanje S tako da
(globalna konvergencija)
2
kAk2F − S −1 A S F ≥
•
1
1
3 n (n − 1)
kA A∗ − A∗ Ak2F
Eberlein (1970): isprepli¢e Givensove rotacije za normalne
matrice sa transformacijama smicanja:
−1
∗
−1
k
∗
Sk Rk . . . S1 R1 A R1 S1 . . . Rk Sk −→
| {z } | {z }
W1
•
•
Wk
−→ prostor normalnih
−→ dijagonalizacija
matrica
dio Wilkinson-Reinsch kolekcije
Ruhe (1968): blaga modikacija Eberlein algoritma
•
pokazao asimptotsku kvadrati£nu konvergenciju za op¢enite
kompleksne matrice
16 / 21
Eberlein (1970) procedura eigen
(pojednostavljeno)
•
Po£ni sa W
= I.
•
Sigurnosna petlja (35 iterations max)
2 )) pripremi varijable koje mjere konvergenciju
τ = ∑i 6=j |Re(aij )| + |Im(aij )|, en[j ] = ∑i |Re(aij )| + |Im(aij )|
1
(O(n
2
(O(n
(1-norma j -tog stupca)
2 )) Sortiraj stupce (i retke) of
A (koristi en ), promijeni W
na odgovaraju¢i na£in (zamijeni stupce)
τ < 100ε
3
Ako
izaži iz petlje
4
Napravi sweep:
n2
2 transformacija (rotacija i smicanja
zajedno): NE poredak
A) temeljem unosa u stupcima i retcima sa
indeksima i , j izra£unaj S i R ,
← W S R,
(O(n))
∗ −1 A S R
A← R S
(O(n))
(O(n))
B) W
C)
17 / 21
Eberlein (1970) implementacija
•
Sage: alternativa za Matlab, Mathematicu, itd.
•
koristi double na IntelCore i5
•
ispisuje
τ = ∑i 6=j |Re(aij )| + |Im(aij )|
•
trajanje
≈
•
osim originalnog algoritma £iji su rezultati ponovljeni isku²ao i
za svaki sweep
broj sweepova
neke modikacije (bez nekog posebnog uspjeha)
•
pokazati primjere 2 i 3
•
o£ekivanje
τ →0
asimptotski kvadrati£no
18 / 21
Za²to Jacobi ima problema na op¢enitim
matricama?
Mehl (2008): modikacija Greenstadt algoritma
⇓
odozgo
prema
dolje

∗
.

.

.

.
.

∗ ∗ ∗ ∗ ∗
◦ ∗ ∗ ◦ ∗

∗ ∗ • ∗

. ∗ • ∗

◦ . . ◦ ∗
. . . . ∗
⇑
odozdo
prema
gore

∗
.

.

.

.
.
Legenda: 2x 2 problem iz iteracije ozna£en sa
iznosi iznad dijagonale
sweepa
,
•,
◦,
∗ ∗ ∗ ∗
◦ ∗ ∗ ◦
. ∗ ∗ •
. . ∗ •
◦ . . ◦
. . 4

∗
∗

∗

∗

∗
∗
mogu¢e veliki
poni²tavano u ranijim iteracijama istog
elementi ispod dijagonale za koje se iz prethodnog
sweepa o£ekuje da su maleni
4.
19 / 21
Konvergencija Mehl modikacije
•
Mehl je pokazao lokalnu (asimptotski) kvadratnu konvergenciju
20 / 21
Konvergencija Mehl modikacije
•
Mehl je pokazao lokalnu (asimptotski) kvadratnu konvergenciju
•
Moja implementacija: Sage + isti laptop
•
ispisuje
•
trajanje se mjeri brojem sweepova (uzeti u obzir da Eberlein
τ = ∑i >j |Re(aij )| + |Im(aij )|
za svaki sweep
sweep ko²ta oko 1.5 puta vi²e)
•
pokazati usporedbe na slu£ajnom primjeru
•
trajanje: Mehl
≈
Eberlein
≈
1
2
Greenstadt
20 / 21
Sli£nosti razli£itih generalizacija
Jacobijevog algoritma
•
Koristi se transformacija sli£nosti prilagožena speci£nom
potprostoru
•
Kvadrati£na konvergencija u okolini speci£nog potprostora!
•
•
Koja je prava mjera blizine?
Mogu¢nost: na osnovi udaljenosti od speci£nog potprostora
iskorisiti pogodan algoritam
•
Kako ubrzati konvergenciju dok su iteracije daleko?
21 / 21
Sli£nosti razli£itih generalizacija
Jacobijevog algoritma
•
Koristi se transformacija sli£nosti prilagožena speci£nom
potprostoru
•
Kvadrati£na konvergencija u okolini speci£nog potprostora!
•
•
Koja je prava mjera blizine?
Mogu¢nost: na osnovi udaljenosti od speci£nog potprostora
iskorisiti pogodan algoritam
•
•
Kako ubrzati konvergenciju dok su iteracije daleko?
Poredak i narav operacija sli£nosti ne uzimati zdravo za
gotovo!
•
•
Propitivati svaki korak algoritma koji nije dokazano optimalan
Npr. prelazak sa 2x2 rotacija na 3x3 rotacije, itd.
21 / 21
Sli£nosti razli£itih generalizacija
Jacobijevog algoritma
•
Koristi se transformacija sli£nosti prilagožena speci£nom
potprostoru
•
Kvadrati£na konvergencija u okolini speci£nog potprostora!
•
•
Koja je prava mjera blizine?
Mogu¢nost: na osnovi udaljenosti od speci£nog potprostora
iskorisiti pogodan algoritam
•
•
Kako ubrzati konvergenciju dok su iteracije daleko?
Poredak i narav operacija sli£nosti ne uzimati zdravo za
gotovo!
•
•
•
Propitivati svaki korak algoritma koji nije dokazano optimalan
Npr. prelazak sa 2x2 rotacija na 3x3 rotacije, itd.
Usporedbe sa QR algoritmom trebaju uzeti u obzir to£nost!
21 / 21