Σποραδικές Μήτρες (Sparse Matrices) Αθανάσιος Μυγδαλ ας ΑΠΘ AΠΘ. 17 Μαρτίου 2010 c Α.Μ.

Σχετικά έγγραφα
Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό. Ζητήµατα Μεγάλης-Κλίµακας Υλοποίησης του PageRank. Αρχιτεκτονική Μηχανής Αναζήτησης

Αλγόριθμοι γραφημάτων για την αναδιάταξη σποραδικών μητρών: Μία συγκριτική μελέτη.

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

Εφαρμοσμένα Μαθηματικά ΙΙ

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 1 η Ηµεροµηνία Αποστολής στον Φοιτητή: 15 Οκτωβρίου 2006

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Προτεινοµενες Ασκησεις - Φυλλαδιο 1

Ομογενή Συστήματα Ορισμός Ενα σύστημα λέγεται ομογενές αν όλοι οι σταθεροί όροι του (δηλαδή οι όροι του δεξιού μέλους του συστήματος) είναι μηδέν.

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

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

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4

Τετραγωνικά μοντέλα. Τετραγωνικό μοντέλο συνάρτησης. Παράδειγμα τετραγωνικού μοντέλου #1. Παράδειγμα τετραγωνικού μοντέλου #1

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

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

Μόρφωση του συστήματος εξισώσεων. Επίλυση και επεξεργασία των αποτελεσμάτων

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

Τετραγωνικά μοντέλα. Τετραγωνικό μοντέλο συνάρτησης. Παράδειγμα τετραγωνικού μοντέλου #1. Παράδειγμα τετραγωνικού μοντέλου #1

Εφαρμοσμένα Μαθηματικά ΙΙ

ΑΛΓΕΒΡΑ ΠΙΝΑΚΩΝ ή ΜΗΤΡΩΝ

Στοχαστικά Σήµατα και Εφαρµογές

0 + a = a + 0 = a, a k, a + ( a) = ( a) + a = 0, 1 a = a 1 = a, a k, a a 1 = a 1 a = 1,

Ιδιάζουσες τιμές πίνακα. y έχουμε αντίστοιχα τις σχέσεις : Αυτές οι παρατηρήσεις συμβάλλουν στην παραγοντοποίηση ενός πίνακα

Κεφάλαιο 2 Πίνακες - Ορίζουσες

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

ΘΕΩΡΙΑ ΠΙΝΑΚΩΝ. Ορισμός 1: Ένας πίνακας Α με m γραμμές και n στήλες,

(S k R n ) (C k R m )

MATLAB. Λογισµικό υλοποίησης αλγορίθµων και διεξαγωγής υπολογισµών.

Εφαρμοσμένα Μαθηματικά ΙΙ

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 1

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 3

Μορφές των χωρικών δεδομένων

Εκπαιδευτικός Οµιλος ΒΙΤΑΛΗ

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

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

Επίκουρος Καθηγητής Παν/µίου Ιωαννίνων. Μαθηµατικά Ι Ακαδ. Έτος /58

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 1

ΠΛΗ20 ΕΝΟΤΗΤΑ 5: ΘΕΩΡΙΑ ΓΡΑΦΗΜΑΤΩΝ/2. Μάθηµα 5.1: Παραστάσεις Γραφηµάτων. ηµήτρης Ψούνης

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

7 ΑΛΓΕΒΡΑ ΜΗΤΡΩΝ. 7.2 ΜΗΤΡΕΣ ΕΙΔΙΚΗΣ ΜΟΡΦΗΣ (Ι)

Αδιάσπαστοι, p-κυκλικοί, συνεπώς διατεταγµένοι πίνακες και γραφήµατα

Κ. Ι. ΠΑΠΑΧΡΗΣΤΟΥ. Τοµέας Φυσικών Επιστηµών Σχολή Ναυτικών οκίµων ΟΡΙΖΟΥΣΕΣ. Ιδιότητες & Εφαρµογές

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 9 Επαναληπτικες Ασκησεις

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής

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

Γραµµικη Αλγεβρα ΙΙ Ασκησεις - Φυλλαδιο 10

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12)

Εφαρμοσμένα Μαθηματικά ΙΙ

21 a 22 a 2n. a m1 a m2 a mn

Ανάκληση Πληροφορίας. Διδάσκων Δημήτριος Κατσαρός

