Episthmonik`oc Upologism`oc II

2012-13, c Ε. Γαλλόπουλος
Επιστηµονικός Υπολογισµός ΙΙ
Ε. Γαλλόπουλος 1
1
Τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής
Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών
5/5/13
2012-13, c Ε. Γαλλόπουλος
Συµµετρικός αλγόριθµος Lanczos
Αν ο A = A> , τότε το άνω Hessenberg µητρώο Hm που υπολογιζεται
από τον Arnoldi είναι συµµετρικό και εποµένως τριδιαγωνιο.
Εποµένως µπορούµε να γράψουµε τον Hm ως

α1 β2

 β2


Tm =  0




0
α2 β3
..
.
..
.
..
···
βm−1 αm−1 βm
.
..
.
0
βm








αm
Προσέξτε ότι από τη σχέση για την τελευταία στήλη του AVm = AVm em
έχουµε
Avm
>
= Vm Tm em + hm−1,m vm+1 em
em
= βm vm−1 + αm vm + hm−1,m vm+1
= βm vm−1 + αm vm + βm vm+1
2012-13, c Ε. Γαλλόπουλος
Arnoldi όταν A = A> ≡ συµµετρικός Lanczos
Ο (τροποποιηµένος) αλγόριθµος Arnoldi για την περίπτωση αυτή
ονοµάζεται αλγόριθµος Lanczos και έχει ως εξής :
v1 := v /kv k2 , β1 = 0, v0 = 0
for j = 1, ..., m
wj := Avj − βj vj −1
αj = (wj , vj ),
wj := wj − αj vj
βj +1 = kwj k
if βj +1 = 0 Stop
vj +1 = wj /βj +1
end
Το κόστος πολύ µικρότερο από Arnoldi
Τα διανύσµατα ϐάσης είναι ορθογώνια ...
αν και, η α.κ.υ. οδηγεί σε γρήγορη απώλεια της ορθογωνιότητας
των vj , οπότε χρησιµοποιείται :
επαναρθογωνιοποίηση : πλήρης, µερική ή επιλεκτική
2012-13, c Ε. Γαλλόπουλος
Συµµετρικός FOM ⇒ Συµµετρικός αλγόριθµος Lanczos
Εφαρµόζουµε την παραπάνω ιδέα στον FOM και παίρνουµε τον
αλγόριθµο επίλυσης «συµµετρικός Lanczos».
r (0) = b − Ax (0) , β := kr (0) k2 , v1 := r (0) /β.
for j = 1, ..., m
wj := Avj − βj vj −1
αj = (wj , vj ),
wj := wj − αj vj
βj +1 = kwj k
if βj +1 = 0 then m := j; break; end
vj +1 = wj /βj +1
end
Tm = trid(βi , αi , βi +1 ), Vm = [v1 , ..., vm ]. ym := Tm−1 (βe1 ) και x (m) = x (0) + Vm
΄Οπως και στον FOM, το νέο κατάλοιπο έχει την κατεύθυνση του vm+1 :
r (m)
εποµένως
T
= −βm+1 em
ym vm+1
r (m) ⊥r (m−j ) , j = 1, ..., m
2012-13, c Ε. Γαλλόπουλος
΄Αµεσος αλγόριθµος Lanczos: D-Lanczos
Αντιστοιχεί στον Lanczos όπως και η DIOM στην IOM.
Tm = Lm Um όπου Lm , Um κάτω και άνω διδιαγώνια :
Lm = trid[λj , 1, 0], Um = trid[0, ηj , βj +1 ]
x (m)
= x (0) + Vm Hm−1 (βe1 )
−1
(βe )
= x (0) + Vm Um−1 Lm
| {z } | {z 1}
Pm
= x
(0)
zm
+ Pm zm
Ο υπολογισµός µπορεί να γίνει σταδιακά χωρίς να χρησιµοποιήσουµε
όλα τα διανύσµατα του Vm :
Από τη σχέση Vm = Pm Um
vm
= ηm p(m) +
βm
|{z}
από Lanczos
p(m−1)
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Ιδέα Αλγόριθµος στον οποίο
x (m+1) = x (m) + αm p(m) ,
τα υπόλοιπα είναι ορθογώνια και τα διανύσµατα p είναι A-συζυγή:
Εποµένως :
r (m+1) = r (m) − αm Ap(m)
και
0
= (r (m+1) , r (m) ) = (r (m) , r (m) ) − αm (Ap(m) , r (m) )
αm =
(r (m) , r (m) )
(Ap(m) , r (m) )
εφόσον (Ap(m) , r (m) ) 6= 0.
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Επίσης
Ap(m)
= −
1
αm
(r (m+1) − r (m) )
Τα p(m+1) ∈ hr (m+1) , p(m) i είναι A-ορθογώνια, εποµένως αν γράψουµε
p(m+1)
= r (m+1) + βm p(m)
ισχύει
(Ap(m) , r (m) ) = (Ap(m) , p(m) − βm−1 p(m−1) ) = (Ap(m) , p(m) ) 6= 0
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Εποµένως, αν A ΣΘΟ, ο αm µπορεί να υπολογιστεί:
αm =
0
(r (m) , r (m) )
(Ap(m) , p(m) )
= (p(m+1) , Ap(m) ) = (r (m+1) + βm p(m) , Ap(m) )
= (r (m+1) , Ap(m) ) + βm (p(m) , Ap(m) )
βm = −
=
(r (m+1) , Ap(m) )
1 (r (m+1) , r (m+1) − r (m) )
=
αm
(p(m) , Ap(m) )
(p(m) , Ap(m) )
(Ap(m) , p(m) ) (r (m+1) , r (m+1) ) (r (m+1) , r (m+1) )
=
(r (m) , r (m) ) (p(m) , Ap(m) )
(r (m) , r (m) )
και ο βm µπορεί επίσης να υπολογιστεί.
Επιλέγοντας τις παραµέτρους αm , βm και τα διανύσµατα
x (m) , p(m) , r (m) µε τον παραπάνω τρόπο, οδηγούµαστε στον
αλγόριθµο ϐλυεConjugate Gradient.
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Μέθοδος Conjugate Gradient
Ο πιο σηµαντικός και αποτελεσµατικός επαναληπτικός αλγόριθµος για
τη λύση ΣΘΟ συστηµάτων. Η ϐασική ιδέα και περιγραφή οφείλεται
στους Hestenes και Stiefel (εργασία του 1952!) αλλά για δεκαετίες
ϑεωρείτο µη πρακτική σε σύγκριση µε την απαλοιφή Gauss και
επαναληπτικές µεθόδους.
r (0) = b − Ax (0) , p(0) = r (0)
for j = 1, ..., m
(r (j −1) ,r (j −1) )
Compute Ap(j −1) , αj −1 = (p(j −1) ,Ap(j −1) )
x (j ) = x (j −1) + αj −1 p(j −1) ,
r (j ) = r (j −1) − αj −1 Ap(j −1) ,
βj −1 =
(r (j ) ,r (j ) )
(r (j −1) ,r (j −1) )
p(j ) = r (j ) + βj −1 p(j −1)
end
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Χρήσιµες ιδιότητες
Θεώρηµα
΄Εστω ότι εφαρµόζουµε τη CG σε ΣΘΟ µητρώο A. Μέχρι τη σύγκλιση
(οπότε και kr (j ) k ≈ 0) ισχύουν τα παρακάτω :
Km (A, r (0) )
= hx (1) , x (2) , · · · , x (m) i
= hp(0) , p(1) , · · · , p(m−1) i
= hr (0) , r (1) , · · · , r (m−1) i
Τα υπόλοιπα είναι ορθογώνια : (r (j ) , r (k ) ) = 0, ∀j 6= k
Οι κατευθύνσεις είναι A ορθογώνιες (συζυγείς):
(p(j ) , p(k ) )A = 0, ∀j 6= k
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Σύγκλιση CG
Γνωρίζουµε ότι 1) Η CG είναι µέθοδος ΟΠ µε K = Km (A; r (0) ).
Εποµένως η προσέγγιση x (m) , m = 1, 2, ... ελαχιστοποιεί την A-νόρµα
του σφάλµατος επί του x (0) + Km , δηλ.
x (m) := arg
(A(x sol − x ), x sol − x )1/2
min
x ∈x (0) +K
m
2) Αν x (m) := x (0) + δ τότε δ είναι η A-ΟΠ του e(0) επί του K .
3) e(m) = p(A)e(0) για p ∈ Πm και p(0) = 1 εποµένως
kx sol − x (m) kA =
min
p ∈ Πm
p ( 0) = 1
kp(A)(x sol − x (0) )kA
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Η µελέτη της σύγκλισης της CG χρησιµοποιεί την έννοια των ενεργών
ιδιοτιµών και ιδιοδιανυσµάτων : Αν A = Q ΛQ T τότε είναι τα
(qj , λj ), j = 1 : m που συµµετέχουν στο
n
e(0) =
∑ γj qj ,
j =1
Ισχύει ότι για το πολυώνυµο υπολοίπου p(A) έχουµε p(0) = 1 και
n
kp(A)e(0) k2A =
∑ λj (p(λj ))2 γ2j
j =1
≤ max(p(λj ))2 ke(0) k2A
j
≤ max(p(λj ))2 ke(0) k2A
j
≤
max
λ∈[λmin ,λmax ]
(p(λ))2 ke(0) k2A
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
΄Εστω ότι A ΣΘΟ. Τότε σε αριθµητική άπειρης ακρίβειας ο αλγόριθµος
παράγει τη λύση σε n κατά µέγιστο ϐήµατα. Ισχύουν οι συνθήκες :
(e(k +1) , Ap(j ) ) = (p(k +1) , Ap(j ) ) = (r (k +1) , r (j ) ) = 0, ∀j ≤ k
και από όλα τα διανύσµατα στο χώρο
e(0) + span{Ae(0) , · · · , Ak +1 e(0) }
το e(k +1) έχει την ελάχιστη A-νόρµα. Επίσης
p
κ(A) − 1 k
ke(k ) kA
≤ 2( p
)
(
0
)
ke kA
κ(A) + 1
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Παρατηρήσεις υλοποίησης σε α.κ.υ.
Αν γίνουν «αρκετά» ϐήµατα η CG ϑα υπολογίσει εντέλει αποδεκτή
προσέγγιση στην ακριβή λύση αλλά :
«Αρκετά» µπορεί να είναι πάνω από n
Ο αριθµός ϐηµάτων δεν προβλέπεται µε ακρίβεια από το
ke(k ) k
παραπάνω ϕράγµα για το ke(0) kA .
A
∆είτε σχετικές εργασίες της Anne Greenbaum.
Η «ακριβής λύση» της CG προσεγγίζεται χρησιµοποιώντας
συµµετρικό αλγόριθµο Lanczos και περαιτέρω ορθογωνιοποίηση.
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Πείραµα
Μητρώο 500 × 500, διαγώνια όλα ίσα µε 1, εκτός διαγωνίου
οµοιόµορφα κατανεµηµένα στο [−1, 1], µηδέν όποτε |αi ,j | > τ.
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Η υπεργραµµική σύγκλιση της CG
Αν παρατηρήσει κανείς τις καµπύλες σύγκλισης της CG για διάφορα
µητρώα, παρουσιάζεται η εξής γενική συµπεριφορά, που µπορούµε να
συνοψίσουµε σε 3 ϕάσεις :
κατˆαρχήν γρήγορη πτώση του σφάλµατος ως ένα σηµείο καµπής
σχετική καθυστέρηση - στασιµότητα, αργή σύκγλιση
πολύ γρήγορη πτώση του σφάλµατος σε αποδεκτά όρια
Η συµπεριφορά αυτή αναλύθηκε πειστικά από τους van der Sluis και van
der Vorst.
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Πότε µπορούµε να κατασκευάσουµε οικονοµικές και
ϐέλτιστες µεθόδους Krylov;
Βέλτιστες : Σε κάθε ϐήµα m, µεταξύ όλων των δυνατών επιλογών
από τον υπόχωρο Km (A, b), η προσεγγιστική λύση οδηγεί
στο ελάχιστο κάποιου µέτρου σφάλµατος ή υπολοίπου.
Οικονοµικές ΄Οτι σε κάθε ϐήµα m, η νέα προσέγγιση της λύσης
υπολογίζεται από µια «κοντή αναδροµή» µεγέθους το
πολύ s n (π.χ. το µητρώο Hessenberg έχει το πολύ s µη
µηδενικά σε κάθε στήλη.)
Ως «οικονοµικές» εννοούµε µεθόδους που ϐασίζονται σε κοντές
αναδροµές για την κατασκευή κάθε νέας εκτίµησης, π.χ.
νέα εκτίµηση λύσης (ϐήµα j + 1) = F ( (τρέχουσα εκτίµηση),
(υπολογίσιµη διόρθωση)
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Το ϑέµα της ύπαρξης επαναληπτικών µεθόδων Krylov µε ϐέλτιστο
σφάλµα και κοντή αναδροµή για γενικά (µη κανονικά) µητρώα
απαντήθηκε - αρνητικά - από τους Faber και Manteuffel στα µέσα του
1980. Γενικά, η κατασκευή είναι δυνατή για κανονικά µητρώα ή
γενικεύσεις τους.
΄Εχει αποδειχθεί ότι υπάρχει µέθοδος ϐραχείας αναδροµής µήκους 1
(όπως η CG) αν και µόνον αν συµβαίνει ένα από τα παρακάτω :
1
το ελάχιστο πολυώνυµο του A είναι 0 ή 1῾ ή
2
το A είναι ερµιτιανό, ή
3
A = eιθ (ρI + B ) όπου θ, ρ ∈ R και B ∗ = B (αντιερµιτιανό).
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Μέθοδος CGN (CG Normal)
Υπάρχουν οικονοµικές µέθοδοι για µη συµµετρικά/ερµιτιανά
προβλήµατα ; Ιδέα :
Ax = b ⇐
∗
A A
|{z}
x = A∗ b
συµµετρικό
εποµένως αν x (0) = 0 χρησιµοποιούµε µέθοδο ΟΠ για το χώρο
K := Km (A∗ A, A∗ b)
οπότε αν A αντιστρέψιµο, σε κάθε ϐήµα m = 1, ... ελαχιστοποιείται επί
του Km (A∗ A, A∗ b)
ke(m) e(m) kA∗ A = k(e(m) )∗ A∗ Ae(m) k2
= k(r (m) )∗ r (m) k2
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Παρατηρήσεις
Σε κάθε ϐήµα ελαχιστοποιείται η 2-νόρµα του υπολοίπου επί του
Km (A∗ A, A∗ b)
ενώ στη GMRES η ελαχιστοποίηση είναι επί του Km (A, b).
Η ανάλυση σύγκλισης γίνεται όπως και στη CG αλλά
kr (m) k2
κ(A) − 1 m
≤ 2(
)
κ(A) + 1
kr (0) k2
εποµένως η σύγκλιση µπορεί να είναιp
πολύ πιο αργή γιατί
εξαρτάται από το κ(A) και όχι από το κ(A)
Η σύγκλιση εξαρτάται από την κατανοµή των ιδιαζουσών τιµών
παρά από την κατανοµή των ιδιοτιµών
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Μέθοδοι διορθογωνιοποίησης (biorthogonalization)
Η Arnoldi ανάγει µη συµµετρικά µητρώα σε άνω Hessenberg
AVm
=
∗
⇒ Hm = Vm> AVm
Vm Hm + hm+1,m vm+1 em
Μία σηµαντική κατηγορία µεθόδων ϐασίζεται στη (µερική) αναγωγή (µη
συµµετρικών) µητρώων σε τριδιαγώνια µορφή.
Ιδέα Οποιοδήποτε αντιστρέψιµο µητρώο είναι όµοιο µε τριδιαγώνιο !
det(A) 6= 0 ⇒ υπάρχει αντιστρέψιµο Q τ.ώ. Q −1 AQ = T = trid[βj −1 , αj , βj ]
Αν ϑέσουµε Q −1 = P > οπότε QAP = T και P > Q = I
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Επαναληπτική εκδοχή
Αν εφαρµόσουµε Arnoldi για να υπολογίσουµε ϐάσεις :
span{v1 , . . . , vm } = Km (A, v ), span{w1 , . . . , wm } = Km (A> , w )
AVm
=
>
>
˜m + ˜
Vm Hm + hm+1,m vm+1 em
, A > Wm = Wm H
hm+1,m wm+1 em
Αναστρέφοντας την 2η σχέση
>
Wm
A
=
> >
>
˜m
H
Wm + ˜
hm+1,m em wm
+1
> V = I (τα W , V λέγονται
Επιλέγουµε τις στήλες των Vm , Wm να είναι διορθογώνιες, δηλ. Wm
m
m
m
> και την
συζυζή). οπότε πολλαπλασιάζοντας την πρώτη σχέση από τις παραπάνω µε Wm
προηγούµενη σχέση µε το Vm απο τα δεξιά, Τότε
>
Wm
AVm
>
Wm AVm
=
>
(Wm> Vm )Hm + hm+1,m Wm> vm+1 em
=
>
>
˜m
H
(Wm> Vm ) + ˜
hm+1,m em wm
+1 Vm
εποµένως
>
Wm
AVm
> είναι τουλάχιστον τριδιαγώνιο.
˜m
άρα Hm = H
=
>
˜m
Hm = H
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Αλγόριθµος ∆ισυζυγών Κλίσεων
BiConjugate Gradients (BCG)
r (0) = b − Ax (0) , αρχικοποίηση s (0) τ.ώ. (s (0) > )r (0) 6= 0
p(0) = r (0) , q (0) = s (0)
for m = 0, . . . και όσο δεν ικανοποιείται το κριτήριο σύγκλισης do
αm = (s (m) > r (m) )/(q (m) > Ap(m) )
x (m+1) = x (m) + αm p(m)
r (m+1) = r (m) − αm Ap(m)
s (m+1) = s (m) − αm A> q (m)
βm = (s (m+1) > r (m+1) )/(s (m) > r (m) )
p(m+1) = r (m+1) + βm p(m)
q (m+1) = s (m+1) + βm q (m)
end for
Κόστη/επανάληψη 2 MV, 2 DOT, 5 SAXPY
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Πείραµα (Trefethen)
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Παρατηρήσεις
Η BiCG µπορεί να ϑεωρηθεί ως ϕυσική επέκταση της συµµετρικής
Lanczos για ταυτόχρονη επίλυση των συστηµάτων
>
ˆ⇔
Ax = b και A ˆ
x =b
0
A>
A
0
ˆx
x
b
= ˆ
b
το τελευταίο σύστηµα είναι 2n × 2n, συµµετρικό αλλά µη ορισµένο
άρα δεν µπορούµε να εφαρµόσουµε CG
v1 = b ⇒ K = Km (A, b), x (m) ∈ Km (A, b), r (m) ⊥ L = Km (A> , w1 )
για να πετύχουµε w1> v1 = 1, µπορούµε να ϑέσουµε w1 = v1 /kv1 k.
Σε κάθε ϐήµα χρειάζεται πολλαπλασιασµός µε το ανάστροφο A> .
Πώς αποφεύγεται ; Transpose-free methods
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Βασική ιδέα για transpose-free
r (m)
= φm (A)r (0) , p(m) = πm (A)r (0)
s (m)
= φm (A> )s (0) , q (m) = πm (A> )s (0)
και
αm = (s (m)> r (m) )/(q (m)> Ap(m) )
=
s (0)> (φm (A> ))> φm (A)r (0)
s (0)> (πm (A> ))> Aπm (A)r (0)
=
s (m)> φ2m (A)r (0)
s (0)> Aπ2m (A)r (0)
και αντίστοιχα για το βm .
Κλειδί: ∆εν υπάρχουν πια MV µε A> .
Υλοποίηση : Αλγόριθµος που στηρίζεται στις σχέσεις
r (m)
= φ2m (A)r (0) , p(m) = π2m (A)r (0)
q (m)
= φm+1 (A)πm (A)r (0)
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
φm+1 (z ) = φm (z ) − αm z πm (z )
πm+1 (z ) = φm+1 (z ) + βm πm (z )
εποµένως
φ2m+1 = φ2m − 2αm z πm φm + α2m z π2m
πm+1 = φ2m+1 + 2βm φm+1 πm + β2m π2m
και µπορούµε να κατασκευάσουµε την αναδροµή
φ2m+1 = φ2m − αm z (2φ2m + 2βm−1 φm πm−1 − αm z π2m )
φm+1 πm = φ2m + βm−1 φm πm−1 − αm z π2m
π2m+1 = φ2m+1 + 2βm φm+1 πm + β2m π2m
φm πm = φ2m + βm−1 φm πm−1
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Αλγόριθµος : Τετραγωνισµένος συζυγών κλίσεων
Conjugate Gradient Squared (CGS)
r (0) = b − Ax (0) , αυθαίρετο s (0)
p(0) = r (0) , u (0) = r (0)
for m = 0, 1, . . . και όσο δεν ικανοποιείται το κριτήριο σύγκλισης do
αm = (s (0) > r (m) )/(s (0) > Ap(m) )
q (m) = u (m) − αm Ap(m)
x (m+1) = x (m) + αm (u (m) + q (m) )
r (m+1) = r (m) − αm A(u (m) + q (m) )
βm = (s (0) > r (m+1) )/(s (0) > r (m) )
u (m+1) = r (m+1) + βm q (m)
p(m+1) = u (m+1) + βm (q (m) + βm p(m) )
end for
Κόστη/επανάληψη 2 MV, 2 DOT, 7 SAXPY
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
BiCGStab
Βασική ιδέα Εξοµάλυνση καταλοίπων.
ιδέαCGS
(m)
(m)
rCGS
rBiCGStab
z }| {
= φ2m (A) r (0) ,
= ψm (A)φm (A)r (0) , επιλέγοντας κατάλληλο ψ
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
Αλγόριθµος BiCGStab
r (0) = b − Ax (0) , αυθαίρετο s (0)
p(0) = r (0)
for m = 0, 1, . . . και όσο δεν ικανοποιείται το κριτήριο σύγκλισης do
αm = (s (0)> r (m) )/(s (0)> Ap(m) )
q (m) = r (m) − αm Ap(m)
(q (m) )> Aq (m)
(Aq (m) )> Aq (m)
(
m+1)
x
= x (m) + α
ωm =
mp
r (m+1)
q (m ) − ω
(m) + ω
mq
(m ) )
Aq (m)
=
m
βm = (s (0)> r (m+1) )/(s (0)> r (m) ) ωαmm
p(m+1) = r (m+1) + βm (p(m) − ωm Ap(m) )
end for
Κόστη/επανάληψη 2 MV, 4 DOT, 6 SAXPY
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
BiCGStab
2012-13, c Ε. Γαλλόπουλος
Μέθοδος Συζυγών Κλίσεων (Conjugate Gradient)
BiCGStab
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Μη αρνητικά µητρώα
Θεωρία Perron-Frobenius για το ϕάσµα
Θέµα : Στις εφαρµογές τα µητρώα συχνά είναι µη αρνητικά ή αυστηρά
ϑετικά. Τότε διαθέτουν πολλές απροσδόκητες και χρήσιµες ιδιότητες.
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Μη αρνητικά µητρώα
Θεωρία Perron-Frobenius για το ϕάσµα
Θέµα : Στις εφαρµογές τα µητρώα συχνά είναι µη αρνητικά ή αυστηρά
ϑετικά. Τότε διαθέτουν πολλές απροσδόκητες και χρήσιµες ιδιότητες.
Κάθε A > 0 ∈ Rn×n έχει τουλάχιστον µία µηδενική ιδιοτιµή.
Απόδειξη ΄Εστω A > 0. Τότε
Αν όλες οι ιδιοτιµές ήταν 0
... η κανονική µορφή Jordan του X −1 AX = J ϑα είχε µηδενική
διαγώνιο,
... οπότε οπωσδήποτε An = 0, που είναι αδύνατο καθώς A > 0.
O. Perron, In Zur Theorie der Matrizen, Math. Ann. 64 (1907),
248-263.
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Πείραµα
Μητρώα µε τυχαία στοιχεία από U (0, 1) (MATLAB rand(n))
n=3
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Πείραµα
Μητρώα µε τυχαία στοιχεία από U (0, 1) (MATLAB rand(n))
n = 3, 5
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Πείραµα
Μητρώα µε τυχαία στοιχεία από U (0, 1) (MATLAB rand(n))
n = 3, 5, 7
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Πείραµα
Μητρώα µε τυχαία στοιχεία από U (0, 1) (MATLAB rand(n))
n = 3, 5, 7, 40
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Πείραµα
Μητρώα µε τυχαία στοιχεία από U (0, 1) (MATLAB rand(n))
n = 3, 5, 7, 40, 100
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Θεώρηµα Perron για ϑετικά µητρώα [Perron’1905]
Μερικά αποτελέσµατα
Αν A > 0 και r = ρ(A) (ϕασµατική ακτίνα) τότε :
1
r >0
2
r ∈ λ(A)
3
Η αλγεβρική πολλαπλότητα του ρ(A) είναι 1.
4
Υπάρχει ιδιοδιάνυσµα x > 0 τ.ώ. Ax = rx.
5
Το διάνυσµα Perron p είναι το µοναδικό διάνυσµα για το οποίο
ισχύει ότι
Ap = rp, p > 0, και kpk1 = 1.
6
r είναι η µοναδική ιδιοτιµή του A µε µέτρο |r | = 1.
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Μη αρνητικά µητρώα
Πρόκληση : Να επεκταθούν οι παραπάνω ιδιότητες σε µη αρνητικά
µητρώα ;
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Μη αρνητικά µητρώα
Πρόκληση : Να επεκταθούν οι παραπάνω ιδιότητες σε µη αρνητικά
µητρώα ;
Μη προφανές ! Αν
A=
0
0
1
0
τότε
r = 0 (παραβαίνει την 1η ιδιότητα Perron)
η αλγεβρική πολλαπλότητα είναι 2 (παραβαίνει την 3η ιδιότητα Perron)
x = [1, 0]> είναι το µοναδικό ιδιοδιάνυσµα για το οποίο e> x = 1, αλλά το
x δεν είναι ϑετικό (παραβαίνει την 4η ιδιότητα Perron)
Αν
A=
0
1
1
0
τότε λ(A) = ±i άρα υπάρχουν 2 ιδιοτιµές ίσες µε 1 σε απόλυτη τιµή
(παραβαίνει την 6η ιδιότητα Perron).
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Η µάχη δεν χάθηκε
Χωρίς περαιτέρω υποθέσεις µπορούµε να δείξουµε ότι
Αν A ≥ 0 ∈ Rn×n και r = ρ(A) τότε r ∈ λ(A) και υπάρχει αντίστοιχο
ιδιοδιάνυσµα x ≥ 0 τέτοιο ώστε Ax = rx.
Ο Frobenius συνειδητοποίησε ότι τα προβλήµατα οφείλονταν
όχι µόνον στην ύπαρξη µηδενικών, αλλά στη ϑέση αυτών
µέσα στο µητρώο (G. Frobenius, em Ueber Matrizen aus nicht
negativen Elementen, S.-B. Preuss Acad. Wiss. Berlin (1912),
456-477.)
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Αναγωγήσιµα µητρώα
Ορισµός
΄Ενα µητρώο A καλείται αναγωγήσιµο αν υπάρχει µεταθετικό µητρώο P ώστε το P > AP να
είναι κατά πλοκάδες άνω τριγωνικό, διαφορετικά καλείται µη αναγωγήσιµο.
δηλ. ανν
P > AP
=
A11
0
A12
A22
Αν ένα µητρώο είναι µη αναγωγήσιµο, κάθε γραµµή και κάθε στήλη ϑα έχει τουλάχιστον
ένα µη µηδενικό στοιχείο πέραν της διαγωίου.
A ∈ Rn×n ≥ 0 είναι µη αναγωγήσιµο ανν (I + A)n−1 > 0.
Υπάρχουν αλγόριθµοι κόστους αναγωγής µητρώου σε σε κατά πλοκάδες άνω τριγωνική
µορφή (Tarjan, ϐασισµένες σε γραφοθωρία µε DFS κόστους O (n + nnz )
Αναγωγησιµότητα ⇒ αναγωγή ορισµένων προβληµάτων σε µικρότερα αλλά περισσότερα.
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Επέκταση ϕασµατικών ιδιοτήτων
[Frobenius’12]
Θεώρηµα Perron-Frobenius
Αν A ≥ 0 και µη αναγωγήσιµο ισχύουν τα παρακάτω :
1
r = ρ(A) ∈ λ(A) και r > 0.
2
Η αλγεβρική πολλαπλότητα του ρ(A) είναι 1.
3
Υπάρχει ιδιοδιάνυσµα x > 0 τέτοιο ώστε Ax = rx.
4
Το διάνυσµα Perron είναι το µοναδικό διάνυσµα p που ικανοποιεί
Ap = rp, p > 0, και kpk1 = 1.
∆εν υπάρχουν άλλα µη αρνητικά ιδιοδιανύσµατα του A εκτός από
ϑετικά πολλαπλάσια του p.
5
Το ρ(A) αυξάνει αν αυξήσουµε οποιοδήποτε στοιχείο του A.
2012-13, c Ε. Γαλλόπουλος
Θεωρία Perron-Frobenius για µη αρνητικά µητρώα
Στοχαστικά µητρώα
Κίνητρο : Πολλές εφαρµογές οδηγούν σε µητρώα µε στοιχεία που είναι
πιθανότητες. Αυτά είναι ϑετικά και στοχαστικά (κατά στήλες ή κατά
γραµµές).
Ορολογία : ΄Ενα διάνυσµα ή µητρώο, A ≥ 0, καλείται στοχαστικό κατά
γραµµές όταν το άθροισµα των στοιχείων κάθε γραµµής ισούται µε 1.
Παραδείγµατα : Στοχαστικές διαδικασίες, ουρές Markov
Υπενθύµιση : Perron-Frobenius Αν A ∈ Rn×n είναι στοχαστικό τότε
ρ(A) = 1 = λmax όπου το λmax αποκαλείται ϱίζα Perron και ικανοποιεί
Ap = λmax (A)p όπου p > 0 είναι στοχαστικό.
Εργοδικό ϑεώρηµα
Αν ένα µητρώο είναι µη αναγωγήσιµο, στοχαστικό κατά στήλες (δηλ
e> A = e> ) και η µοναδική ιδιοτιµή λmax = 1 είναι µεγαλύτερη όλων των
άλλων σε µέτρο, τότε
lim Ak = pe>
k →∞