Εισαγωγή στον Προγραµµατισµό Αριθµητική Ανάλυση (ή Επιστηµονικοί Υπολογισµοί) ιδάσκοντες: Καθηγητής Ν. Μισυρλής, Επίκ. Καθηγητής Φ.Τζαφέρης ΕΚΠΑ 8 εκεµβρίου 04 Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 / 49
Επαναληπτικές Μέθοδοι για την επίλυση Γραµµικών Συστηµάτων ίνεται το γραµµικό σύστηµα Ax = b όπου A R n n είναι µη ιδιάζων πίνακας και x, b R n. Επαναληπτικές Μέθοδοι Οι επαναληπτικές µέθοδοι χρησιµοποιούνται όταν ο πίνακας A είναι : Μεγάλης τάξης ( 0 0 6 ) Αραιός Συγκεκριµένης δοµής Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 / 49
Βασικές Επαναληπτικές Μέθοδοι Ax = b x = Gx + c R Ax = R b Ορίζουµε την επαναληπτική µέθοδο x = x + τ R (b Ax) x (k+) = x (k) + τ R (b Ax (k) ), k = 0,,, x (k+) = (I τ R A)x }{{} (k) + τ } R {{ b } G τ c τ x (k+) = G }{{} τ x (k) + c τ επαναλ. πίνακας Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 / 49
Γραµµική στατική Επαναληπτική µέθοδος ου ϐαθµού Για τ = x (k+) = Gx (k) + c, k = 0,,, () όπου G = I R A και c = R b x (0) αυθαίρετο, x (), x (), x (), Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 4 / 49
Σύγκλιση της Επαναληπτικής Μεθόδου Θεώρηµα 4.. Η επαναληπτική µέθοδος x (k+) = Gx (k) + c, k = 0,,, συγκλίνει αν και µόνον αν ρ(g) < () όπου ρ(g) = max λ i, η ϕασµατική ακτίνα i λ i ιδιοτιµές του G Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 5 / 49
Απόδειξη Εστω x το όριο της ακολουθίας x (k), k = 0,,,... και e (k) το διάνυσµα του σφάλµατος στην k επανάληψη Αφού προκύπτει ότι e (k) = x (k) x x = Gx + c x (k+) x = G (x (k) x) }{{}}{{} e (k+) e (k) e (k+) = Ge (k) = G e (k ) = = G k+ e (0) e (k) = G k e (0) () Αρα lim k x(k) = x αν και µόνο αν lim k e(k) = 0 ή λόγω της () αν lim k (Gk e (0) ) = 0 για κάθε αυθαίρετο e (0). Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 6 / 49
..Απόδειξη Συνεπώς από προηγούµενο ϑεώρηµα έχουµε ότι αναγκαία συνθήκη για να ισχύει lim k G k = 0 είναι η ρ(g) <. Αν τώρα υποθέσουµε ότι ρ(g) <, τότε ο I G είναι µη ιδιάζων και το σύστηµα (I G)x = k έχει µία και µοναδική λύση. Αν όµως ρ(g) < τότε lim G k = 0 ή k lim G k = 0. k Επειδή G k e (0) G k e (0) συνεπάγεται ότι lim G k e (0) = 0, οπότε k από την () προκύπτει ότι lim e (k) = 0 ή lim x (k) = x, k k δηλαδή ότι η ε.µ. () συγκλίνει. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 7 / 49
Σύγκλιση της ε.µ. Ικανή και αναγκαία συνθήκη : ρ(g) < Ικανή συνθήκη : G α < Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 8 / 49
Κριτήριο διακοπής της σύγκλισης k επανάληψη x (k) = x (k) x (k) x (k). x (k) n k + επανάληψη x (k+) x (k+) x (k+). x (k+) n = x (k+) x (k+) x (k) α < ɛ, ɛ = 0 d ή όπου α = ή ή. x (k+) x (k) α x (k+) α < ɛ, ɛ = 0 d Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί) εκεµβρίου 04 9 / 49
Ταχύτητα σύγκλισης µιας επαναληπτικής µεθόδου Στην πράξη εκτός από την εξασφάλιση της σύγκλισης µιας ε.µ., µας ενδιαφέρει η ταχύτητα µε την οποία συγκλίνει η µέθοδος που χρησιµοποιούµε. Με άλλα λόγια επιθυµούµε να µελετήσουµε την ταχύτητα µε την οποία e (k) 0 για k. Από την () έχουµε ότι αν x (0) x, τότε e (k) e (0) Gk. (4) Ετσι η G k δίνει το µέγεθος µε το οποίο η norm του σφάλµατος έχει ελαττωθεί σε ένα κλάσµα έστω ϱ της e (0). Η ελάττωση αυτή µπορεί να επιτευχθεί αν διαλέξουµε το k έτσι ώστε G k ϱ. (5) Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 0 / 49
Μέση ταχύτητα σύγλισης Για όλα λοιπόν τα αρκετά µεγάλα k ώστε G k η παραπάνω ανισότητα είναι ισοδύναµη µε την log ϱ k k log Gk (6) όπου ξ συµβολίζει τον ελάχιστο ακέραιο µεγαλύτερο του ξ. Η (6) δίνει τον ελάχιστο αριθµό επαναλήψεων για τη σύγκλιση της () Παρατηρούµε ότι ο αριθµός αυτός είναι αντιστρόφως ανάλογος προς την ποσότητα ( k log Gk ). Ετσι οδηγούµαστε στον ορισµό της µέσης ταχύτητας σύγκλισης που είναι η ποσότητα R k (G) = k log Gk. (7) Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Ασυµπτωτική ταχύτητα σύγλισης Ορίζουµε ως ασυµπτωτική ταχύτητα σύγκλισης ή ταχύτητα σύγκλισης, την ποσότητα R(G) = lim R k (G) = logρ(g) (8) k καθόσον µπορεί να αποδειχθεί ότι ρ(g) = lim k ( G k k ). Για µια (όχι και τόσο καλή) προσέγγιση του αριθµού των επαναλήψεων που χρειάζεται η () για να συγκλίνει χρησιµοποιείται, σύµφωνα µε την (6), ο τύπος k logρ R(G). (9) Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Συµπέρασµα Από τον ανωτέρω τύπο και την (8) συµπεραίνουµε ότι όσο µικρότερη είναι η ϕασµατική ακτίνα του επαναληπτικού πίνακα G τόσο ταχύτερα ϑα συγκλίνει ασυµπτωτικά η επαναληπτική µέθοδος. Ωστόσο για να εκτιµήσουµε την αποτελεσµατικότητα µιας επαναληπτικής µεθόδου ϑα πρέπει να λαβουµε υπόψη τόσο την ταχύτητα σύγκλισής της όσο και την υπολογιστική πολυπλοκότητα που απαιτεί η κάθε επανάληψη. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Βασικές Επαναληπτικές Μέθοδοι Ορίζουµε την επαναληπτική µέθοδο x (k+) = x (k) + τ R (b Ax (k) ), k = 0,,, (0) x (k+) = (I τ R A)x }{{} (k) + τ } R {{ b } () G τ c τ x (k+) = G }{{} τ x (k) + c τ επαναλ. πίνακας Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 4 / 49
Βασική διάσπαση του πίνακα A A = D C L C U D = a a 0 a 0 a nn 0 a 0 0 C L = a a 0 0... a n a n a n... a n,n 0 Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 5 / 49
Βασική διάσπαση του πίνακα A A = D C L C U 0 a 0 0 C L = a a 0 0... a n a n a n... a n,n 0 C U = 0 a a a n 0 a a n 0 a n 0... an,n 0 Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 6 / 49
Χρήσιµες µορφές πολλαπλασιασµού πίνακα µε διάνυσµα στους τύπους των επαναληπτικών µεθόδων (D x) i = a ii x i, i =,,, n Θέτουµε και τότε έχουµε i (C L x) i = a ij x j, j= n (C U x) i = a ij x j, j=i+ L = D C L U = D C U i =,,, n i =,,, n Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 7 / 49
Χρήσιµες µορφές πολλαπλασιασµού πίνακα µε διάνυσµα στους τύπους των επαναληπτικών µεθόδων Θέτουµε και τότε έχουµε L = D C L U = D C U (D x) i = a ii x i, i =,,, n i a ij (L x) i = x j, a ii (U x) i = j= n j=i+ a ij a ii x j, i =,,, n i =,,, n Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 8 / 49
Επαναληπτική µέθοδος Επιταχυντική Jacobi (Jacobi Overrelaxation (JOR)) x (k+) = x (k) + τ R (b Ax (k) ), k = 0,,, () Αν στην () διαλέξουµε τον R έτσι ώστε R = D τότε προκύπτει ή Αναλύοντας περισσότερο την (4) λαµβάνουµε x (k+) = (I τ D A }{{} )x (k) + τ D b }{{} () B τ c τ x (k+) = B τ x (k) + c τ, k = 0,,, (4) x (k+) = [( τ)i + τb]x (k) + τ c, (5) όπου B = L + U, L = D C L, U = D C U και c = D b. (6) Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 9 / 49
Επαναληπτική µέθοδος Jacobi(J) Αν τ = τότε προκύπτει η ε.µ Jacobi η οποία γράφεται: όπου x (k+) = Bx (k) + c, m = 0,,, B = I D A = I D (D C L C U ) = D C }{{} L + D C U = L + U }{{} L U είναι ο επαναληπτικός πίνακας της ε.µ. Jacobi. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 0 / 49
Σύγκλιση της ε.µ. (J) Ικανή και αναγκαία συνθήκη : Ικανή συνθήκη : Επειδή Η ε.µ. (J) συγκλίνει αν ισχύει max i=()n n j = }{{} j i ρ(b) < ρ(b) B = max a ij a ii < ή a ii i=()n n j = }{{} j i n a ij a ii j = }{{} j i a ij <, για κάθε i Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Σύγκλιση της ε.µ. (J) Αυστηρά διαγωνίως υπερτερών πίνακας αν ισχύει a ii > n j = }{{} j i a ij, για κάθε i τότε ο πίνακας A λέγεται αυστηρά διαγωνίως υπερτερών (α.δ.υ). Αρα αν ο A είναι α.δ.υ. τότε ισχύει δηλ. η ε.µ. J συγκλίνει. ρ(b) B < Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Επαναληπτική µέθοδος Jacobi(J) Υπό µορφή πινάκων : Υπό µορφή συνιστωσών : x (k+) i x (k+) = (L + U)x (k) + c, k = 0,,, x (k) x (k+) x (k) x (k+) x (k) = i = j= x (k). x (k) i x (k) i x (k) i+. x (k) n a ij x (k) j a ii n j=i+ x (k+). x (k+) i x (k+) i x (k+) i+. x (k+) n = x (k+) a ij x (k) j + bi, i = ()n a ii a ii Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Επαναληπτική µέθοδος (J) Παράδειγµα ίνεται το γραµµικό σύστηµα x x = x +x x = 0 x +x = Να δειχθεί ότι η µέθοδος του Jacobi συγκλίνει και να ϐρεθούν οι τρείς πρώτες επαναλήψεις, αν x (0) = (, 0, ). Λύση Ο επαναληπτικός πίνακας της µεθόδου Jacobi είναι ο 0 B = I D A = L + U = 0 0 0 0 Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 4 / 49
Επαναληπτική µέθοδος (J) Επίσης B = B =. Οι ιδιοτιµές του Β είναι 0, και -, εποµένως ρ(b) = < x (k+) = ( + x(k) ) x (k+) = (x(k) + x (k) ), k = 0,,... x (k+) = ( + x(k) ). Για x (0) = (, 0, ) T, δηλαδή για x (0) =, x (0) = 0 και x (0) = έχουµε k = 0 x () = ( + x(0) ) = ( + 0) = x () = (x(0) + x (0) ) = ( + ) = x () = ( + x(0) ) = ( + 0) = Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 5 / 49
Επαναληπτική µέθοδος (J) k = k = x () = ( + x() ) = ( + ) = x () = (x() + x () ) = ( + ) = x () = ( + x() ) = ( + ) = x () = ( + x() ) = ( + ) = 4 x () = (x() + x () ) = ( + ) = x () = ( + x() ) = ( + ) = 4. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 6 / 49
Αλγόριθµος της ε.µ Jacobi(J). ιάβασε n, ɛ, maxiter. Για i = ()n επανάλαβε ιάβασε x0 i ιάβασε b i για j = ()n επανάλαβε ιάβασε a ij. itcount = 0 4. Οσο ισχύει itcount maxiter επανάλαβε 4. Για i = ()n επανάλαβε i x i = j= a ij a ii x0 j n j=i+ a ij a ii x0 j + bi a ii 4. itcount = itcount + 4. Αν x x0 < ɛ τότε Για i = ()n επανάλαβε Τύπωσε x i Τέλος. 4.4 Για i = ()n επανάλαβε x0 i = x i 5. Τύπωσε( Οχι σύγκλιση µετά από maxiter επαναλήψεις ) 6. Τέλος Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 7 / 49
Επαναληπτική µέθοδος Επιταχυντική Gauss-Seidel (EGS) x (k+) = x (k) + τ R (b Ax (k) ), k = 0,,, (7) Αν διαλέξουµε τον R έτσι ώστε R = D C L (8) τότε προκύπτει x (k+) = x (k) + τ(i L) D (b Ax (k) ) (9) ή x (k+) = L τ,x (k) + τ(i L) c (0) όπου L τ, = I τ(i L) D A και c = D b. () Εκφράζοντας τον L τ, σε όρους των L και U έχουµε Οπότε έχουµε L τ, = I τ(i L) (I L U) = ( τ)i + τ(i L) U. () x (k+) = ( τ)x (k) + L x (k+) + (τ ) L x (k) + τ U x (k) + τ c. () Η ανωτέρω µέθοδος καλείται Επιταχυντική Gauss-Seidel(EGS) και για τ = προκύπτει η γνωστή µέθοδος Gauss-Seidel(GS) Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 8 / 49
Επαναληπτική µέθοδος Gauss-Seidel (GS) Υπό µορφή πινάκων : Υπό µορφή συνιστωσών : x (k+) = (I L) U x (k) + c, k = 0,,, }{{} L x (k+) = Lx (k+) + Ux (k) + c, k = 0,,, x (k) x (k+) x (k) x (k+) x (k+) i x (k) = i = x (k). x (k) i x (k) i x (k) i+. x (k) n a ij x (k+) j a ii x (k+). x (k+) i x (k+) i x (k+) i+. x (k+) n = x (k+) j= j=i+ Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 9 / 49 n a ij x (k) j + bi, a ii a ii i = ()n
Σύγκλιση της ε.µ. Gauss-Seidel Ικανή και αναγκαία συνθήκη : ρ(l ) < Ικανή συνθήκη : Αν ο A είναι α.δ.υ. τότε ισχύει L < δηλ. η ε.µ. GS συγκλίνει. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 0 / 49
Επαναληπτική µέθοδος Gauss-Seidel(GS) Για τ = προκύπτει ο τύπος της ε.µ GS όπου c = D b. x (k+) = L x (k+) + U x (k) + c, (4) Επαν. µέθοδοι EGS και GS υπό µορφή συνιστωσών EGS i x (k+) i = j= ^a ijx (k+) j GS για τ = προκύπτει +( τ)x (k) i i +(τ )( i x (k+) i = ^a ijx (k+) j + j= j= ν j=i+ ^a ijx (k) j )+τ( ν j=i+ ^a ijx (k) j )+τ ^b i, i = ()n (5) ^a ijx (k) j + ^b i, i = ()n. (6) όπου ^a ij = aij a ii και ^b i = bi a ii. ιδάσκοντες: Καθηγητής Ν. Μισυρλής,Επίκ. Καθηγητής Εισαγωγή Φ.Τζαφέρης στον ΠρογραµµατισµόΑριθµητική (ΕΚΠΑ) Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Παρατηρήσεις Για την ύπαρξη των δύο ανωτέρω µεθόδων ϑα πρέπει να υπάρχει ο (D C L ) ή det(d C L ) = detd 0 πράγµα που ισχύει αν όλα τα διαγώνια στοιχεία του Α είναι διάφορα του µηδενός. Παρατηρούµε ότι στις ε.µ. EGS και GS οι αριθµητικές πράξεις επηρεάζονται αν εναλλάξουµε τη σειρά των εξισώσεων του συστήµατός µας. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Επαναληπτική µέθοδος Gauss-Seidel (GS) Παράδειγµα ίνεται το γραµµικό σύστηµα x x = x +x x = 0 x +x = Να δειχθεί ότι η µέθοδος του GS συγκλίνει και να ϐρεθούν οι τρείς πρώτες επαναλήψεις, αν x (0) = (, 0, ). Λύση Ο επαναληπτικός πίνακας της µεθόδου GS είναι ο L = (I L) U = 0 0 0 0 0 0 0 0 0 0 0. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 / 49
Επαναληπτική µέθοδος Gauss-Seidel (GS) Από τη σχέση (I L)X = I υπολογίζεται εύκολα ο (I L). Εποµένως L = 0 0 0 4 0 0 0 0 0 = 0 0 0 0 0 0 4 8 4 Οι ιδιοτιµές του L είναι οι 0, 0, / εποµένως ρ(l ) = / < που αποδεικνύει ότι η GS συγκλίνει. Παρατηρούµε ότι ρ(l ) = [ρ(b)] για το παρόν παράδειγµα.. x (k+) = ( + x(k) ) x (k+) = (x(k+) + x (k) ), k = 0,,... x (k+) = ( + x(k+) ). Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 4 / 49
Επαναληπτική µέθοδος Gauss-Seidel (GS) Για x (0) = (, 0, ) T, δηλαδή για x (0) =, x (0) = 0 και x (0) =, έχουµε k = 0 k = x () = ( + x(0) ) = ( + 0) = x () = (x() + x (0) ) = ( + ) = 4 x () = ( + x() ) = ( + 4 ) = 7 8 x () = ( + x() ) = ( + 4 ) = 7 8 x () = (x() + x () ) = (7 8 + 7 8 ) = 7 8 x () = ( + x() ) = ( + 7 8 ) = 5 6 Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 5 / 49
Επαναληπτική µέθοδος Gauss-Seidel (GS) k = Παρατήρηση x () = ( + x() ) = ( + 7 8 ) = 5 6 x () = (x() + x () ) = (5 6 + 5 6 ) = 5 6 x () = ( + x() ) = 5 ( + 6 ) =. Η µέθοδος GS συγκλίνει πολύ γρηγορότερα από τη µέθοδο Jacobi προς την ακριβή λύση (,, ) T του συστήµατος. Αυτό αναµενόταν αφού R(L ) = R(B). Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 6 / 49
Αλγόριθµος της ε.µ Gauss-Seidel(GS). ιάβασε n, ɛ, maxiter. Για i = ()n επανάλαβε για j = ()n επανάλαβε ιάβασε a ij ιάβασε b i ιάβασε x0 i. itcount = 0 4. Οσο ισχύει itcount maxiter επανάλαβε 4. Για i = ()n επανάλαβε i x i = j= a ij a ii x j n j=i+ a ij a ii x0 j + bi a ii 4. itcount = itcount + 4. Αν x x0 < ɛ τότε Για i = ()n επανάλαβε Τύπωσε x i Τέλος. 4.4 Για i = ()n επανάλαβε x0 i = x i 5. Τύπωσε( Οχι σύγκλιση µετά από maxiter επαναλήψεις ) 6. Τέλος Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 7 / 49
Επαναληπτική Επιταχυντική µέθοδος της ιαδοχικής Υπερµείωσης (Extrapolated Successive Overrelaxation (ESOR)) x (k+) = x (k) + τ R (b Ax (k) ), k = 0,,, (7) Είναι δυνατόν να ϐρεθούν δύο άλλες µέθοδοι αν εισάγουµε µία παράµετρο στη µορφή του R. Ετσι αν ϑέσουµε R = D ωc L (8) στην (7), όπου ω είναι ένας πραγµατικός αριθµός του οποίου ο ϱόλος στη ϕάση αυτή είναι να διαταράξει τον R έτσι ώστε να προσεγγίζει καλύτερα τον Α τότε έχουµε x (k+) = x (k) + τ(i ωl) D (b Ax (k) ), k = 0,,... (9) ή x (k+) = L τ,ω x (k) + τ(i ωl) c (0) όπου L τ,ω = I τ(i ωl) D A. () Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 8 / 49
Επαναληπτική Επιταχυντική µέθοδος της ιαδοχικής Υπερµείωσης (Extrapolated Successive Overrelaxation (ESOR)) Προκειµένου να ϐρούµε την εξίσωση των συνιστωσών η (9) µπορεί να γραφτεί σαν x (k+) = ( τ)x (k) + ωlx (k+) + (τ ω)lx (k) + τ Ux (k) + τ c () οπότε έχουµε x (k+) i = ( τ)x (k) i +τ i + ω ^a ij x (k+) i j + (τ ω) n j=i+ j= j= ^a ij x (k) j ^a ij x (k) j + τ ^b i, i =,,..., n. () Κατά την υλοποίηση της ESOR είναι δυνατόν να γίνει εξοικονόµηση των υπολογισµών αν αποθηκευτεί η ποσότητα Lx (k) προκειµένου να χρησιµοποιηθεί στην επόµενη επανάληψη. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 9 / 49
Επαναληπτική µέθοδος της ιαδοχικής Υπερµείωσης (Successive Overrelaxation (SOR) ) Αν ϑέσουµε τ = ω στην ESOR λαµβάνουµε τη δηµοφιλή Successive Overrelaxation(SOR) µέθοδο, η οποία δίνεται διαδοχικά από τους τύπους x (k+) = x (k) + ω(i ωl) D (b Ax (k) ) (4) x (k+) = L ω x (k) + ω(i ωl) c (5) όπου ή L ω = I ω(i ωl) D A. (6) L ω = (I ωl) [( ω)i + ωu] είναι ο επαναληπτικός πίνακας της ε.µ. SOR. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 40 / 49
Επαναληπτική µέθοδος ( Successive Overrelaxation (SOR)) Επίσης η SOR γράφεται και σαν x (k+) = (I ωl) [( ω)i + ωu]x (k) + ω(i ωl) c (7) ή x (k+) = ( ω)x (k) + ω[lx (k+) + Ux (k) + c]. (8) Παρατηρήστε ότι η ποσότητα της αγκύλης είναι η GS µέθοδος, συνεπώς η (8) λαµβάνει τη µορφή x (k+) = ( ω)x (k) + ωx (k+) GS (9) όπου x (k+) GS συµβολίζει την k + επανάληψη της GS µεθόδου. Η (9) υπήρξε η αφετηρία της ανακάλυψης της SOR µεθόδου. Τέλος, υπό µορφή συνιστωσών η SOR δίνεται από τους τύπους x (k+) i = ( ω)x (k) i i + ω j= ^a ij x (k+) j + ω n j=i+ ^a ij x (k) j + ω^b i, i =,,..., n. (40) Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 4 / 49
Σύγκλιση της ε.µ. SOR Αν λ i είναι οι ιδιοτιµές του L ω, τότε det(l ω) = n λ i i= Αλλά det(l ω) = det { (I ωl) [( ω)i + ωu] } det { (I ωl) } det {( ω)i + ωu} = ( ω) n = ( ω) n Αρα n n [ρ(l ω)] n λ i = λ i = ( ω) n = ω n i= i= ω ρ(l ω) Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 4 / 49
Σύγκλιση της ε.µ. SOR Για να συγκλίνει η ε.µ. SOR ϑα πρέπει να ισχύει ρ(l ω ) < Αρα ή ω < 0 < ω < Εποµένως, αν η ε.µ. SOR συγκλίνει τότε 0 < ω <. Η ϐέλτιστη τιµή ω b της παραµέτρου ω προσδιορίζεται έτσι ώστε να ελαχιστοποιείται η ϕασµατική ακτίνα ρ(l ω ) του επαναληπτικού πίνακα της ε.µ. SOR. Η µελέτη της ρ(l ω ) σαν συνάρτηση της ω ϕαίνεται στο ακόλουθο σχήµα. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 4 / 49
Μελέτη της ϕασµατικής ακτίνας ρ(l ω ) S(L ω).0 (, ) (, µ ) (ω b, ω b ).0 ω b.0 ω ω b = + ρ(b), ρ(l ω b ) = ω b Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 44 / 49
Επαναληπτική µέθοδος SOR Υπό µορφή πινάκων ή x (k+) = ( ω)x (k) + ωx (k+) GS, k = 0,,, x (k+) = ( ω)x (k) + ω(lx (k+) + Ux (k) + c), k = 0,,, Υπό µορφή συντεταγµένων x (k+) i = ( ω)x (k) i i + ω( j= i = ()n a ij x (k+) j a ii n j=i+ a ij x (k) j + b i ) a ii a ii Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 45 / 49
Επαναληπτική µέθοδος SOR Παράδειγµα ίνεται το γραµµικό σύστηµα x x = x +x x = 0 x +x = Να δειχθεί ότι η µέθοδος του SOR συγκλίνει και να ϐρεθούν οι τρείς πρώτες επαναλήψεις, αν x (0) = (, 0, ). Λύση Η µέθοδος SOR δίνεται από το ακόλουθο επαναληπτικό σχήµα : x (k+) = ( ω)x (k) + ωx (k+) GS, όπου x (k+) GS είναι το επαναληπτικό διάνυσµα που προκύπτει από την εφαρµογή της Gauss-Seidel µεθόδου. Εποµένως, για το τριδιαγώνιο σύστηµα του προηγούµενου παραδείγµατος, η SOR παράγει το επαναληπτικό σχήµα : Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 46 / 49
Επαναληπτική µέθοδος SOR x (k+) = ( ω)x (k) + ω ( + x(k) ) x (k+) = ( ω)x (k) + ω (x(k+) + x (k) ), k = 0,,... x (k+) = ( ω)x (k) + ω ( + x(k+) ). Η ϐέλτιστη τιµή του ω δίνεται από τον τύπο (Θεώρηµα.4.6) ω b = + ρ(b) ή ενώ ω b = = + 4 +.76. ρ(ω b ) = ω b 0.76. Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 47 / 49
Επαναληπτική µέθοδος SOR Λαµβάνοντας, x (0) = (, 0, ) T, δηλαδή, x (0) =, x (0) = 0 και x (0) = έχουµε για k = 0 x () 4 = ( + ) + + ( + 0) = + = + 0.44 x () 4 = ( + ) 0 + + ( + 4( + ) + ) = ( + ) 0.8984 x () 4 = ( + ) + + 4( + ) ( + ( + ) ) = 4 ( + ) 0.8995 Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 48 / 49
Αλγόριθµος της ε.µ SOR. ιάβασε n, ω, ɛ, maxiter. Για i = ()n επανάλαβε για j = ()n + επανάλαβε ιάβασε a ij ιάβασε x0 i. itcount = 0 4. Οσο ισχύει itcount maxiter επανάλαβε 4. Για i = ()n επανάλαβε x i = ( ω)x0 i+ i +ω( j= a ij a ii x j n j=i+ a ij a ii x0 j + bi a ii ) 4. itcount = itcount + 4. Αν x x0 < ɛ τότε Για i = ()n επανάλαβε Τύπωσε x i Τέλος. 4.4 Για i = ()n επανάλαβε x0 i = x i 5. Τύπωσε( Οχι σύγκλιση µετά από maxiter επαναλήψεις ) 6. Τέλος Ανάλυση (ή Επιστηµονικοί 8 εκεµβρίου Υπολογισµοί) 04 49 / 49