Εάν A = τότε ορίζουμε την ορίζουσα του πίνακα ως τον αριθμό. det( A) = = ( 2)4 3 1 = 8 3 = 11. τότε η ορίζουσά του πίνακα ισούται με

Πίνακες Γραμμικά Συστήματα

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (Εξ. Ιουνίου - 02/07/08) ΕΠΙΛΕΓΜΕΝΕΣ ΑΠΑΝΤΗΣΕΙΣ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ ΙΙ ΜΑΘΗΜΑ 1-2-ΠΙΝΑΚΕΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ ΠΑΝΗΠΙΣΤΗΜΙΟΠΑΤΡΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Διανύσµατα στο επίπεδο

Πίνακες Ορίζουσες. Πίνακας: ορθογώνια διάταξη αριθμών που αποτελείται από γραμμές και στήλες.

Γραµµικη Αλγεβρα Ι. Ακαδηµαϊκο Ετος Βοηθος Ασκησεων: Χ. Ψαρουδάκης

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

ιµελής Σχέση ιατεταγµένο ζεύγος (α, β): ύο αντικείµενα (όχι κατ ανάγκη διαφορετικά) σε καθορισµένη σειρά. Γενίκευση: διατεταγµένη τριάδα (α, β, γ), δι

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

1 Αριθµητική Γραµµική Άλγεβρα: Ασκήσεις

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 3

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

ΚΕΦΑΛΑΙΟ 3 ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. nn n n

Εισαγωγή στους Αλγόριθµους Σεπτέµβριος Εξεταστές: Χ. Ζαρολιάγκης, Θ. Παπαθεοδώρου

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

, , 2. A a και το στοιχείο της i γραμμής και j

Μηχανισµοί & Εισαγωγή στο Σχεδιασµό Μηχανών Ακαδηµαϊκό έτος: Ε.Μ.Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 3.

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Στοιχεία Θεωρίας Γραφηµάτων (1)

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

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

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Β ΛΥΚΕΙΟΥ

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Αλγόριθµοι Γραφηµάτων

Επιµέλεια Θοδωρής Πιερράτος

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Ασκησεις - Φυλλαδιο 6

ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΞΙΣΩΣΕΩΝ

Εισαγωγή στους Υπολογιστές

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΠΕΡΙΤΤΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 6

Σχέσεις. ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΤΕΤΥ Εφαρμοσμένα Μαθηματικά 1. Τελεστές και πίνακες. 1. Τελεστές και πίνακες Γενικά. Τι είναι συνάρτηση? Απεικόνιση ενός αριθμού σε έναν άλλο.

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ. Όνομα:.. Βαθμός: /100

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Επίλυση δικτύων διανοµής

Λύσεις και Υποδείξεις Επιλεγµένων Ασκήσεων

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ Ι (ΑΡΤΙΟΙ) Λυσεις Ασκησεων - Φυλλαδιο 2

Εφαρμοσμένα Μαθηματικά ΙΙ 9ο Σετ Ασκήσεων (Λύσεις) Διανυσματικοί Χώροι

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 3

Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες

Εφαρμοσμένα Μαθηματικά ΙΙ

Transcript:

1 Σποραδικές Μήτρες (Sparse Matrices) Αθανάσιος Μυγδαλ ας ΑΠΘ 17 Μαρτίου 2010 c Α.Μ. /1

30 Τρόποι αποθήκευσης σποραδικών µητρών Υπάρχουν πολλοί τρόποι αποθήκευσης σποραδικών µητρών αναλόγως των δοµικών χαρακτηριστικών τους (π.χ. συµµετρική µήτρα, ασύµµετρη µήτρα, ταινιοειδής µήτρα) και της επιλογής µεθόδου επίλυσης του συστήµατος εξισώσεων. (Π.χ. στις επαναληπτικές µεθόδους, η επιλογή τρόπου αποθήκευσης γίνεται κυρίως µε αναφορά στην αλγοριθµική απόδοση του γινοµένου µήτρας-διανύσµατος.) 17 Μαρτίου 2010 c Α.Μ. /30

