• Nenhum resultado encontrado

[PENDING] Μέθοδος Μέγιστης ή Απότομης Καθόδου (SD Ανάλυση Μεθόδου SD Σύγκλιση Μεθόδου SD………23 3.3 Μέθοδος SD στο Mathematica……….…25 4

N/A
N/A
Protected

Academic year: 2024

Share "Μέθοδος Μέγιστης ή Απότομης Καθόδου (SD Ανάλυση Μεθόδου SD Σύγκλιση Μεθόδου SD………23 3.3 Μέθοδος SD στο Mathematica……….…25 4"

Copied!
98
0
0

Texto

(1)

΢χολή Θετικών Επιστημών και Σεχνολογίας

Μεταπτυχιακές ΢πουδές στα Μαθηματικά

Διπλωματική Εργασία

«Μέθοδοι επίλυσης αραιών γραμμικών συστημάτων μεγάλης κλίμακας με χρήση του λογισμικού Mathematica

®

»

΢απουντζής ΢. Λάζαρος

Επιβλέπων Καθηγητής Συνεπιβλέπων Καθηγητής

Ανδρέας Μπούκας Μιχαήλ Ανούσης

(2)

1

Η παρούσα διπλωματική εργασία είναι αφιερωμένη στην μνήμη του πατέρα μου

© Ελληνικό Ανοικτό Πανεπιστήμιο, 2019

Η παρούσα Εργασία καθώς και τα αποτελέσματα αυτής, αποτελούν συνιδιοκτησία του ΕΑΠ και του φοιτητή, ο καθένας από τους οποίους έχει το δικαίωμα ανεξάρτητης χρήσης, αναπαραγωγής και αναδιανομής τους (στο σύνολο ή τμηματικά) για διδακτικούς και ερευνητικούς σκοπούς σε κάθε περίπτωση αναφέροντας τον τίτλο και τον συγγραφέα της Εργασίας καθώς και το όνομα του ΕΑΠ όπου εκπονήθηκε.

(3)

2

Περιεχόμενα

Περίληψη……….………3

Abstract………4

Ευχαριστίες……….………5

1. Βασικές Έννοιες………..………6

1.1 Διανύσματα………..………6

1.2 Πίνακες……….…6

1.3 Διανυσματικοί Χώροι………8

2. Αραιοί Πίνακες και ΢υστήματα………11

2.1 Αραιοί Πίνακες………11

2.2 Αποθηκευτικά Μοντέλα………12

2.3 Εντολές στο Mathematica………16

3. Μέθοδος Μέγιστης ή Απότομης Καθόδου (SD) ………20

3.1 Ανάλυση Μεθόδου SD………..…20

3.2 Σύγκλιση Μεθόδου SD………23

3.3 Μέθοδος SD στο Mathematica……….…25

4. Μέθοδος Ελαχίστου Τπολοίπου (MR) ………..…35

4.1 Ανάλυση Μεθόδου MR……….35

4.2 Σύγκλιση Μεθόδου MR………36

4.3 Μέθοδος MR στο Mathematica……….38

5. Μέθοδος ΢υζυγών Κλίσεων (CG) ………48

5.1 Ανάλυση Μεθόδου CG……….48

5.2 Σύγκλιση Μεθόδου CG………..……….51

5.3 Μέθοδος CG στο Mathematica……….52

5.4 Εφαρμογή CG σε Αραιό Πίνακα………60

6. ΢ύγκριση Μεθόδων – ΢υμπεράσματα……….70

Βιβλιογραφία………97

(4)

3

Περίληψη

Σκοπός αυτής της διπλωματικής εργασίας είναι η ανάλυση επαναληπτικών μεθόδων που χρησιμοποιούνται στην επίλυση αραιών γραμμικών συστημάτων και η παρουσίαση αυτών με χρήση του λογισμικού Mathematica.

Στην αρχή της εργασίας παρουσιάζονται κάποιες βασικές έννοιες και ορισμοί που χρησιμοποιούνται στα επόμενα κεφάλαια. Συγκεκριμένα εξετάζονται έννοιες σχετικές με διανύσματα, πίνακες, διανυσματικούς χώρους και νόρμες.

Στο δεύτερο κεφάλαιο παρουσιάζεται η έννοια του αραιού πίνακα και χρήσιμες εντολής του Μathematica που σχετίζονται με αυτούς, όπως επίσης και αποθηκευτικά μοντέλα ενός αραιού πίνακα.

Στα επόμενα τρία κεφάλαια αναλύονται οι Μέθοδοι Μέγιστης Καθόδου SD, Ελαχίστου Υπολοίπου MR και Συζυγών Κλίσεων CG παρουσιάζοντας στο τέλος κάθε κεφαλαίου τον κώδικα του Mathematica και ένα παράδειγμα αραιού γραμμικού συστήματος.

Τέλος παρατίθενται αναλυτικά έξι παραδείγματα λυμένα στο Mathematica και με τις τρεις Μεθόδους ώστε να συγκρίνουμε και να βγάλουμε τα συμπεράσματα για αυτές.

Λέξεις Κλειδιά

Αραιοί Πίνακες, Αραιά Γραμμικά Συστήματα. Μέθοδος Απότομης Καθόδου, Μέθοδος Ελαχίστου Υπολοίπου, Μέθοδος Συζυγών Κλίσεων.

Mathematica

(5)

4

Abstract

The purpose of this thesis project is the analysis of the iterative methods used for the solution of Sparse Linear Systems and their implementation with the use of the Mathematica package.

In the beginning of the project, some basic concepts and definitions are presented, which are used of the following chapters. Specifically, some definitions are given that are related to vectors, matrices, vector spaces and norms.

In the second chapter, the concept of a Sparse Matrix and the Mathematica commands that are relevant to them, as well as the storage methods for Sparse Matrices are presented.

In the next three chapters, the Methods of the Maximum Descent SD, the Minimum Residual Method and the Conjugate Gradient Method are analyzed and at the end of each chapter the Mathematica an example of a Sparse Linear System are presented.

Finally, six solved examples are given with the use Mathematica, with all three methods so as to compare and make our conclusions about them.

Key Words

Sparse Matrix, Sparse Linear Systems, Steepest Descent Method, Minimum Residual Method, Conjugate Gradient Method, Mathematica

(6)

5

Ευχαριστίες

Αρχικά θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή μου κ.

Ανδρέα Μπούκα για την εμπιστοσύνη, που μου έδειξε με την ανάθεση του παρόντος θέματος, και για την αμέριστη υποστήριξή του και βοήθεια σε κάθε μου απορία. Ευχαριστώ επίσης τον καθηγητή κ. Μιχάλη Ανούση για την αξιολόγηση και παρακολούθηση της παρούσας εργασίας.

Τέλος ένα μεγάλο ευχαριστώ δεν είναι ποτέ αρκετό προς την οικογένειά μου για την αγάπη, την κατανόηση και την στήριξη που μου παρείχαν κατά την διάρκεια των μεταπτυχιακών μου σπουδών.

(7)

6

Κεφάλαιο 1

ο

Βασικές Έννοιες

1.1 Διανύσματα

Ορισμός 1.1. Διάνυσμα ορίζεται ένα στοιχείο του R ,nn 

Ορισμός 1.2. To Εσωτερικό γινόμενο (innerproduct) δύο διανυσμάτων

1 2 n

a  a ,a ,...,a

και b 

b ,b ,...,b1 2 n

του nσυμβολίζεται a b και ορίζεται ως a b   a,b  a b1 1a b2 2  ... a bn n

Ορισμός 1.3. Το Μήκος ή Νόρμα ή Μέτρο (length) ενός διανύσματος του na 

a ,a ,...,a1 2 n

συμβολίζεται a

και ορίζεται

2 2 2

1 2 n

a  a a ... a

Ορισμός 1.4. Η Απόσταση (distance)μεταξύ δυο διανυσμάτων του n

1 2 n

a  a ,a ,...,a

και b 

b ,b ,...,b1 2 n

συμβολίζεται d a,b

 

και ορίζεται ως d a,b

 

a b

a1b1

2

a2 b2

2...

anbn

2.

1.2 Πίνακες

Ορισμός 1.5. Πίνακας ή Μητρώο (matrix) Α καλείται μια ορθογώνια παράταξη αριθμών της μορφής

11 12 1m

21 22 2m

n1 n2 nm

a a a

a a a

Α

a a a

 

 

 

 

 

 

   

που αποτελείται από n-γραμμές και m-στήλες και συμβολίζεται An m οι αριθμοί ονομάζονται στοιχεία του πίνακα και συμβολίζονται

a ,i 1,...,n , j 1,...,mij  

Ορισμός 1.6. Ο Ανάστροφος (transpose)ενός πίνακα Α συμβολίζεται Α και είναι ο πίνακας με στοιχεία Τ aTji a , i 1,...,n , j 1,...,mij  

(8)

7

Ορισμός 1.7. ΢υμμετρικός (symmetric)λέγεται ένας πίνακας An n με την ιδιότητα ΑΤ Α και αντισυμμετρικός (antisymmetric) λέγεται ένας πίνακας An n με την ιδιότητα ΑΤ  Α

Ορισμός 1.8. Ο Σαυτοτικός ή μοναδιαίος πίνακας συμβολίζεται Ιn και τα στοιχεία του είναι ij 1 , i j

a 0 , i j

 

   για i, j 1,...,n

Ορισμός 1.9. Ο Αντίστροφος (inverse)ενόςnxn πίνακα An n αν υπάρχει είναι ο nxn πίνακας που συμβολίζεται Α1 με την ιδιότητα

1 1

Α Α ΑΑ Ιn

Ορισμός 1.10. Ορθογώνιος (orthogonal)πίνακας An n είναι αυτός με την ιδιότητα Α1 ΑΤ δηλαδή Α ΑΤ ΑΑΤ Ιn

Ορισμός 1.11. Κανονικός (normal)πίνακαςAn n είναι αυτός με την ιδιότητα Α Α ΑΑΤΤ

Ορισμός 1.12.Ιδιοτιμή ενός πίνακα An n (eigenvalue) λ λέγεται ο αριθμός και αντίστοιχο Ιδιοδιάνυσμα (eigenvector) a

το διάφορο του μηδενικού διάνυσμα για τα οποία ισχύει Αa λa

.

Ορισμός 1.13. Κλίση (gradient) μιας διαφορίσιμης συνάρτησης f : An  σε ένα σημείο χ=(x1,x2,…,xn) του Α συμβολίζεται με

 

f x και ισούται με το διάνυσμα

 

T

1 2 n

f f f

f x , ,...,

x x x

    

      .

Ορισμός 1.14.Ιακοβιανός Πίνακας (Jacobian Matrix) μιας f διαφορίσιμης συνάρτησης f : An  σε ένα σημείο χ ονομάζεται η παράγωγος της f 

f ,f ,...,f1 2 m

συμβολίζεται με

 

f

     

T

J x J x f x  f x και ισούται με

(9)

8

 

     

     

     

1 1 1

1 2 n

2 2 2

f 1 2 n

m m m

1 2 n

f x f x f x

x x x

f x f x f x

J x x x x

f x f x f x

x x x

    

    

 

   

 

    

 

 

   

 

  

 

   

Ορισμός 1.15. Ο Εσσιανός Πίνακας μιας fm διαφορίσιμης συνάρτησης f : An  συμβολίζεται με Η x

 

Η xf

 

 2f x

 

και ισούται με

 

     

     

     

2 2 2

2

1 1 2 1 n

2 2 2

2

f 2 1 2 2 n

2 2 2

2

n 1 n 2 n

f x f x f x

x x x x x

f x f x f x

Η x x x x x x

f x f x f x

x x x x x

   

      

 

   

 

      

 

 

   

 

     

 

   

1.3 Διανυσματικοί Χώροι και Νόρμες

Ορισμός 1.16. Διανυσματικός Χώρος (vectorspace) ονομάζεται ένα μη κενό σύνολο V σε ένα πεδίο  ( ή )  εφοδιασμένο με τις πράξεις της πρόσθεσης διανυσμάτων και πολλαπλασιασμού αριθμού με διάνυσμα εάν για οποιαδήποτε διανύσματα α,β,γ V ισχύουν τα αξιώματα:

i. α β V  (ιδιότητα κλειστότητας) ii.

α β

  γ α

β γ

iii. α β β α  

iv. Υπάρχει μηδενικό διάνυσμα 0V ώστε α 0 0 α α

v. Υπάρχει αντίθετο διάνυσμα για κάθε αV συμβολίζεται

 

α ώστε

   

α     α α α 0 vi. λα V, λ  

vii.

 

λμ α λ μα , λ,μ

 

  viii. λ α β

λα λβ , λ  

ix.

λ μ α λα μα , λ,μ

   
(10)

9 x. 1α α, 1 

Ορισμός 1.17.Τποχώρος(subspace) W του διανυσματικού χώρου V πάνω σε ένα πεδίο  λέγεται ένα υποσύνολο του V αν και το W είναι διανυσματικός χώρος στο πεδίο ως προς τις πράξεις της πρόσθεσης διανυσμάτων και του βαθμωτού πολλαπλασιασμού.

Ορισμός 1.18. Βάση (basis) ενός διανυσματικού χώρου V λέγεται ένα σύνολο διανυσμάτων B

α ,α ,...,α1 2 n

του Vπου είναι γραμμικά ανεξάρτητο και παράγει το χώρο V.

Ορισμός 1.19. Γραμμικά εξαρτημένα καλούνται τα διανύσματα

1 2 n

α ,α ,...,α του χώρου V εάν υπάρχουν αριθμοί λ , λ ,..., λ1 2 n όχι όλοι μηδέν ώστε λ α1 1λ α2 2 ... λ α n n 0αλλιώς καλούνται γραμμικά ανεξάρτητα.

Ορισμός 1.20. Νόρμα διανυσμάτων (vectornorm) λέγεται μια συνάρτηση  : V αν για κάθε διανύσματα x,y V διανυσματικού χώρου V στο  ισχύει

i. x 0

ii. x   0 χ 0

iii. λx  λ x , λ   iv. x y  x  y

Ορισμός 1.21. Επαγόμενη νόρμα πινάκων (inducedmatrixnorm) λέγεται μια συνάρτηση  : Αn n  αν για κάθε Α,Β A n n διανυσματικού χώρου Αn n των τετραγωνικών πινάκων (nxn) ισχύει

i. Α 0

ii. Α  0 Α 0 iii. λΑ  λ Α

iv. Α Β  Α  Β v. ΑΒ  Α Β

Ορισμός 1.22. Ιδιοχώρος (eigenspace) της ιδιοτιμής λ ενός πίνακα Α λέγεται ο υποχώρος που παράγεται από τα ιδιοδιανύσματα της λ.

(11)

10

Ορισμός 1.23. Μετρικός χώρος (metricspace) λέγεται ένα μη κενό σύνολο Χ συμβολίζεται (X,d) και Μετρική (απόσταση) (metric) μια απεικόνιση d : X X μεx,y,zστον Χ και τις ιδιότητες

i. d x, y

 

d y,x

 

0

ii. d x, y

 

  0 x y

iii. d x, y

 

d x,z

 

d z, y

 

(12)

11

Κεφάλαιο 2

ο

Αραιοί Πίνακες και ΢υστήματα

2.1 Αραιοί Πίνακες

Ο Wilkinson ορίζει σαν αραιό(sparse) ένα πίνακα με αρκετά μηδενικά στοιχεία έτσι ώστε να αξίζει να τα εκμεταλλευτούμε στους υπολογισμούς μας. Δεν υπάρχει ακριβές ποσοστό σε σχέση με τον αριθμό των μηδενικών στοιχείων, επάνω από το οποίο ένας πίνακας χαρακτηρίζεται ως αραιός. Μπορούμε όμως, για παράδειγμα, να πούμε ότι με περισσότερο από 80% μηδενικά στοιχεία ένας πίνακας χαρακτηρίζεται ως αραιός.

O κύριος στόχος στην επεξεργασία των αραιών πινάκων ήταν ο σχεδιασμός των επαναληπτικών μεθόδων για την επίλυση συστημάτων με πίνακα συντελεστών έναν αραιό και παράλληλα μεγάλης κλίμακας, πίνακα [1]. Οι αραιοί πίνακες εμφανίζονται ευρέως σε προβλήματα βελτιστοποίησης μεγάλων διαστάσεων, στην επίλυση μερικών διαφορικών εξισώσεων και στην ανάλυση δομών και κυκλωμάτων [2].

Έχουν προκύψει δύο ειδών αραιοί πίνακες, οι δομημένοι (structured) και οι μη δομημένοι (unstructured). Ένας δομημένος αραιός πίνακας είναι ένας πίνακας του οποίου τα μη μηδενικά στοιχεία σχηματίζουν ένα μοτίβο ή βρίσκονται σε blocksυποπινάκων.

Ο διαχωρισμός μεταξύ των δύο ειδών αραιών πινάκων μπορεί να μην επηρεάζει τις άμεσες μεθόδους επίλυσης γραμμικών συστημάτων.

Αντίθετα είναι πολύ σημαντική η διαφορά στις επαναληπτικές μεθόδους, ειδικά στις περιπτώσεις που συναντάμε γινόμενα μεταξύ πίνακα και διανύσματος μεγάλης κλίμακας [1].

Για παράδειγμα ένας αραιός πίνακας (nxn)A με m μη-μηδενικά στοιχεία είναι ο

(13)

12 0 3 0 0 0

4 1 0 0 0

Α 0 5 9 2 0

6 0 0 5 3 0 0 0 8 9

 

 

 

 

 

 

 

 

, n = 5 και m = 11

Ένας σημαντικός παράγοντας των αραιών πινάκων είναι το πλήθος των μη μηδενικών στοιχείων. Αν A είναι ένας αραιός πίνακας τότε το πλήθος των μη μηδενικών στοιχείων του A, συμβολίζεται με nn(A) ή Nz(A) ή nnz(A) που προκύπτει από την έκφραση nonzero-elements[2].Οπότε στον παραπάνω πίνακα είναι nn(A)=11.

Αντιμετωπίζοντας ένα πίνακα σαν αραιό μπορούμε να έχουμε:

ταχύτερους υπολογισμούς αφού δεν εκτελούνται πράξεις με μηδενικά στοιχεία;

εξοικονόμηση μνήμης αφού τα μηδενικά στοιχεία δεν αποθηκεύονται.

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

2.2 Αποθηκευτικά μοντέλα Αραιών Πινάκων

Τα διάφορα μοντέλα που χρησιμοποιούνται για την αποθήκευση αραιών πινάκων, έχουν ως στόχο την εκμετάλλευση των μη μηδενικών στοιχείων και τη διαχείριση αυτών σε πράξεις μεταξύ πινάκων. Τα σημαντικότερα μοντέλα αραιών πινάκων είναι τα ακόλουθα.

COO (CoordinateFormat)

Ένα από τα πιο απλά αποθηκευτικά μοντέλα είναι το σχήμα CoordinateFormat[1]. Το συγκεκριμένο σχήμα αποτελείται από τρεις διαφορετικές δομές δεδομένων ως προς την αποθήκευση των μη μηδενικών στοιχείων ενός πίνακα έστω A.

1. AA : Το διάνυσμα-γραμμή το οποίο περιέχει τα μη μηδενικά στοιχεία του πίνακα A ανεξαρτήτως διάταξης.

(14)

13

2. JR : Το διάνυσμα-γραμμή το οποίο περιέχει ακεραίους αριθμούς καθένας από τους οποίους αντιστοιχεί στη γραμμή του πίνακα A που βρίσκεται το αντίστοιχο στοιχείο του AA.

3. JC : To διάνυσμα-γραμμή το οποίο περιέχει τους ακεραίους αριθμούς που αντιστοιχούν στη στήλη του πίνακα A που βρίσκεται το αντίστοιχο στοιχείο του AA.

Για παράδειγμα στον παραπάνω πίνακα Α το σχήμα COOείναι:

ΑΑ 4 6 3 1 5 9 2 5 3 8 9

JR 2 4 1 2 3 3 3 4 4 5 5

JC 1 1 2 2 2 3 4 4 5 4 5

CSR (CompressedSparseRow)

Σε αντίθεση με το COO σχήμα όπου τα στοιχεία του πίνακα A είναι τοποθετημένα αυθαίρετα χωρίς διάταξη, στο σχήμα CSR τοποθετούμε τα στοιχεία διατεταγμένα κατά γραμμή. Συγκεκριμένα χρησιμοποιούμε τις παρακάτω αποθηκευτικές δομές δεδομένων.

1. AA : Το διάνυσμα-γραμμή που περιέχει τα στοιχεία του A διατεταγμένα κατά γραμμή του πίνακα από το στοιχείο 1 έως το n για την κάθε γραμμή. Συμβολίζουμε και εδώ ως nnz το μήκος του διανύσματος AA που αντιστοιχεί στο πλήθος των μη μηδενικών στοιχείων του.

2. JA : To διάνυσμα-γραμμή με στοιχεία ακεραίους αριθμούς που αντιστοιχούν στη στήλη στην οποία βρίσκεται το αντίστοιχο στοιχείο του AA. Το μήκος του διανύσματος JA είναι επίσης nnz.

3. IA : Το διάνυσμα-γραμμή με στοιχεία ακεραίους που υποδηλώνουν τη θέση στο AA καθενός από αυτά που αποτελούν το πρώτο μη μηδενικό στοιχείο στην κάθε γραμμή. Το διάνυσμα IA αποτελείται από n+1 το πλήθος στοιχεία όπου n είναι ο ακέραιος αριθμός της διάστασης του

(15)

14

πίνακα Anxn, με το n+1 στοιχείο του IA να ισούται με IA(1)+nnz. Δηλαδή ισούται με το άθροισμα του πρώτου στοιχείου του IA με το μήκος nnz.

Για παράδειγμα στον παραπάνω πίνακα 0 3 0 0 0

4 1 0 0 0

Α 0 5 9 2 0

6 0 0 5 3 0 0 0 8 9

 

 

 

 

 

 

 

 

το σχήμα CSR είναι:

ΑΑ 3 4 1 5 9 2 6 5 3 8 9

JA 2 1 2 2 3 4 1 4 5 4 5

IA 1 2 4 7 10 12

CSC (CompressedSparseColumn)

Μια παραλλαγή του μοντέλου CSR, αποτελεί το μοντέλο CSC στο οποίο τοποθετούμε τα στοιχεία διατεταγμένα κατά στήλη. Οι αποθηκευτικές δομές που χρησιμοποιούνται σε αυτό το μοντέλο είναι οι εξής.

1. AA : Το διάνυσμα-γραμμή που περιέχει τα στοιχεία του A διατεταγμένα κατά στήλη του πίνακα από το στοιχείο 1 έως n για την κάθε στήλη. Συμβολίζουμε επιπλέον ως nnzτο μήκος του διανύσματος AA που αντιστοιχεί στο πλήθος των στοιχείων του.

2. IA : To διάνυσμα-γραμμή με στοιχεία ακεραίους αριθμούς που αντιστοιχούν στην γραμμή στην οποία βρίσκεται το αντίστοιχο στοιχείο του AA. Το μήκος του διανύσματος IA είναι επίσης nnz.

3. JA : Το διάνυσμα-γραμμή με στοιχεία ακεραίους που υποδηλώνουν τη θέση στο AA ή IA καθενός από αυτά που αποτελούν το πρώτο μη μηδενικό στοιχείο στην κάθε στήλη. Το διάνυσμα JA αποτελείται από n+1 το πλήθος στοιχεία όπου n είναι ο ακέραιος αριθμός της διάστασης

(16)

15

του πίνακα Anxn, με το n+1 στοιχείο του JA να ισούται με JA(1) + nnz.

Δηλαδή ισούται με το άθροισμα του πρώτου στοιχείου του JA με το μήκος nnz.

Για παράδειγμα στον παραπάνω πίνακα Α το σχήμα CSCείναι:

ΑΑ 4 6 3 1 5 9 2 5 8 3 9

IA 2 4 1 2 3 3 3 4 5 4 5

JA 1 3 6 7 10 12

MSR (Modified Sparse Row)

Μια ακόμα παραλλαγή μοντέλου είναι αυτή του MSR, στο οποίο εκμεταλλευόμαστε το γεγονός ότι σε πολλούς πίνακες τα διαγώνια στοιχεία είναι συνήθως μη-μηδενικά [1].

Συγκεκριμένα χρησιμοποιούνται δύο δομές αποθήκευσης των στοιχείων και αυτές είναι :

1. AA : Το διάνυσμα-γραμμή που περιέχει στις n πρώτες θέσεις τα διαγώνια στοιχεία (πραγματικούς αριθμούς) του A από πάνω αριστερά προς την κάτω δεξιά θέση. Στη συνέχεια η θέση n + 1 μένει κενή ενώ από τη θέση n + 2 και μετά αποθηκεύονται τα υπόλοιπα στοιχεία του πίνακα διατεταγμένα κατά γραμμή.

2. JA : To διάνυσμα-γραμμή με στοιχεία ακεραίους αριθμούς τέτοιους ώστε οι n+1 πρώτες θέσεις του JA να αντιστοιχούν στη θέση του πρώτου μη μηδενικού στοιχείου στον AA σε κάθε γραμμή. Τα υπόλοιπα στοιχεία υποδεικνύουν τη στήλη στον πίνακα όπου βρίσκονται τα στοιχεία εκτός της διαγωνίου και είναι αποθηκευμένα στον AA. Για το (n + 1)-οστό στοιχείο του JA ισχύει, JA(n + 1) = JA(n).

Για παράδειγμα στον παραπάνω πίνακα Α το σχήμα MSRείναι:

ΑΑ 0 1 9 5 9 3 4 5 2 6 3 8

JA 7 8 9 11 13 13 2 1 2 4 1 5 4

(17)

16

2.3 Αραιοί Πίνακες στο Mathematica

Εντολή SparseArray (Mathematica)

To Mathematica περιέχει αρκετές εντολές που μας βοηθούν στους υπολογισμούς και στις πράξεις αραιών πινάκων. Η εντολή SparseArray είναι η εντολή με την οποία αποθηκεύουμε μόνο τα μη μηδενικά στοιχεία και την θέση τους σε έναν αραιό πίνακα δίνοντας μας πληροφορίες για την διάστασή του το πλήθος των μη μηδενικών στοιχείων και το ποσοστό τους στα συνολικά στοιχεία του πίνακα[3].

Για παράδειγμα ο παραπάνω πίνακας 0 3 0 0 0

4 1 0 0 0

Α 0 5 9 2 0

6 0 0 5 3 0 0 0 8 9

 

 

 

 

 

 

 

 

στο Mathematica θα γραφόταν ως:

Με χρήση της εντολής SparseArray θα πάρουμε το αποτέλεσμα:

(18)

17 Στην οποία παρατηρούμε

το nnz=11 (Specifiedelements) την διάσταση n=5 (dimensions)

το ποσοστό των μη μηδενικών στοιχείων επί του συνόλου στον πίνακα 0.44=44% (Density)και

τα στοιχεία με τις συντεταγμένες τους (elements).[3]

Μπορούμε να πάρουμε τη διαγώνιο του αραιού πίνακα με χρήση της εντολής Diagonal

Ένας τρόπος για αναπαραστήσουμε γραφικά αραιούς πίνακες με χρήση του λογισμικού Μathematica , είναι χρησιμοποιώντας την εντολή

MatrixPlot[A] ή ArrayPlot[A],[3] όπου A ο αραιός πίνακας του αρχικού παραδείγματος. Το αποτέλεσμα είναι μια γεωμετρική εικόνα της δομής του πίνακα όπως φαίνεται παρακάτω:

(19)

18

Τα χρωματισμένα τετράγωνα αντιστοιχούν στις θέσεις των μη μηδενικών στοιχείων. Οι αποχρώσεις εξαρτώνται από τους αριθμούς «όσο

περισσότερο σκούρο είναι ένα τετράγωνο τόσο μεγαλύτερος είναι ο αριθμός που απεικονίζεται» . Τα λευκά είναι τα μηδενικά στοιχεία.

Στα γραφήματα παρατηρούμε ότι τα μηδενικά στοιχεία δεν εμφανίζονται.

Με χρήση της εντολής ArrayRules παίρνουμε και όλους τους κανόνες για το κάθε στοιχείο όπως παρατηρούμε

(20)

19

Φυσικά μπορούμε να χρησιμοποιήσουμε όλες τις εντολές πινάκων του Μathematica για εύρεση ιδιοτιμών, ιδιοδιανυσμάτων και ότι άλλο χρειάζομαι π.χ.

(21)

20

Κεφάλαιο 3

ο

Μέθοδος Μέγιστης ή Απότομης Καθόδου (SD)

3.1 Ανάλυση Μεθόδου SD

Η Μέθοδος Μέγιστης ή Απότομης Καθόδου (SteepestDescentMethod) είναι μια επαναληπτική μέθοδος γραμμικής αναζήτησης που χρησιμοποιείται στην επίλυση συστημάτων γραμμικών εξισώσεων.

Βασίζεται στην προσέγγιση της αντικειμενικής συνάρτησης που επιτρέπει την αναλυτική πρόβλεψη του ελαχίστου αυτής.

Με τον όρο αντικειμενική συνάρτηση (objective function) εννοούμε μια εξίσωση που πρέπει να βελτιστοποιηθεί λαμβάνοντας υπόψη ορισμένους περιορισμούς και με μεταβλητές που πρέπει να ελαχιστοποιηθούν ή να μεγιστοποιηθούν με τη χρήση μη γραμμικών τεχνικών προγραμματισμού.

Το τετραγωνικό μοντέλο είναι το πιο σύνηθες χρησιμοποιημένο μοντέλο που προκύπτει από την ανάπτυξη της αντικειμενικής συνάρτησης σε σειρά Taylor.

Σε μια μονοδιάστατη συνάρτηση το ανάπτυγμα Taylor γύρω από ένα σημείο a θα είναι

             

 

 

   

 

 

2 3

3

k k k 1

x a x a

f x f a x a f a f a f a ...

2! 3!

f x x a f a

k !

 

 

     

Η γενική μορφή μιας τετραγωνικής μορφής είναι

 

1 T T

f x x Ax b x c

 2  

όπου Αnxn ένας τετραγωνικός πίνακας με χ και bn-διάστατα διανύσματα και c σταθερά.

Η επιφάνεια που ορίζει η f με Α θετικά ορισμένο πίνακα είναι παραβολοειδές.

(22)

21

Η κλίση είναι ένα διανυσματικό πεδίο, που για το δοσμένο σημείο χ, μας δείχνει τη διεύθυνση της μέγιστης αύξησης της f(x). Στη βάση του παραβολοειδούς η κλίση είναι 0. Η ελαχιστοποίηση της f επιτυγχάνεται με το μηδενισμό της κλίσης της. Η κλίση της τετραγωνικής μορφής ορίζεται ως εξής:

 

 

 

 

1

2

n

x f x x f x f x

x f x

  

 

 

 

 

   

 

  

 

 

 

και εφαρμόζοντας στην f x

 

1x Ax b x cT T

 2  

Εξισώνοντας με το μηδέν προκύπτει:

 

T T

f x 0

d 1x Ax b x c 0 dx 2

1Ax 1Ax b 0

2 2

Ax b 0 Ax b

 

   

 

 

  

 

Έτσι δίνοντας μια αρχική προσέγγιση χ(0) της λύσης του συστήματος αναζητούμε μια άλλη προσέγγιση προς την κατεύθυνση που θα οδηγήσει στην ελαχιστοποίηση της συνάρτησης δηλαδή ολισθαίνοντας προς τη βάση του παραβολοειδούς έως ότου φτάσουμε κοντά στη λύση χ.

(23)

22

Σε κάθε επανάληψη επιλέγουμε εκείνη την διεύθυνση d(k)στην οποία ηf ελαττώνεται γρηγορότερα (είναι αντίθετη της κλίσης δηλαδή d k  f x

 

)

Τα επαναληπτικά βήματα για την προσέγγιση της λύσης περιγράφονται από την σχέση:

k 1  k  k

x x a dk

Άρα η σχέση γίνεται xk 1  x k  a f xk

 

Έστω rτο διάνυσμα υπολοίπου που μας δείχνει πόσο απέχουμε από τη σωστή τιμή του διανύσματος b σε κάθε μια k επανάληψη θα είναι

   

 

 

k k

k

r b Ax

r f x

 

 

Τότε η σχέση xk 1  x k  a f xk

 

γίνεταιxk 1 x k a rk  k

Έστωeτο σφάλμα τότε e(k)(k) – χ είναι ένα διάνυσμα που μας δείχνει πόσο απέχουμε από τη λύση.

Έτσι έχουμε r k  Ae k και r k  f x

 

 k

Παρατηρούμε ότι η fελαχιστοποιείται όταν f x

 

0 αφού

 k

 

 k

r  f x άρα η ζητούμενη λύση χ* θα προκύψει όταν r(k)μηδενιστεί.

Επίσης

   

   

k 1 k 1 *

k 1 k k *

k

k 1 k k

k

e x x

e x a r x

e e a r

 

  

 

Η κατεύθυνση που θα μας δώσει ταχύτερη ελαχιστοποίηση της συνάρτησης είναι μέσω καθέτων διανυσμάτων ανά δύο μεταξύ τους έτσι συμπεραίνουμε ότι δύο διαδοχικά διανύσματα υπολοίπου θα είναι κάθετα μεταξύ τους οπότε

 

rk 1 Tr k 0[4].
(24)

23 Τότε rk 1  b Axk 1

   

 

 

   

k 1 k k

k

k 1 k k

k

k 1 k k

k

r b A x a r

r b Ax a Ar

r r a Ar

  

  

 

Έτσι από τις δυο τελευταίες σχέσεις βρίσκουμε το επιθυμητό βήμα σε κάθε k- επανάληψη.

Άρα

 

 

   

 

 

 

   

 

   

 

   

 

   

k 1 T k

k k T k

k

T T

k k k T k

k k T k

k k T k

r r 0

r a Ar r 0

r r a r A r 0

r r

a r Ar

 

 

Τελικά η Μέθοδος Μεγίστης ή Απότομης Καθόδου είναι:

   

 

   

 

   

   

k k

k T k

k k T k

k 1 k k

k

r b Ax

r r

a r Ar

x x a r

 

 

3.2 ΢ύγκλιση Μεθόδου SD

Για την σύγκλιση της Μεθόδου Μέγιστης ή Απότομης Καθόδου SD θα χρησιμοποιήσουμε την νόρμα ενέργειας (energynorm) ή Α-νόρμα

T

eA  e Ae όπου Α ένας θετικά ορισμένος πίνακας [5].

Για να εκφράσουμε το διάνυσμα σφάλματος e ως γραμμικό  k συνδυασμό των ιδιοδιανυσμάτων του πίνακα Α θα βασιστούμε στην ιδιότητα [6] ότι κάθε ιδιοδιάνυσμα e μπορεί να γραφεί ως γραμμικός  k συνδυασμός των ιδιοδιανυσμάτων τουAnxn όπου A συμμετρικός

(25)

24

πίνακαςU

u ,u ,...,u1 2 n

ένα σύνολο γραμμικώς ανεξάρτητων ιδιοδιανυσμάτων του Α με αντίστοιχες ιδιοτιμές L

λ ,λ ,...,λ1 2 n

που σχηματίζουν βάση του n. Άρα  k n k k

k 1

e v u

Σύμφωνα με τα παραπάνω έχουμε

 

 

   

 

   

     

k

T T

k 2 k k k k k k k

k k

A

n n

Τ

κ k k k

k 1 k 1

n n

2 2

κ k k κ

k 1 k 1

e e Ae e λ e r Ae λ e

λ v u v u

λ v v λ

      

   

     

 

 

 

Επίσης για το διάνυσμα r k με την ίδια νόρμα θα έχουμε

 

 

   

 

   

     

k

T T

k 2 k k k k k k k

k k

A

n n

Τ

κ k κ k κ k

k 1 k 1

n n

2 2 2 3

κ k k k k

k 1 k 1

r r Ar r λ r r Ae λ e

λ v λ u v λ u

λ v λ v λ

      

   

     

 

 

 

Οπότε στην νέα επανάληψη η νόρμα του νέου σφάλματος θα είναι

   

 

   

  

 

   

 

   

   

   

 

 

   

 

   

 

   

 

T T

k 1 2 k 1 k 1 k k k k

k k

A

T T 2 T

k k k k k k

k k

T 2

k k

k 2

T T

A k k k k

n 2 2 2 k k

k 2 k 1

n n

A 2 3 2

k k k k

k 1 k 1

e e Ae e a r A e a r A συμμετρικός

e Ae 2a r Ae a r Ar

r r

e 1

r Ar e Ae

v λ

e 1

v λ v λ

    

   

   

   

 

  

   

 

     

 

   

   

 

      

    

    

 

 

 k 2 2

e Aw





όπου

n 2 2 2 k k k 1 2

n n

2 3 2

k k k k

k 1 k 1

v λ

w 1

v λ v λ

 

 

 

    

   

   

 

από την οποία εξαρτάται και η
(26)

25

σύγκλιση της μεθόδου. Η τιμή του w προσδιορίζει τον ρυθμό σύγκλισης της Απότομης Καθόδου.

Για να βρούμε ένα άνω φράγμα του w θα παρατηρήσουμε για n=2

2 2 2 2 k k k 1

2 2 2

2 1

2 2

2 3 2 1 1

k k k k

k 1 k 1

v λ ν λ

w 1 έστω μ ,κ , λ λ

ν λ

v λ v λ

 

 

 

    

   

   

   

 

Ο λόγος max

min

κ λ

 λ της μέγιστης λmax προς την ελάχιστη λmin ιδιοτιμή λέγεται αριθμός κατάστασης (condition number) ενός συμμετρικού και θετικά ορισμένου πίνακα.

Αρά έχουμε

 

  

2 2 2

2 2 2

2 3 2

κ μ

w 1 θέτουμε μ κ

κ μ κ μ

   

  και προκύπτει

 

 

4 5 4 3 2

2

2

5 4 3 5 4 3

4κ κ 2κ κ κ 1

w 1

κ 2κ κ κ 2κ κ κ 1

  

   

     άρα w κ 1

κ 1

 

Έτσι τα αποτελέσματα για την σύγκλιση της Μεθόδου SD είναι

k 1  k k  0

A A A

κ 1 κ 1

r r r

κ 1 κ 1

      όπου r 0  b Ax 0 .

3.3 Μέθοδος SD στο Mathematica

Το Mathematica χρησιμοποιεί έτοιμες εντολές για την επίλυση γραμμικών συστημάτων όπως η LinearSolve. Με τους κώδικες όμως που θα παρουσιάσουμε παρακάτω μπορούμε να παρακολουθούμε σε κάθε επανάληψη αν το επιθυμούμε την επίλυση του συστήματος.

Σύμφωνα με τις δύο προηγούμενες παραγράφους 3.1 και 3.2 ο κώδικας για την Μέθοδο SD είναι:

Αρχικά εισάγουμε τα δεδομένα

(27)

26

Και στην συνέχεια ο κώδικας για κάθε επανάληψη είναι

Για να συγκλίνει η μέθοδος και να σταματήσει τις επαναλήψεις ώστε να φτάσουμε στην προσεγγιστική λύση χρησιμοποιούμε την εντολή If και σύμφωνα με την παράγραφο 3.2 προκύπτει ο κώδικας

(28)

27

Η κατανόηση της λειτουργίας της μεθόδου αλλά και του κώδικα που φτιάξαμε φαίνεται από ένα απλό παράδειγμα γραμμικού συστήματος Αχ=b με πίνακα συντελεστών Α3χ3

συμμετρικό και θετικά ορισμένο (αντιπροσωπεύοντας ένα αραιό γραμμικό σύστημα) ώστε να μπορούμε να παρακολουθούμε την επαναληπτική διαδικασία.

(29)

28

Τα αποτελέσματα αυτού φαίνονται στα επόμενα output του προγράμματος

(30)

29

Έχουμε λοιπόν την δυνατότητα μέσω του κώδικα που κατασκευάσαμε στο Mathematica να πάρουμε για τις πρώτες 5 επαναλήψεις που εμείς ορίσαμε την προσεγγιστική λύση σε κάθε μια ξεχωριστά.

Το προηγούμενο παράδειγμα επιλύεται με την Μέθοδο SD συγκλίνοντας και χωρίς εμείς να ορίσουμε το πλήθος των επαναλήψεων στην επόμενη εφαρμογή. Παρουσιάζει όλα τα αποτελέσματα σε κάθε επανάληψη και επαληθεύεται η λύση με την εντολή LinearSolve όπως φαίνεται παρακάτω

(31)

30

(32)

31

Το πλεονέκτημα λοιπόν της Μεθόδου SD που κατασκευάσαμε είναι πως κατά την επίλυση μπορούμε να αντλήσουμε τις εξής πληροφορίες:

1) Πλήθος επαναλήψεων (στο παράδειγμά μας 15)

