Επιστηµονικός Υπολογισµός Ι

Σχετικά έγγραφα
Επιστηµονικός Υπολογισµός Ι

Γραµµική Αλγεβρα. Ενότητα 2 : Επίλυση Γραµµικών Εξισώσεων. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Επιστηµονικός Υπολογισµός Ι

Γραµµική Αλγεβρα. Ενότητα 6 : Ιδιοτιµές & Ιδιοδιανύσµατα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Επιστηµονικός Υπολογισµός Ι

Γραµµική Αλγεβρα. Ενότητα 6 : Ιδιοτιµές & Ιδιοδιανύσµατα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Γραµµική Αλγεβρα. Ενότητα 4 : Ορθογωνιότητα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Επιστηµονικός Υπολογισµός Ι

Επιστηµονικός Υπολογισµός Ι Ενότητα 5 - Επίλυση Γραµµικών Συστηµάτων. Ευστράτιος Γαλλόπουλος

Γραµµική Αλγεβρα. Ενότητα 2 : Επίλυση Γραµµικών Εξισώσεων. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Γραµµική Αλγεβρα. Ενότητα 7 : Γραµµικοί Μετασχηµατισµοί. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Γραµµική Αλγεβρα. Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Επιστηµονικός Υπολογισµός Ι Ενότητα 1 - Εισαγωγή. Ευστράτιος Γαλλόπουλος

Γραµµική Αλγεβρα. Ενότητα 7 : Γραµµικοί Μετασχηµατισµοί. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Γραµµική Αλγεβρα. Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Επιστηµονικός Υπολογισµός Ι

Γραµµική Αλγεβρα. Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Παναγιώτης Ψαρράκος Αν. Καθηγητής

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

Γραµµική Αλγεβρα. Ενότητα 6 : Ιδιοτιµές & Ιδιοδιανύσµατα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Επιστηµονικός Υπολογισµός ΙΙ

Ειδικά θέματα στην επίλυση

Γραµµική Αλγεβρα. Ενότητα 5 : Ορίζουσες. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Εισαγωγή στους Αλγορίθμους

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 6: Πίνακες [2/2] (Δισδιάστατοι)

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Γραµµική Αλγεβρα. Ενότητα 6 : Ιδιοτιµές & Ιδιοδιανύσµατα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

QR είναι ˆx τότε x ˆx. 10 ρ. Ποιά είναι η τιµή του ρ και γιατί (σύντοµη εξήγηση). P = [X. 0, X,..., X. (n 1), X. n] a(n + 1 : 1 : 1)

Παναγιώτης Ψαρράκος Αν. Καθηγητής

Εισαγωγή στους Αλγορίθμους

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στους Αλγορίθμους

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

ΜΕΜ251 Αριθμητική Ανάλυση

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Επιστηµονικός Υπολογισµός Ι

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

Επαναληπτικές μέθοδοι για την επίλυση γραμμικών συστημάτων. Μιχάλης Δρακόπουλος

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ( , c Ε. Γαλλόπουλος) ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. Ε. Γαλλόπουλος. ΤΜΗΥΠ Πανεπιστήµιο Πατρών. ιαφάνειες διαλέξεων 28/2/12

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Αριθμητική Γραμμική Άλγεβρα (1) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

Βέλτιστος Έλεγχος Συστημάτων

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς Συστήματα Γραμμικών Αλγεβρικών Εξισώσεων

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς Συστήματα Γραμμικών Αλγεβρικών Εξισώσεων

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Κυρτή Ανάλυση. Ενότητα: Ακραία σηµεία - Ασκήσεις. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στην Τοπολογία

Βέλτιστος Έλεγχος Συστημάτων

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

Επίλυση Γραµµικών Συστηµάτων

Επιστηµονικός Υπολογισµός ΙΙ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

Ηλεκτρονικοί Υπολογιστές IV

{ } ΠΛΗ 12: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι 2 η ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ. Απαντήσεις. 1. (15 µονάδες)

Υπολογιστικά & Διακριτά Μαθηματικά

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Αριθµητική Ανάλυση. 27 Οκτωβρίου Αριθµητική Ανάλυση 27 Οκτωβρίου / 72

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Ιστορία των Μαθηματικών

Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών

Επιστηµονικός Υπολογισµός Ι

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 7: Αλγόριθμοι γραμμικής άλγεβρας

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Μοντέρνα Θεωρία Ελέγχου

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Αστικά υδραυλικά έργα

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Άλγεβρα των Πινάκων (2) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Διάλεξη 3: Περιγραφή αριθμητικών μεθόδων (συνέχεια)

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 5 η : Αποκατάσταση Εικόνας

Προγραμματισμός και Εφαρμογές Υπολογιστών

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Γραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

Transcript:

Επιστηµονικός Υπολογισµός Ι Ενότητα 7 : ιαχείρηση Μητρώων Ειδικής οµής Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ϱητώς. Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 1 / 23

Χρηµατοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδηµαϊκά Μαθήµατα στο Πανεπιστήµιο Πατρών» έχει χρηµατοδοτήσει µόνο τη αναδιαµόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράµµατος «Εκπαίδευση και ια Βίου Μάθηση» και συγχρηµατοδοτείται από την Ευρωπαϊκή Ενωση (Ευρωπαϊκό Κοινωνικό Ταµείο) και από εθνικούς πόρους. Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 2 / 23

Σκοπός Ενότητας Μητρώα Ϲώνης Αραιά µητρώα Βιβλιοθήκη LAPACK Στοιχεία επαναληπτικών µεθόδων για την επίλυση γραµµικών συστηµάτων Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 3 / 23

Περιεχόµενα 1 Μητρώα ειδικής δοµής Αραιά µητρώα (υπενθύµιση) Αναπαράσταση και αποθήκευση 2 Επαναληπτικές µέθοδοι (µε 2 λόγια) Μία κατηγοριοποιήση Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 4 / 23

Επανάληψη ιάλεξη 9/12 Μέθοδοι ελαχίστων τετραγώνων για την επίλυση γραµµικών συστηµάτων Επίλυση συστηµάτων µητρώα Ϲώνης και τριδιαγώνια µητρώα Επίδραση της οδήγησης Βιβλιοθήκη LAPACK Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 5 / 23

Αραιά µητρώα Η αραιότητα είναι η πιο συνηθισµένη δοµική ιδιότητα των µητρώων που προκύπτουν στις εφαρµογές. Την αξιοποιούµε ως εξής: Κατά την αποθήκευση του µητρώου, µε αραιές τεχνικές, ειδικές δοµές δεδοµένων, κλπ. Κατά την επιλογή µεθόδου χρήσης του µητρώου στα προβλήµατα της υπολογιστικής γραµµικής άλγεβρας. Π.χ. στην επίλυση συστηµάτων χρησιµοποιούνται: άµεσες αραιές µέθοδοι (π.χ. ϐλ. [Dav06]), ή επαναληπτικές µέθοδοι (π.χ. ϐλ. [Saa03]) Οι µέθοδοι επίλυσης, χρησιµοποιούν ειδικούς «υπολογιστικούς πυρήνες» για τις απλές πράξεις π.χ. sparse BLAS, όπως «πολλαπλασιασµός αραιού µητρώου µε διάνυσµα». «κρυφός πολλαπλασιασµός» µέσω υπορουτίνας «µαύρου κουτιού» Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 6 / 23

Αναπαράσταση και αποθήκευση Πυκνή αποθήκευση σε πίνακα m n ϑέσεων ( οµή εδοµένων Λογισµικό) στη µνήµη εγγράφεται σε διαδοχικές διευθύνσεις (κατά γραµµές ή στήλες) (Λογισµικό Υλικό) χρειάζονται mn ϑέσεις µνήµης Αραιή αποθήκευση Αποθηκεύονται µόνον τα µη µηδενικά καθώς και δείκτες για πρόσβαση Συχνά 3 µονοδιάστατοι πίνακες αρκούν 3nnz ϑέσεις µνήµης πολυπλοκότερος προγραµµατισµός Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 7 / 23

Παράδειγµα Αποθήκευση COO και CSR 1.0 0 0 0 0 2.0 0 0 0 3.0 0 0 0 1.0 0 0 4.0 0 0 0 9.0 0 0 0 0 25 ϑέσεις COO: 18 ϑέσεις. CSR: 17 ϑέσεις. Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 8 / 23