-058>24.2;<:8982*98103.=;.2;;98:*-23A650<:A6 ;=592.;5.60*98103.=;03*<*;<82?8=; SQTVIWWIH6S[7XSVEKI ;=592.;5.60*98103.=;03*<*;<04.; SQTVIWWIH SPYQR7XSVEKI *98103.=;0;.<=?*2*-2*<*703*<*<:2948<0<.;6ERHSQ7XSVEKISJ8VMTTPIXW <*2628.2-0;*98103.=;0&ERH7XSVEKI 5.<*+40<0<*2628.2-0;*98103.=;0:EVMEFPI&ERH7XSVEKI7O]PMRI7XSVEKI -2*6=;5*<230*98103.=;0,QI\OU[XWYILQRFTF\YI br\r _YO[QTWXWQWeTMEUILQDU][TI:09)RIQ IXWPORMeW]TM\W[\WQ_MGWMNIXd\WU[\WG_WMRIQ\OU[\FSO NaZ:09)0 0PE[OMN\W][\WQ_MGW]IXWPORMeM\IQ[EUIIREYIQWLQDU][TI437-8-32aZ MNR[\W[\WQ_MGW437-8-320 9*:*-.2,5*! 5..35.<*44.=;0;=55.<:2*; 3*2<06-2*,A628?A:2;<* 0 :09) 437-8-32?A:2;.35.<*44.=;0;=55.<:2*; 0 :09) 437-8-32 (-+320

;98:*-23050<:* A;-2*<*70;<82?.2A6 ;.;?.;05.,:*>05*,.6230.2-23.; 3*<*48,8; 42;<.; 9.:29<A;0 9.:29<A;.2; <87A6,.2<62*;.A; 50<:* 5.<*1.;0; -2*,A628; 50<:* <:2,A6230 50<:* <*2628-0; 50<:* ;=55.<:230 *;=55.<:0 50<:* 50<:* <=?*2* -2*<*70 >=;230*=78=;* -2*<*70 9.:29<A;.2; *98103.=;0 ;=55.<:2* -2*<*70 5.:8; -2*,A628; 3I\D;\WG_W]Z 940:0;?aYQ[\D 3I\D;\FSMZ 6*28?2 <=?*2*>=;230 *6A<:2,A6230 &_Q_aYQ[\D 3I\D<YQXSd\O\MZ 3*<A<:2,A6230 5WUDLMZ ;\OUXMYGX\a[OI]\FLMUIXWPORMeM\IQOLQIKfUQWZ

.6-.?85.60-850-.-85.6A6;<06*SVXVER,.62309.:29<A;05..6;A5*<A5.60-2*,A628*[eTTM\YOF[]TTM\YQRFXMYGX\a[O 8=4)49&0-7TEVWIC1EXVM\ 6)0003 8&0)(-1)27-32:EPYI -28)+)6003 8&0)(-1)27-324SWMXMSR -28)+)63VHIV1E\7M^I2SR>IVSIW )2(8=4),.62309.:29<A;05.<06-2*,A628?A:2;<**[eTTM\YOF[]TTM\YQRFXMYGX\a[O 8=4)49&0-7TEVWIC1EXVM\ 6)0003 8&0)(-1)27-32:EPYI(MEKSREP -28)+)6003 8&0)(-1)27-324SWMXMSR -28)+)63VHIV1E\7M^I2SR>IVSIW )2(8=4).ULM_WTEUaZXYW[PFROIUIKUfYQ[OZ\aUXMYQX\f[MaUXSFYOI[eTTM\YOXSFYOF RI\D\WFTQ[][]TTM\YQRFIXWPFRM][ORSX 0LMe\MYOLWTFIXW\MSMGMXER\I[O\OZXYf\OZWXd\MPITXWYWe[MUIU\QRI\I[\IPMG IXd <=4))<8)2(77TEVWIC1EXVM\49&0-7TEVWIC1EXVM\C[C(MEKSREP 6)0003 8&0)(-1)27-32(MEKSREP )2(8=4) 8YGNM\IQE\[QORSD[O 7TEVWIC1EXVM\ RIQWQWXWQM[LFXW\MTEPWLWQIUIX\]_PWeU PITXWYWeUUIM^IYTW[PWeURIQ[\OULWTF 7TEVWIC1EXVM\C[C(MEKSREP

*6*3*<*;3.=0;<82?8=3*2;<040; <8=;<82?.28=MN 0[\FSO NIU\Q[\WQ_MG[\WUTQRYd\MYWIREYIQWIYQPTd 437-8-320R RIQW[\WG_WZM]XWSWKGNM\IQaZ M!437-8-320NR 9*:*-.2,5*,QI0!E_WTM437-8-32!!" ;\FSON!?437-8-32RA!?A!!";\WG_WZM!437-8-32NR!!!YI:09) IU\Q[\WQ_MG[\W *9*2<0;.2;56050;,.62309.:29<A;0 Q ;=55.<:2305.?A:2;<0-2*,A628 Q Q!94018;5050-.623A6;<82?.2A6 523:8<.:.;*9*2<0;.2;56050;*984.;<2;.6*44*3<23.; 9:*7.2;,2*<06<*=<89820;0.68;;<82?.28= -MUTW]MGUIQKUa[\EZRDXWQMZ[]KRYG[MQZ

<:2,A623050<:* *XWPFRM][ORD\a\YQKaUQRFZRI\D[\WG_W]Z[MLQDU][TIRR [\WQ_MGaU 0 0! 0 0!"?0 00 0RRA 0R 0R 0RR 8S0MNIXWPORMeM\IQ[\OUPE[OMMN < 9*:8582A;KQIDUa\YQKaUQRF9!0.XG[OZIUDSWKOIXWPFRM][ORI\D[\FSMZ![RO[O 50<:*,)77)2&)6+,! \\\\\\\ \ \\\\\\ \ \\\\\ \ \\\\ \ \\\ \ \\ \ \ *XWPFRM][ORI\D[\WG_W]Z[MLQDU][TI RR [\WQ_MGaU!"?,,R,,R,RR,RRA 8S,MNIXWPORMeM\IQ[\OUPE[OMRMRN

<*2628.2-.2;50<:.; PWF[!! YWF[! \\\ \\\\ \\\\\ \\\\\ \\\\ \\\ 9SD\WZ\IQUGIZFERH[MHXL! XSD\WZRD\aOTQ\IQUGIZ PS[IVWIQMFERH[MHXL XSD\WZDUaOTQ\IQUGIZ YTTIVWIQMFERH[MHXL ReYQILQIKfUQWZQEMRHMEKSREP >*3.448;*98103.=;0; 7XSVEKI)RZIPSTI,2*;=55.<:230<*2628.2-050<:*!! <YQLQIKfUQMZTF\YMZ[MLQD\IVO R\ <*262.;5.<*+40<8=94*<8=;:EVMEFPIFERH[MHXLWO]PMRIWXSVEKI

*XWPFRM][ORI\D[\WG_W]Z\OZRD\a\YQKaUQRFZ? A 8QPE[MQZ\aULQIKaUGaU[\WQ_MGaUIXWLGLWU\IQTM\WIREYIQWLQDU][TI (-+320C437-8-32!?A <W[\WQ_MGW*MNIXWPORMeM\IQ[\OUPE[O(-+320C437-8-32MNM *U\Q[\WG_aZIXWPFRM][ORI\D[\FSMZ*XWPFRM][O\OZDUa\YQKaUQRFZ 3I\D[\FSMZ?** *** *** ** *A (-+320C437-8-32!? A R[\WQ_MGI (-+320C437-8-32N(-+320C437-8-32N!XSFPWZTOTOLMUQRfU[\WQ_MGaU [\OU[\FSO N #\[QMVOKMG\IQOXYW[PFROMUdZIRdTO[\WQ_MGW][\WLQDU][TI (-+320C437-8-32 <WXYd[PM\W[\WQ_MGW[\W\ESWZ\W]LQIUe[TI\WZE_MQXDU\W\M\QTFQ dxw]q\wxsfpwz\autotolmuqrfu[\wq_mgau\oztf\yiz

32 Συµπιεσµένη αποθήκευση κατά στοίχους ή στήλες Συµπιεσµένη αποθήκευση κατά στοίχους ή στήλες προσφέρει το γενικώτερο σχήµα αποθήκευσης σποραδικών µητρών διότι δεν ϑέτει προϋποθέσεις στα δοµικά χαρακτηριστικά της σποραδικότητας. Από την άλλη πλευρά δεν είναι και η πιο αποδοτική για το σχηµατισµό γινοµένων µήτρας-διανύσµατος. Βασίζεται στην αντίληψη της σποραδικής µήτρας µε την µορφή γραφήµατος! /32

33 Σποραδικές Μήτρες και Γραφήµατα Εστω η σποραδική µήτρα A = [a ij ] n n. Η δοµική σποραδικότητα της µήτρας δύναται ν αποδοθεί µε µία αντίστοιχη µήτρα N = [n ij ] n n, όπου n ij = 1 εφόσον a ij 0 και n ij = 0 διαφορετικά. Στην N αναγνωρίζουµε µία µήτρα παρακείµενων κόµβων ή µήτρα γειτνίασης (node adjacency matrix) και συνεπώς ένα αντίστοιχο γράφηµα. Άρα οποιαδήποτε δοµή δεδοµένων για την αναπαράσταση του γραφήµατος στην µνήµη του Η/Υ δύναται να χρησιµοποιηθεί και για την αναπαράσταση της σποραδικής µήτρας. /33

34 Εστω η σποραδική µήτρα : Παράδειγµα A = 5 0 0 0 4 0 9 2 0 0 0 8 0 4 7 6 0 0 7 0 3 2 9 0 0 6 0 7 8 2 0 3 0 0 4 3 /34

35 Μήτρα δοµής σποραδικότητας ή µήτρα παρακείµενων κόµβων N = 1 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 /35

36 Αντίστοιχο γράφηµα : Πρώτη µορφή Οι κόµβοι αντιστοιχούν σε στοίχους/στήλες. Τα τόξα αντιστοιχούν στις µονάδες. Φορά των τόξων από στοίχο προς στήλη. 1 2 4 5 3 6 /36

37 Συµπιεσµένη αποθήκευση κατά στοίχους οµή δεδοµένων αναπαράστασης του γραφήµατος µε πρόσω αστέρα (forward star) ή πρόσω κατάλογο γειτνίασης (forward adjacency list) είκτης στοίχου : row_ptr 1 3 6 9 13 17 20 είκτης στήλης: col_ptr 1 5 1 2 6 2 4 5 6 2 5 6 Τιµές: val 5 4 9 2 8 6 7 8-2 -3-4 3 Σε περίπτωση συµµετρικής µήτρας αποθηκεύουµε µόνον το άνω τριγωνικό τµήµα της µήτρας. /37

38 Αντίστοιχο γράφηµα : εύτερη µορφή Οι κόµβοι αντιστοιχούν σε στοίχους/στήλες. Τα τόξα αντιστοιχούν στις µονάδες. Φορά των τόξων από στήλη προς στοίχο. 1 2 4 5 3 6 /38

39 Συµπιεσµένη αποθήκευση κατά στήλες ή σχήµα Harwell-Boeing οµή δεδοµένων αναπαράστασης του πρώτου γραφήµατος µε οπίσω αστέρα (backward star) ή οπίσω κατάλογο γειτνίασης (backward adjacency list). Ουσιαστικά αποθήκευση κατά στοίχους της A T. είκτης στήλης: col_ptr 1 4 8 10 13 17 20 είκτης στοίχου : row_ptr 1 2 4 2 3 5 6 1 4 5 6 2 5 6 Τιµές: val 5 9 7 2 4 6-3 4 9 8-4 8-2 3 Σε περίπτωση συµµετρικής µήτρας αποθηκεύουµε µόνον το κάτω τριγωνικό τµήµα της µήτρας. /39

40 Παρατηρήσεις Κάθε τόξο του γραφήµατος αντιστοιχεί σ ένα µη-µηδενικό στοιχείο της µήτρας. Η αποθήκευση απαιτεί n + 1 + 2m στοιχεία, όπου n το πλήθος στοίχων (στηλών) και m το πλήθος µη-µηδενικών στοιχείων. Ο δείκτης row_ptr(i) (αντιστοίχως col_ptr(i)) αποθηκεύει την ϑέση του col_ptr και val (αντίστοίχως row_ptr και val) όπου αποθηκεύονται η στήλη (ο στοίχος) και η τιµή του πρώτου µη-µηδενικού στοιχείου του στοίχου (στήλης) i. Το πλήθος µη-µηδενικών στοιχείων στον στοίχο (στήλη) i δίδεται από row_ptr(i+1) row_ptr(i) (αντιστοίχως col_ptr(i+1) col_ptr(i)). /40

41 Τυχαία αποθήκευση (Random Storage) Ουσιαστικά παραλλαγή των προηγουµένων σχηµάτων αποθήκευσης. Αντιστοιχεί σε ϱητό κατάλογο των τόξων του γραφήµατος. Απαιτούνται και πάλι τρία διανύσµατα, ένα για τους αρχικούς κόµβους των τόξων, ένα για τους τερµατικούς κόµβους και ένα για τις µη-µηδενικές τιµές. Ετσι για κάθε µη-µηδενικό στοιχείο της µήτρας αποθηκεύουµε τρία στοιχεία : τον στοίχο και την στήλη που το περιέχουν και την τιµή του. Οι τριπλέττες µπορούν ν αποθηκευθούν µε παντελώς τυχαία σειρά. Ενα πλεονέκτηµα είναι ότι νέα µη-µηδενικά στοιχεία δύνανται να εισαχθούν στην µήτρα προσθέτοντάς τα στο τέλος του καταλόγου. Απαιτήσεις µνήµης: 3m /41

42 row col val 1 1 5 2 6 8 3 4 6 4 3 3 5 2 6 6 2-3... 2 1 9 5 5 8 1 5 4 /42

43 Για την συστηµατική σάρωση των µη-µηδενικών στοιχείων της µήτρας απαιτείται η εισαγωγή ενός ακόµη διανύσµατος δεικτών (next). Οι δείκτες αυτοί υποδεικνύουν το αµέσως επόµενο στοιχείο (κατά στοίχο ή στήλη) προς τα εµπρός ή προς τα πίσω, ορίζοντας ουσιαστικά µία αλυσίδα την οποία µπορούµε να διατρέξουµε για την ανεύρεση κάποιου συγκεκριµένου στοιχείου a ij. Το επόµενο σχήµα αποθήκευσης της µήτρας είναι της µορφής «κατά στοίχο προς τα εµπρός». Η αλυσίδα διακόπτεται καταχωρώντας την µηδενική τιµή στον δείκτη του τελευταίου στοιχείου. Η αναζήτηση του στοιχείου a ij γίνεται σειριακά εκκινώντας από την διεύθυνση (ϑέση) i εάν i < j ή από την διεύθυνση i 1 εάν j < i και ακολουθώντας τους δείκτες next έως ότου ευρεθεί το Ϲητούµενο στοιχείο a ij ή αποδειχθεί πως η τιµή του είναι µηδενική µε την άφιξη στο τέρµα της αλυσίδας των δεικτών next. Απατήσεις µνήµης: 4m /43

44 row col val next 1 1 5 19 2 6 8 15 3 4 6 11 4 3 3 12 5 2 6 9 6 2-3 8.... 2 1 9 16 5 5 8 10 1 5 4 17 /44

45 Μειονεκτήµατα Μεγαλύτερη απαίτηση µνήµης. Μέθοδος δηµιουργίας των δεικτών ; Σπατάλη χρόνου σε σειριακές αναζητήσεις. Αλλοι τρόποι αποθήκευσης Η συµπιεσµένη διαγώνια αποθήκευση, η οδοντωτή διαγώνια αποθήκευση και η µεταβλητή ταινιοειδής αποθήκευση αφορούν σε µήτρες ταινιοεδούς δοµής και ϑα εξεταστούν χωριστά. /45

46 Τµηµατική αποθήκευση κατά στοίχους Οταν η σποραδική (n n)-µήτρα A αποτελείται από τετράγωνα πυκνά τµήµατα (υποµήτρες) δοµικά οργανωµένες, µπορούµε τότε να εκµεταλλευθούµε αυτό το γεγονός για την αποθήκευσή της. Ας είναι n s η διάσταση του κάθε τετραγώνου και K το πλήθος τους. Τότε η απαίτηση µνήµης είναι Kn 2 s. Θέσε n b = n/n s. Η αποθήκευση της A, σε αναλογία µε την συµπιεσµένη αποθήκευση κατά στοίχους, απαιτεί µία µήτρα val(1 : K,1 : n s,1 : n s ) για τις τιµές, ένα διάνυσµα col_ptr(1 : K) για την στήλη του πρώτου στοιχείου κάθε τετραγώνου και ένα διάνυσµα row_ptr(1 : n b + 1) για τους δείκτες που καταδεικνύουν την αρχή κάθε στοίχου τετραγώνου στοval και στο col_ptr. Τα κέρδη σε µνήµη αλλά και σε χρόνο πρόσβασης στα στοιχεία είναι σηµαντικά σε σύγκριση µε την συµπιεσµένη αποθήκευση για µεγάλο n s. /46

49 Ασκήσεις 1. Ν αναπτυχθούν αλγόριθµοι υπολογισµού του γινοµένου µήτρας-διανύσµατος Ab όταν η A είναι σποραδική και αποθηκευµένη α) συµπιεσµένη κατά στοίχους, ϐ) συµπιεσµένη κατά στήλες, γ) τυχαία, δ) τυχαία µε δείκτες σάρωσης. 2. Ν αναπτυχθεί αλγόριθµος που µετατρέπει την τυχαία αποθήκευση σε τυχαία µε δείκτες σάρωσης. 3. Ν αναπτυχθεί αλγόριθµος που µετατρέπει την τυχαία αποθήκευση µε δείκτες σάρωσης σε συµπιεσµένη κατά στοίχους. /49

50 4. Ν αναπτυχθεί αλγόριθµος που µετατρέπει τη συµπιεσµένη αποθήκευση κατά στοίχους σε κατά στήλες. 5. Υπόθεσε ότι η συµµετρική σποραδική µήτρα A έχει αποθηκευµένο το άνω τριγωνικό τµήµα της κατά στοίχους. Να επεκταθεί η δοµή έτσι ώστε ν αποθηκευτούν και τα υπό την διαγώνιο στοιχεία της. Ν αναπτυχθεί αλγόριθµος και για το αντίστροφο. 6. Ν αναπτυχθούν αλγόριθµοι πρόσθεσης δύο σποραδικών µητρών για τις περιπτώσεις της 1. 7. Ν αναπτυχθούν αλγόριθµοι αναστροφής σποραδικής µήτρας για τις περιπτώσεις της 1. /49

1 οµές εδοµένων στην Fortran TYPE, PUBLIC : : Sparse_Matrix INTEGER, ALLOCATABLE, DIMENSION ( : ) : : Fi rs t, Adjacent REAL, ALLOCATABLE, DIMENSION ( : ) : : Value INTEGER : : NumRows, NumCols, NonZeroes, MaxSize END TYPE TYPE, EXTENDS( Sparse_Matrix ), PUBLIC : : Sparse_Matrix_w_Diagonal REAL, ALLOCATABLE, DIMENSION ( : ) : : Diagonal END TYPE April 9, 2011 A.M. /1

2 Η δεύτερη δοµή έχει νόηµα µόνον για τετραγωνικές µήτρες (NumRows=NumCols=Order) και δη για συµµετρικές. Το MaxSize NonZeroes στην πρώτη και MaxSize NonZeroes-Order στην δεύτερη περίπτωση. Η ίδια δοµή για αποθήκευση κατά στοίχο, κατά στήλη ή κατά τριπλότητα! Η ίδια δοµή για την σύµµετρη και την συµµετρική περίπτωση. Ενδεχοµένως ϑα έπρεπε ν αποθηκεύεται και η περίπτωση. /2

3 Ιεραρχία από τα γραφήµατα Είναι δυνατόν ν αναπτυχθούν οι σποραδικές µήτρες στα πλαίσια µιας ιεραρχίας κλάσεων εκκινώντας από µία δοµή για γραφήµατα : TYPE, PUBLIC : : Adjacency_List INTEGER, ALLOCATABLE, DIMENSION ( : ) : : FirstOut, Adjacent INTEGER : : NumNodes, NumArcs, MaxSize END TYPE TYPE, EXTENDS( Adjacency_List ), PUBLIC : : Weighted_Graph REAL, ALLOCATABLE, DIMENSION ( : ) : : Weight END TYPE /3

4 TYPE, EXTENDS( Weighted_Graph ), PUBLIC : : Sparse_Matrix INTEGER : : NumCols END TYPE TYPE, EXTENDS( Sparse_Matrix ), PUBLIC : : Sparse_Matrix_w_Diagonal REAL, ALLOCATABLE, DIMENSION ( : ) : : Diagonal END TYPE Ταυτοποιούµε NumNodes (πλήθος κόµβων) µε το πλήθος στοίχων και NumArcs (πλήθος τόξων) µε το πλήθος µη-µηδενικών στοιχείων. /4