2) Ακρίβεια προσέγγισης με την νόρμα υπολοίπου r ( στο παράδειγμά μας r=4.76229x10-7)

3) Προσεγγιστική λύση σε κάθε επανάληψη.

(33)

32

Τέλος θα εφαρμόσουμε την Μέθοδο SD σε ένα γραμμικό σύστημα με συντελεστές έναν αραιό πίνακα A θετικά ορισμένο και συμμετρικό

ο οποίος έχει nn(A)=298 μη μηδενικά στοιχεία σε ποσοστό 3% όπως φαίνεται και στο Mathematica.

Ο κώδικας επίλυσης παρουσιάζεται παρακάτω:

(34)

33

Παρατηρούμε λοιπόν πως φτάνουμε στην προσεγγιστική λύση μετά από 27.886 επαναλήψεις με προσέγγιση (υπολοίπο) r = 0.00049982

(35)

34

Το πλήθος των επαναλήψεων είναι αρκετά μεγάλο εξαιτίας του αραιού πίνακα της αρχικής προσέγγισης η οποία είναι η μηδενική ώστε να μπορούμε να συγκρίνουμε τις μεθόδους μεταξύ τους.

Επαληθεύουμε παρακάτω τα αποτελέσματα και με την εντολή LinearSolve του Mathematica