Compressed Sparse Row (CSR) 1 0 0 1 0 2 0 2 0 3 0 3 0 0 0 0 4 0 4 0 5 0 5 0 6 VAL πίνακας nnz α.κ.υ. Περιέχει τις µη µηδενικές τιµές α.κ.υ., διατεταγµένες ανά γραµµή JA πίνακας nnz ακεραίων. Το JA(i) είναι η στήλη που περιέχει το VAL(i). IA πίνακας n + 1 ακεραίων. Το IA(i) είναι η ϑέση του 1ου στοιχείου της i-οστής γραµµής i στα JA, VAL. Αν IA(i)=IA(i+1) η γραµµή είναι µηδενική. Συνήθως για ένδειξη τέλους IA(n+1) = IA(1) +nnz Αλλες µέθοδοι αραιής αποθήκευσης / αραιές δοµές Πολλές προτάσεις στη ϐιβλιογραφία (compressed sparse column, modified sparse row, diagonal, skyline, jagged format, blocked CSR,...) Πρέπει να προσαρµόζεται ο κώδικας ανάλογα µε τον τρόπο αποθήκευσης Ευστράτιος Γαλλόπουλος... c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 9 / 23

Πολλαπλασιασµός MV Μητρώο σε αραιή αποθήκευση Χρησιµοποιώντας ορολογία MATLAB για τη δοµή CSR 1 function [y] = spmv_csr(val,ia,ja,y,x) 2 % pollaplasiasmos y <- y + A*x opou to A einai se morfh CSR 3 for i=1:n 4 k1=ia(i); k2=ia(i+1)-1; 5 y(i) = y(i)+ dot(val(k1:k2),x(ja(k1:k2))); 6 end Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 10 / 23

Πολλαπλασιασµός MV Μητρώο σε αραιή αποθήκευση Χρησιµοποιώντας ορολογία MATLAB για τη δοµή CSR 1 function [y] = spmv_csr(val,ia,ja,y,x) 2 % pollaplasiasmos y <- y + A*x opou to A einai se morfh CSR 3 for i=1:n 4 k1=ia(i); k2=ia(i+1)-1; 5 y(i) = y(i)+ dot(val(k1:k2),x(ja(k1:k2))); 6 end 1 function [y] = spmv_csc(val,ia,ja,y,x) 2 % pollaplasiasmos y <- y + A*x opou to A se morfh CSC 3 for j=1:n 4 k1=ia(j); k2=ia(j+1)-1; 5 y(ja(k1:k2)) = y(ja(k1:k2) + x(j)*val(k1:k2); 6 end Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 10 / 23

Αραιά µητρώα στη MATLAB Σηµαντική διευκόλυνση: τα µητρώα αποθηκεύονται ως CSR, αναφερόµαστε σ αυτά µε τον κλασικό τρόπο, A(i,j) είναι το στοιχείο στη ϑέση (i, j) του µητρώου A. Οι σηµαντικότερες πράξεις (όπως η LU) υλοποιούνται και ως µέθοδοι για µητρώα που ανήκουν στην «αραιή κλάση». Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 11 / 23

εν υπάρχει υποδοµή για όλα: παραδείγµατα και ελλείψεις 1 >>whos A 2 Name Size Bytes Class Attributes 3 A 100x100 1592 double sparse 4 >>norm(a) 5??? Error using ==> norm 6 Sparse norm(s,2) is not available. 1 A=toeplitz([2,-1,zeros(1,998)]); As=sparse(A); 2 whos A As 3 Name Size Bytes Class Attributes 4 A 1000x1000 8000000 double 5 As 1000x1000 39980 double spars 6 single(as) 7??? Error using ==> single 8 Attempt to convert to unimplemented sparse ty Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 12 / 23

Επίλυση προβληµάτων ΑΓΑ µε επαναληπτικές µεθόδους Κίνητρο Πολλά ενδιαφέροντα προβλήµατα αντιστοιχούν σε µητρώα που είναι... πολύ µεγάλα... ειδικής δοµής δείτε Sparse Matrix Florida Collection οι άµεσες µέθοδοι (π.χ. LU, QR) είναι απαγορευτικές Βασικές περιοχές που ενδιαφέρουν άµεσα στο ΤΜΗΥΠ: Μεγάλες προσοµοιώσεις, π.χ. κυκλωµάτων Ανάκτηση πληροφορίας, π.χ. ειδικές παραγοντοποιήσεις Αλγοριθµικά ϑέµατα στο διαδίκτυο, π.χ. ϐαθµολόγηση ιστοσελίδων (PageRank) Μεγάλα προβλήµατα δικτύων Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 13 / 23

Επαναληπτικές µέθοδοι Γενικές µέθοδοι επίλυσης στις οποίες επαναλαµβάνεται µία συγκεκριµένη διαδικασία µέχρι να επιτευχθεί ικανοποιητική προσέγγιση της λύσης. x (k+1) = Φ(k, A, b, x (k), x (k 1),...), για k = 0,... δοθέντος αρχικού x (0). Ζητούµενα: σχεδίαση και υλοποίηση της Φ µε τις εξής ιδιότητες χαµηλό κόστος (πράξεις, µνήµη) ανά ϐήµα ταχύ ϱυθµό προσέγγιση λύσης Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 14 / 23

Επαναληπτικές µέθοδοι: Χονδρική κατηγοριοποίηση Κλασικές µέθοδοι: σε κάθε ϐήµα επιτελείται 1) γρήγορη επίλυση µε εύκολο µητρώο που προέρχεται από το A και 2) διόρθωση της τρέχουσας λύσης, µέχρις ότου ικανοποιηθεί κάποιο κριτήριο τερµατισµού. Μέθοδοι προβολής: σε κάθε ϐήµα επιχειρείται 1) προσέγγιση της λύσης από κάποιον υπόχωρο του R n, 2) αλλαγή ή επαύξηση του υπόχωρου, µέχρις ότου ικανοποιηθεί κάποιο κριτήριο τερµατισµού. Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 15 / 23

