EΘNIKO ΜEΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΙΙ: Ανάλυσης, Σχεδιασμού & Ανάπτυξης Διεργασιών & Συστημάτων Διάλεξη 3: Βασικές τεχνικές επίλυσης γραμμικών συστημάτων Μάθημα Επιλογής 8 ου εξαμήνου Διδάσκων: Α. Κοκόσης Συνεργάτες: Α. Νικολακόπουλος, Θ.Χ. Ξενίδου
Επισκόπηση Τεχνικές επίλυσης γραμμικών συστημάτων Επισκόπηση Γενικευμένες μέθοδοι Επίλυση με αντιστροφή Gauss elimination LU decomposition Υπολογιστικές απαιτήσεις Εξειδικευμένες μέθοδοι Jacobi, Gauss Seidel, κλπ
1. Γενικευμένες μέθοδοι
Επίλυση με αντιστροφή Αντιπροσωπεύει απευθείας επίλυση, 1 Ax bxa b Ο υπολογισμός του Α 1 είναι γενικά επίπονος Ο Α 1 μπορεί να είναι ιδιάζων Στις περιπτώσεις όπου ο αριθμός κατάστασης (κλάσμα μεγαλύτερης ιδιοτιμής προς μικρότερη ιδιοτιμή) είναι μεγάλος, η σύγκλιση αποσταθεροποιείται στη διάρκεια των ενδιάμεσων επαναλήψεων (δλδ με διαφορετικά άb)
Μέθοδος Gauss Gauss (elimination): Ίσως η πιο καθιερωμένη και διαδομένη μέθοδος Βασική ιδέα: χρησιμοποιείται κάθε φορά μία εξίσωση στην απαλοιφή μιας μεταβλητής. Στο τέλος προκύπτει μία εξίσωση με έναν άγνωστο και επιλύει γυρίζοντας πίσω στους υπολογισμούς. A x b ' ' ' ' a a a x b 11 12 1n 1 1 a a a 11 12 1m x1 b11 ' ' a x b a x 21 2 2 21 2 b2 ' ' ' a a x n1 nn xn bn a a n1 nm n bn ' x n a x n1,x n2,...,x1 nn Τι γίνεται όμως όταν χρειάζονται οι λύσεις για πολλά b;
LU decomposition Βασική ιδέα: Ένας πίνακας A nxn τότε μπορεί να γραφεί σαν γινόμενο: A L U Επίλυση εξίσωσης L: κάτω τριγωνικός U: άνω τριγωνικός Ax LUx y Ly b Ux b b y Ly b Ux y (ευθεία αντικατάσταση) (πίσω αντικατάσταση) L 1 0 0 0 l 1 0 0 21 1 l l 1 n1 n2 U u u u 0 u 22 11 12 1n 0 0 u nn Η μέθοδος εξυπηρετεί πολύ όταν έχουμε διαφορετικά b ενώ το L και U παραμένουν ως έχουν.
LU decomposition (2) Ο Πίνακας U προκύπτει σαν αποτέλεσμα των υπολογισμών της απαλοιφής Gauss O Πίνακας L αντιπροσωπεύει ουσιαστικά τα υπολογιστικά βήματα απαλοιφής όρων στα ενδιάμεσα βήματα της Gauss Παράδειγμα 2 2 1 1 0 0 2 2 1 A 2 3 1 1 1 0 0 1 0 2 1 2 1 1 1 0 0 1
LU decomposition (3) Παρατηρήσεις Η κατασκευή των L και U στο LU decomposition μας διασφαλίζει την πληροφορία που απαιτείται για να αποτιμήσουμε αν ο Α είναι ιδιάζων (singular). Πιο συγκεκριμένα, στην κατασκευή του χρησιμοποιούμε (κλειστών συστημάτων): 1 2 n2,,,...,, 11 22 33 n1 n1 σαν παρονομαστές. Αν είναι όλοι 0 τότε ο Α δεν είναι ιδιάζων. Με LU μπορούμε να υπολογίσουμε παράλληλα ιδιοτιμές και ιδιοδιανύσματα λύνοντας Όπου, Ax e b i e 1,0,...,0,e 0,1,...,0 1 2 i
2. Υπολογιστικές απαιτήσεις
Βάση σύγκρισης Πίνακας A με διαστάσεις nxn. Μέτρο σύγκρισης: flops (floating point operations). Όλοι οι επεξεργαστές των υπολογιστές έχουν συγκεκριμένες δυνατότητες flops/sec Supercomputers: 50x10 12 flops/sec Προσωπικοί υπολογιστές: 10x10 9 flops/sec Γνωρίζοντας τις δυνατότητες του υπολογιστή μπορεί να ρζ ς ς η ς γ ήμ ρ υπολογίσει κανείς το χρόνο διεκπεραίωσης των υπολογισμών
Απαλοιφή Gauss Βήματα Βήματα απαλοιφής Υπολογισμός κάθε μεταβλητής Συνολικά (n φορές το άθροισμα των παραπάνω βημάτων)
Μέθοδος LU 1. Υπολογισμός LU 2. Ευθεία αντικατάσταση 3. Πίσω αντικατάσταση Συνολικά: n φορές το (2)+(3) + 1 φορά το (1)
Παράδειγμα Flops για n=10 Gauss: 4300 LU: 1475 Flops για n=100 Gauss: 343,300,000300 000 LU: 1,348,250
3. Εξειδικευμένες μέθοδοι
Εξειδικευμένες μέθοδοι (Jacobi, Gauss Seidel) Κίνητρο. Για ένα γραμμικό σύστημα, 1 Ax bxa b Ο υπολογισμός του Α 1 είναι επίπονος αλλά θα μπορούσε να απλουστευθεί τη δομή του συστήματος Βασική ιδέα Εκμεταλλευόμαστε τη δομή του πίνακα για να αποφύγουμε μια απευθείας λύση (αναλυτική λύση) Αντί μιας αναλυτικής λύσης, χρησιμοποιώντας ιδιότητες, επιδιώκουμε αριθμητική λύση (δλδ με επαναληπτικά βήματα ) Σε πολλές περιπτώσεις η σύγκλιση επιτυγχάνεται και αποδεικνύεται αυτό σε λιγότερα βήματα από εκείνα της αντιστροφής Εφαρμογές επεκτείνονται και όπου δεν ισχύουν αυστηρά οι συνθήκες (ουσιαστικά δοκιμάζοντας την τύχη μας )
Jacobi Βασική ιδέα Γράφουμε τον πίνακα Α A = D + R D είναι διαγώνιος. R ότι απομένει. Αντί να επιλύσουμε τώρα Επιλύουμε επαναληπτικά Αx= b = (D+R)= Dx + Rx x k+1 =D 1 (b R.x k ) η προϋπόθεση για σύγκλιση είναι να έχουμε ένα πίνακα A με διαγώνια υπεροχή (diagonal dominant), δηλαδή τα διαγώνια στοιχεία του να είναι μεγαλύτερα από το άθροισμα όλων των μη διαγώνιων
Βασική ιδέα Γράφουμε τον πίνακα Α Gauss-Seidel A = L+ U L, U: κάτω/άνω τριγωνικοί πίνακες. Αντί να επιλύσουμε τώρα Επιλύουμε επαναληπτικά Αx= b = (L+U)= Lx + Ux x k+1 =L 1 (b U.x k ) η προϋπόθεση για σύγκλιση είναι να έχουμε ένα πίνακα A με διαγώνια υπεροχή (diagonal dominant), δηλαδή τα διαγώνια στοιχεία του να είναι μεγαλύτερα από το άθροισμα όλων των μη διαγώνιων που να είναι συμμετρικός και θετικός