(36)

35

Κεφάλαιο 4

ο

Μέθοδος Ελαχίστου Τπολοίπου (MR)

4.1 Ανάλυση ΜεθόδουMR

Η Μέθοδος Ελαχίστου Υπολοίπου (Minimal Residual Method)MR είναι και αυτή μια επαναληπτική μέθοδος γραμμικής αναζήτησης που χρησιμοποιείται στην επίλυση συστημάτων γραμμικών εξισώσεων παρόμοια με την Μέθοδο Απότομης Καθόδου SD [1].Απευθύνεται σε συστήματα γραμμικών εξισώσεων με πίνακες συντελεστών θετικά ορισμένο αλλά όχι απαραίτητα συμμετρικό όπως η Μέθοδος SD.

Από το προηγούμενο κεφάλαιο γνωρίζουμε ότι το διάνυσμα υπολοίπου είναι r k  b Ax k

H επαναληπτική διαδικασία για την προσέγγιση και εύρεση της λύσης σε κάθε καινούργια επανάληψη είναιxk 1 x k a rk  k

Σκοπός της Μεθόδου Ελαχίστου Υπολοίπου MR είναι να ελαχιστοποιηθεί η νόρμα του διανύσματος υπολοίπου r(k) που σε κάθε νέα (k+1) επανάληψη είναι:

   

 

   

   

k 1 k 1

k k

k

k k

k

k k

k

r b Ax

b A x a r b Ax a Ar r a Ar

 

   

   

 

Το διάνυσμα κατεύθυνσης είναι d k  Ar k

Αφού το διάνυσμα υπολοίπου r(k+1) και το διάνυσμα κατεύθυνσης d(k) είναι κάθετα μεταξύ τους τότε r k a Ar ,Ark  k  k =0

Έτσι η νόρμα του διανύσματος r είναι:

(37)

36

       

 

 

 

 

   

 

   

 

   

 

   

 

   

           

     

k 1 2 k 1 k 1

k k k k

k k

T T

k k T k k

k

T T T T

k k k T k k k 2 k T k

k

k k k k k k

k k k

k k k

k

r r ,r

r a Ar ,r a Ar

r a r A r Ar

r r a r A r r Ar a r A Ar

r a Ar ,r a r a Ar ,Ar

r a Ar ,r

 

   

 

    

    

Referências

Documentos relacionados