Κατασκευή κλασικών επαναληπτικών µεθόδων Για να λύσουµε Ax = b ιαχωρισµός A = M N (splitting) επιλέγοντας «εύκολα αντιστρέψιµο» M Επαναλήψεις Mx (k+1) = Nx (k) + b µε δοθέν x (0) Κριτήριο τερµατισµού µε ϐάση τις τιµές b Ax (k), x (k+1) x (k), k Παραδείγµατα Jacobi A = D (L + U), D = diag(diag(a)) Gauss-Seidel A = (D L) U Επαναληπτική εκλέπτυνση A = LŨ + (A LŨ) Ερωτήµατα συγκλίνει; (x (k) x) πόσο γρήγορα; πώς διαπιστώνουµε τη σύγλιση; ποιό είναι το κόστος επανάληψης; πως υλοποιείται αποτελεσµατικά; Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 16 / 23

Μερικές ϕορές η διόρθωση είναι απλή! Τύπος Sherman-Morrison Αν A R n n, u R n 1, v R n 1 τότε (A + uv ) 1 = A 1 A 1 u(1 + v A 1 u) 1 v A 1 Στην επίλυση συστηµάτων (A + uv ) 1 b = A 1 b A 1 u(1 + v A 1 u) 1 v A 1 b Το αντίστροφο της ανανέωσης τάξης 1 ενός µητρώου A µπορεί να γραφτεί συναρτήσει του αντιστρόφου του A. Το χρησιµοποιούµε όταν η διαχείριση του A είναι πολύ πιο εύκολη από τη διαχείριση του B = A + uv αν ϐέβαια γνωρίζουµε τα u, v. Σκεφτείτε αν το A ήταν διαγώνιο! ή τριδιαγώνιο και τα u, v τυχαία µητρώα!!! Επεκτείνεται και για k > 1, όµως καθώς µεγαλώνει το k µεγαλώνει και η επιβάρυνση του υπολογισµού της διόρθωσης... Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 17 / 23

Επαναληπτικές µέθοδοι Krylov Θεώρηµα Cayley-Hamilton Αν p(z) = det(a zi) = z n + n 1 j=0 γ jz j τότε p(a) = 0 A 1 = 1 γ 0 ( A n 1 + γ n 1 A n 2 + γ 1 ) Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 18 / 23

Επαναληπτικές µέθοδοι Krylov Θεώρηµα Cayley-Hamilton Αν p(z) = det(a zi) = z n + n 1 j=0 γ jz j τότε p(a) = 0 A 1 = 1 γ 0 ( A n 1 + γ n 1 A n 2 + γ 1 ) A 1 b = [b, Ab,, A n 1 b]c για c = 1 γ 0 [γ 1,, γ n 1, 1], µη πρακτικό ΜΕΘΟ ΟΙ Krylov Αναζητούµε προσέγγιση x (m) K m (A; b) = υπόχωρος Krylov {}}{ span{b, Ab,..., A m 1 b} = V m y (m) όπου V m ΟΚ ϐάση του K m (A; b) Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 18 / 23

Επαναληπτικές µέθοδοι Krylov Θεώρηµα Cayley-Hamilton Αν p(z) = det(a zi) = z n + n 1 j=0 γ jz j τότε p(a) = 0 A 1 = 1 γ 0 ( A n 1 + γ n 1 A n 2 + γ 1 ) A 1 b = [b, Ab,, A n 1 b]c για c = 1 γ 0 [γ 1,, γ n 1, 1], µη πρακτικό ΜΕΘΟ ΟΙ Krylov Αναζητούµε προσέγγιση x (m) K m (A; b) = υπόχωρος Krylov {}}{ span{b, Ab,..., A m 1 b} = V m y (m) όπου V m ΟΚ ϐάση του K m (A; b) Για πλήρη καθορισµό του x (m) περιορίζουµε ώστε r (m) = b Ax (m) K m (A; b) 0 = V m (b AV m y (m) ) Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 18 / 23

Επαναληπτικές µέθοδοι Krylov Θεώρηµα Cayley-Hamilton Αν p(z) = det(a zi) = z n + n 1 j=0 γ jz j τότε p(a) = 0 A 1 = 1 γ 0 ( A n 1 + γ n 1 A n 2 + γ 1 ) A 1 b = [b, Ab,, A n 1 b]c για c = 1 γ 0 [γ 1,, γ n 1, 1], µη πρακτικό ΜΕΘΟ ΟΙ Krylov Αναζητούµε προσέγγιση x (m) K m (A; b) = υπόχωρος Krylov {}}{ span{b, Ab,..., A m 1 b} = V m y (m) όπου V m ΟΚ ϐάση του K m (A; b) Για πλήρη καθορισµό του x (m) περιορίζουµε ώστε r (m) = b Ax (m) K m (A; b) 0 = V m (b AV m y (m) ) Το αρχικό πρόβληµα Ax = b προσεγγίζεται µέσω επίλυσης συστήµατος m m (αν αντιστρέψιµο): (V m AV m)y (m) = V m b x(m) = V m y (m) ενδιαφέροντα ϑέµατα, ϐλ. [Saa03] Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 18 / 23

Υπολογιστικά ϑέµατα Αποθήκευση αραιό µητρώο ϕθηνή αποθήκευση υσκολία προγραµµατισµού χρειάζεται ειδικός που εξαρτάται από την αραιή δοµή αποθήκευσης. Η MATLAB απλουστεύει γιατί αναφερόµαστε σε αραιά µητρώα ως πυκνά. π.χ. το A(i,j) εξακολουθεί να σηµαίνει το στοιχείο στη ϑέση (i, j) του µητρώου A αν και εσωτερικά, υλοποιείται εντελώς διαφορετικά. Μειωµένη απόδοση (MV) µε αραιό A R n n µε 5 περίπου στοιχεία ανά γραµµή (π.χ. gallery( poisson,n) όπου n = N 2 ). Τότε Κόστος MV O(nnz(A)) µ sparse min = 4/5 Αν ήταν πυκνό, η τιµή για MV ϑα ήταν µ min = (n 2 + 3n)/2n 2 1/2. ηλαδή, η τοπικότητα είναι µικρότερη λόγω αραιότητας. Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 19 / 23

Βιβλιογραφία I T.A. Davis. Direct Methods for Sparse Linear Systems. SIAM, Philadelphia, 2006. Y. Saad. Iterative Methods for Sparse Linear Systems. SIAM, Philadelphia, 2003. Ε. Γαλλόπουλος. Επιστηµονικός Υπολογισµός Ι. Πανεπιστήµιο Πατρών, 2008. Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 20 / 23

Χρήση Εργου Τρίτων I 1 https://www.mathworks.com/help/pdf_doc/otherdocs/simax.pdf (ϐλ. σελ 11) 2 Sparse Matrix Florida Collection (ϐλ. σελ 13) Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 21 / 23

Σηµείωµα Αναφοράς Copyright Πανεπιστήµιο Πατρών - Ευστράτιος Γαλλόπουλος 2015 Επιστηµονικός Υπολογισµός Ι, Εκδοση: 1.0, Πάτρα 2013-2014. ιαθέσιµο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1096/ Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 22 / 23

Τέλος Ενότητας Ευστράτιος Γαλλόπουλος c (ΤΜΗΥΠ, Π. Πατρών) Επιστηµονικός Υπολογισµός Ι 13 εκεµβρίου 2013 23 / 23