Γ. Γεωργίου, Αριθμητική Ανάλυση 1.4 Αριθμητική υπολογιστών και σφάλματα Στην παράγραφο αυτή καλύπτουμε πρώτα γενικά το θέμα της αριθμητικής υπολογιστών και στην συνέχεια διαπραγματευόμαστε την έννοια του σφάλματος τόσο γενικά όσο και ειδικά στα πλαίσια της MATLAB. 1.4.1 Αριθμητική υπολογιστών Διακρίνουμε δύο τρόπους παράστασης αριθμών: 1) Την αριθμητική σταθερής υποδιαστολής (fixed-point arithmetic). Αυτή είναι παρόμοια με την αριθμητική στο χέρι και δεν θα μας απασχολήσει. 2) Την αριθμητική κινητής υποδιαστολής (floating-point arithmetic). Αυτή χρησιμοποιείται στους υπολογιστές και είναι πιο σημαντική. Στην αριθμητική κινητής υποδιαστολής μετακινούμε την υποδιαστολή πριν από το πρώτο μη μηδενικό ψηφίο και πολλαπλασιάζουμε με τη βάση του αριθμητικού συστήματος υψωμένη σε κατάλληλο εκθέτη. Για παράδειγμα, στο δεκαδικό σύστημα, ο αριθμός -(0.0005928) 10 με αριθμητική κινητής υποδιαστολής γράφεται ως εξής: Παρομοίως στο δυαδικό σύστημα ο αριθμός -.598 10-3 (111.001) 2 με αριθμητική κινητής υποδιαστολής γράφεται ως εξής:.111001 2 3 Σ ένα αριθμητικό σύστημα με βάση (base or radix) το β, ένας αριθμός κινητής υποδιαστολής έχει τη γενική μορφή x = σ (. a 1 a 2 a 3 ) β β e (1) όπου σ το πρόσημο του αριθμού, με μόνες πιθανές τιμές τα +1 και -1. η κλασματική υποδιαστολή (radix point) α i, i=1,2,3, τα ψηφία του αριθμού για τα οποία ισχύει α 1 0 (κανονικοποιημένη normalized- παράσταση κινητής υποδιαστολής) και 0 α i β 1 e o εκθέτης ο οποίος μπορεί να είναι οποιοσδήποτε ακέραιος αριθμός Με την κανονικοποίηση (normalization) η αναπαράσταση ενός αριθμού είναι μοναδική και δεν διατίθενται άσκοπα θέσεις μνήμης σε αχρείαστα μηδενικά. Επιπλέον, στα δυαδικά συστήματα, το α 1 (που αναγκαστικά είναι 1) δεν χρειάζεται να αποθηκευτεί. Στον υπολογιστή δεν είναι εφικτό να αποθηκεύσουμε κάθε πραγματικό αριθμό αφού υπάρχουν περιορισμοί στο πλήθος των ψηφίων που μπορούν να αποθηκευθούν και στο μέγεθος του εκθέτη. Το πλήθος t των σημαντικών ψηφίων που αποθηκεύει το σύστημα καθορίζει την ακρίβεια (precision) του συστήματος. Επίσης το σύστημα διαθέτει πεπερασμένο πλήθος θέσεων μνήμης για να αποθηκεύσει τον εκθέτη e. Έτσι ισχύει
L e U (2) όπου L και U αντίστοιχα το κάτω και το άνω φράγμα του εκθέτη. Γενικά ισχύει, L U + 1. Συνοψίζοντας, ο υπολογιστής αποθηκεύει αριθμούς της μορφής x = σ (. a 1 a 2 a t ) β β e (3) με τους περιορισμούς που αναφέραμε για τον εκθέτη e. Η παράσταση (. a 1 a 2 a t ) β καλείται κλασματικό μέρος (mantissa) του αριθμού. Οι αριθμοί που μπορούν να γραφούν στην μορφή (3) καθορίζονται από τέσσερις ακέραιους αριθμούς, τους β, t, L και U, οι οποίοι χαρακτηρίζουν μια μηχανή. Στη μηχανή είναι αποδεκτοί μόνο αριθμοί της μορφής (3) καθώς και το 0, οι οποίοι καλούνται αριθμοί μηχανής (machine number). Θα συμβολίζουμε το σύνολο των αριθμών μηχανής με Μ = Μ(β, t, L, U) Παρατηρήσεις (1) Είναι φανερό ότι το Μ είναι ένα πεπερασμένο υποσύνολο των ρητών αριθμών. (2) Θέτοντας e=u και α 1 = α 2 = = α t = (β 1) παίρνουμε το κατ απόλυτη τιμή μέγιστο στοιχείο του Μ x max = (. (β 1)(β 1) (β 1)) β β U (4) Έτσι στο δυαδικό σύστημα (β=2) ο μέγιστος αριθμός μηχανής είναι ο x max = (. 11 1) 2 2 U ενώ στο οκταδικό σύστημα (β=8) ο μέγιστος αριθμός είναι ο x max = (. 77 7) 8 8 U (3) Για οποιαδήποτε βάση β, ο κατ απόλυτη τιμή ελάχιστος αριθμός μηχανής είναι ο x min = (. 100 0) β β L (5) (4) Η απόσταση μεταξύ δύο διαδοχικών στοιχείων του Μ δεν είναι σταθερή αλλά εξαρτάται από την τιμή του εκθέτη e. Γενικά, αν x 1 = (. a 1 a 2 a t ) β β e είναι ένας οποιοσδήποτε θετικός αριθμός μηχανής, ο αμέσως μεγαλύτερός του αριθμός μηχανής είναι ο x 2 = (. a 1 a 2 a t + β t ) β β e = (. a 1 a 2 a t ) β β e + β e t = x 1 + β e t x 2 x 1 = β e t (6) Παρατηρούμε ότι η απόσταση αυξάνει με τον εκθέτη e (η ακρίβεια t είναι σταθερά της μηχανής). Αν πάρουμε μια δεκαδική μηχανή (β=10) με t=5, ο αμέσως επόμενος αριθμός μηχανής μετά τον x 1 = (. 23012) 10 2 είναι ο x 2 = (. 23013) 10 2, οπότε x 2 x 1 = (. 00001) 10 2 = 10 3 Αν x 1 = (. 23113) 10 3 τότε x 2 = (. 23114) 10 3, και έτσι 2
x 2 x 1 = (. 00001) 10 3 = 10 8 (5) Σε μια δυαδική μηχανή (β=2), ο μέγιστος κατ απόλυτη τιμή αριθμός μηχανής είναι ο x max = (. 111 1) 2 U ενώ ο ελάχιστος κατ απόλυτη τιμή αριθμός μηχανής είναι ο x min = (. 100 0) 2 L Είναι εύκολο να παρατηρήσουμε ότι το σύνολο Μ δεν είναι κλειστό ως προς την πρόσθεση ή τον πολλαπλασιασμό, αφού και x max + x max Μ x min x min Μ Ας πάρουμε και ένα παράδειγμα στο δεκαδικό σύστημα (β=10) με t=7. Έστω x = (. 1000000) 10 1 και x = (. 1000000) 10 6. Παρατηρούμε ότι x + y = 1 + 0.0000001 = 1.0000001 Μ Όπως θα δούμε σε λίγο, όταν το αποτέλεσμα μιας πράξης δεν αντιστοιχεί σε αριθμό μηχανής, τότε η μηχανή θα τον προσεγγίσει με ένα γειτονικό αριθμό μηχανής. 1.4.2. Παράσταση αριθμού κινητής υποδιαστολής στους υπολογιστές Στην παράγραφο αυτή θα αναφερθούμε αποκλειστικά σε υπολογιστές που χρησιμοποιούν το δυαδικό σύστημα (β=2). Σύμφωνα με το πρότυπο της αριθμητικής του ANSI/IEEE 1 (Institute of Electrical Engineers) το μήκος ενός αριθμού μηχανής εκφράζεται σε δυαδικά ψηφία ή δυφία (binary digits or bits) 2. Το μήκος ενός αριθμού μηχανής δίνεται από την l = p + q + 1 (7) όπου p το μήκος του εκθέτη, q το μήκος του κλασματικού μέρους, ενώ μια θέση μνήμης διατίθεται για το πρόσημο του αριθμού. Η παράσταση ενός αριθμού μηχανής φαίνεται στο ακόλουθο σχήμα. 1 1 2 3 p 1 2 3 q Πρόσημο Εκθέτης Δυαδική υποδιαστολή Κλασματικό μέρος (mantissa) Στον Πίνακα 1.1 φαίνονται οι θέσεις μνήμης που χρησιμοποιούνται στην απλή, διπλή και τετραπλή ακρίβεια. Ισχύουν τα εξής: 1 Το πρότυπο ANSI/IEEE έχει επικρατήσει παγκόσμια στους ψηφιακούς υπολογιστές. 2 Ως γνωστό, 8bits=1byte. 3
και β U = 10 U U = Ulog 10 β β q+1 = 10 q q = (q + 1)log 10 β Πίνακας 1.1 Απλή ακρίβεια (single precision) Διπλή ακρίβεια (double precision) Τετραπλή ακρίβεια (quadruple precision) Πρόσημο 1 1 1 Εκθέτης, p 8 11 14 Κλασματικό μέρος*, q 23(+1) 52(+1) 112(+1) Μήκος, l 32 bits (4bytes) 64bits (8bytes) 128 bits (16bytes) L -126-1022 -16382 U 127 1023 16383 Δεκαδικό q 7.22 15.95 34.02 Δεκαδικό U 38.23 307.95 4931.77 *Σημείωση: οι αριθμοί στις παρενθέσεις αντιστοιχούν σε συστήματα που εξοικονομούν 1 θέση μνήμης με το να μην αποθηκεύουν το πρώτο κλασματικό ψηφίο που στο δυαδικό σύστημα είναι αναγκαστικά το 1. Σημειώνουμε ότι η μια από τις p θέσεις μνήμης που διατίθενται για τον εκθέτη περιέχει το πρόσημο τοθ εκθέτη. Έτσι, στην πραγματικότητα οι διαθέσιμες θέσεις μνήμης είναι p-1. Στη γενική περίπτωση η μέγιστη τιμή του εκθέτη είναι U = ((β 1)(β 1) (β 1)) β = βp 1 1 β 1 (8) Απλή ακρίβεια Παρατηρούμε ότι στην απλή ακρίβεια η μέγιστη τιμή του εκθέτη είναι Ισχύει U = (1111111) 2 = 27 1 2 1 = 127 126 e 127 Μπορούμε εύκολα να βρούμε τις τιμές των κατ απόλυτη τιμή ελάχιστων και μέγιστων αριθμών: x min = 2 1 2 L = 2 L 1 = 2 127 = 5.8875 10 39 x max = (.111 1) 1 2 U = 2 U = 2 127 = 1.7014 10 38 Διπλή ακρίβεια Ομοίως στη διπλή ακρίβεια βρίσκουμε ότι η μέγιστη τιμή του εκθέτη είναι η και Για τα x max και x min βρίσκουμε: U = (1111111111) 2 = 210 1 2 1 = 1023 1022 e 1023 4
x min = 2 1 2 L = 2 L 1 = 2 1023 = 1.1125 10 308 x max = (.111 1) 2 2 U = 2 U = 2 1023 = 8.9885 10 307 1.4.3. Προσέγγιση πραγματικών αριθμών με αριθμούς μηχανής Θεωρούμε το σύνολο των αριθμών μηχανής M(β,t,L,U), δηλ. το σύνολο που περιλαμβάνει το 0 και τους αριθμούς της μορφής σ (. α 1 α 2 α t ) β β e όπου α 1 0 και L e U (9) Όπως έχουμε ήδη αναφέρει ο μέγιστος κατ απόλυτη τιμή αριθμός μηχανής είναι ο x max = (. (β 1)(β 1) (β 1)) β β U (10) ενώ ο ελάχιστος κατ απόλυτη τιμή αριθμός μηχανής είναι ο 3 x min = (. 100 0) β β L (11) Έστω τώρα ένας πραγματικός αριθμός ο οποίος στο β-δικό σύστημα γράφεται ως εξής x = σ (. α 1 α 2 α t α t+1 ) β β e όπου α 1 0 και e Z (12) και ο οποίος εμφανίζεται κατά τους υπολογισμούς ενός προγράμματος. Το ερώτημα που τίθεται είναι σε ποιον «κοντινό» αριθμό μηχανής, τον οποίο συμβολίζουμε με fl(x), θα αντιστοιχίσει η μηχανή τον αριθμό x R. Υπερχείλιση και υπεκχείλιση Στην περίπτωση που είναι x x max τότε λέμε ότι έχουμε υπερχείλιση (overflow) υπολογισμούς. Αν και ο υπολογιστής σταματά τους x x min λέμε ότι έχουμε υπεκχείλιση (underflow). Στην περίπτωση αυτή ο υπολογιστής θέτει fl(x) = 0 και συνεχίζει τους υπολογισμούς. Είναι φανερό ότι και στις δύο περιπτώσεις χάνεται κάθε πληροφορία για τον αριθμό x. Είναι επίσης φανερό ότι fl(0) = 0 Αποκοπή και στρογγύλευση Εξετάζουμε τώρα την περίπτωση όπου Αν ο x είναι ίσος με ένα αριθμό μηχανής τότε x min x x max fl(x) = x 3 Στη MATLAB μπορούμε να βρούμε τους x min και x max με τις συναρτήσεις realmin και realmax αντίστοιχα. 5
Αν τέλος ο x δεν είναι ίσος με αριθμό μηχανής τότε αυτός θα βρίσκεται ανάμεσα σε δύο αριθμούς μηχανής x x x, x, x M Είναι λογικό ότι ο fl(x) θα είναι ένας από τους x και x. Στην περίπτωση που ο x είναι θετικός x = (. α 1 α 2 α t ) β β e και x = (. α 1 α 2 α t + β t ) β β e Για την εύρεση του fl(x) υπάρχουν δύο τρόποι περικοπής: (α) αποκοπή (truncation, chopping) (β) στρογγύλευση (rounding). Στην αποκοπή, αποκόπτονται τα πλεονάζοντα ψηφία, δηλ. τα ψηφία δεξιά του α t, fl(x) = x = (. α 1 α 2 α t ) β β e Στη στρογγύλευση ο fl(x) είναι ο πλησιέστερος στον x αριθμός μηχανής. Ως γνωστό, για να στρογγυλεύσουμε ένα δεκαδικό αριθμό απορρίπτουμε τα πλεονάζοντα ψηφία αν το πρώτο από αυτά είναι κάποιο από τα 0, 1, 2, 3, 4 και αυξάνουμε το τελευταίο πριν την αποκοπή ψηφίο κατά 1 στις υπόλοιπες περιπτώσεις. Αν ο αριθμός είναι δυαδικός απορρίπτουμε τα πλεονάζοντα ψηφία αν το πρώτο από αυτά είναι 0 διαφορετικά αυξάνουμε το τελευταίο πριν την αποκοπή ψηφίο κατά 1 Παράδειγμα 1.4.1 Θεωρούμε αριθμούς δεκαδικής (β=10) μηχανής με 5 σημαντικά ψηφία (t=5). Έχουμε fl( 24.42695) αποκοπή.24426 10 2 fl( 24.42695) στρογγύλευση.24427 10 2 fl(0.0003462278) αποκοπή. 34622 10 3 fl(0.0003462278) στρογγύλευση. 34623 10 3 fl(46729162) αποκοπή. 46729 10 8 fl(46729162) στρογγύλευση. 46729 10 8 fl( 10.99961) αποκοπή. 10999 10 2 fl( 10.99961) στρογγύλευση. 11000 10 2 Παράδειγμα 1.4.2 Θεωρούμε αριθμούς δυαδικής (β=2) μηχανής με 5 σημαντικά ψηφία (t=5). Έχουμε 6
fl(101.11101) αποκοπή. 10111 2 3 fl(101.11101) στρογγύλευση. 11000 2 3 fl(11.1101) αποκοπή. 11110 2 3 fl(11.1101) στρογγύλευση. 11111 2 3 Ορισμός 1.4.1 Καλούμε μοναδιαίο σφάλμα στρογγύλευσης (roundoff unit) τον μικρότερο αριθμό u για τον οποίο ισχύει fl(1 + u) > 1 (13) To u καλείται επίσης μηδέν της μηχανής ή έψιλον της μηχανής (machine epsilon). Σε μερικά βιβλία βρίσκουμε εναλλακτικούς ορισμούς όπως τον πιο κάτω: Εναλλακτικός Ορισμός 1.4.1 Το έψιλον της μηχανής ή μονάδα στρογγύλευσης της μηχανής (machine rounding unit) είναι ο μεγαλύτερος αριθμός κινητής υποδιαστολής για τον οποίο ο υπολογιστής δεν μπορεί να διακρίνει τον x+1 από το 1: fl(x + 1) = 1 (14) Ορισμός 1.4.2 Έστω fl(x) ο αριθμός μηχανής που προσεγγίζει τον αριθμό x. Καλούμε σφάλμα στρογγύλευσης (αντ. αποκοπής) το x fl(x) Αν x 0, καλούμε επίσης σχετικό σφάλμα στρογγύλευσης (αντ. αποκοπής) το Παρατήρηση Για το σφάλμα στρογγύλευσης ισχύει x fl(x) x x fl(x) x y, y M (15) Στην περίπτωση σφάλματος αποκοπής το πιο πάνω δεν ισχύει πάντα για όλα τα y. Γιατί; Πρόταση 1.4.3 Για τα σχετικά σφάλματα στρογγύλευσης και αποκοπής ισχύει fl(x) x x 1 { 2 β1 t για στρογγύλευση β 1 t για αποκοπή όπου β η βάση του αριθμητικού συστήματος και t η ακρίβεια. (16) Απόδειξη 7
Θα αποδείξουμε την πρόταση μόνο για την περίπτωση στρογγύλευσης αφού η απόδειξη για αποκοπή είναι παρόμοια. Αν fl(x)=x, η (15) ισχύει αφού μηδενίζεται το αριστερό μέλος. Αν ο x δεν είναι αριθμός μηχανής, τότε αυτός θα βρίσκεται ανάμεσα σε δύο αριθμούς μηχανής Στην περίπτωση στρογγύλευσης x x x, x, x M fl(x) x 1 2 x x fl(x) x x 1 2 x x x (i) Χωρίς βλάβη της γενικότητας θεωρούμε ότι x>0 και x = (. α 1 α 2 α t α t+1 ) β β k Τότε x = (. α 1 α 2 α t ) β β k και x = (. α 1 α 2 α t + β t ) β β k οπότε x x = β k t Έχουμε ακόμα (ii) x = (. α 1 α 2 α t ) β β k (. α 1 )β κ 1 β βk Από τις (i), (ii) και (iii) έχουμε fl(x) x x x β k 1 1 2 β k t β k 1 = 1 2 β1 t (iii) Παρατήρηση Μπορούμε να πούμε ότι για το μοναδιαίο σφάλμα περικοπής (στρογγύλευσης ή αποκοπής) ή μηδέν ή έψιλον της μηχανής ισχύει Άρα, βάσει της Πρ. 1.4.3 ισχύει 1 u = { 2 β1 t για στρογγύλευση β 1 t για αποκοπή (17) fl(x) x u (18) x Πράξεις στον υπολογιστή Στον Μ δεν ισχύουν οι συνήθεις ιδιότητες του R. Για παράδειγμα, δεν ισχύουν η προσεταιριστική και η επιμεριστική ιδιότητα. Παράδειγμα 1.4.3 Θεωρούμε αριθμούς δεκαδικής (β=10) μηχανής με 5 σημαντικά ψηφία (t=5) και με U=-L=10. Θεωρούμε ότι οι αριθμοί μηχανής επιλέγονται με στρογγύλευση. Έτσι για τους x=5891.26 και y=0.0773411 8
έχουμε fl(x)=.58913 10 4 και fl(y)=.77341 10-1 Ενώ το ακριβές άθροισμα των πιο πάνω αριθμών μηχανής είναι το fl(x)+ fl(y)=.5891377341 10 4 στον υπολογιστή αποθηκεύεται ο αντίστοιχος αριθμός μηχανής: fl( fl(x)+ fl(y) )=.58914 10 4 Παράδειγμα 1.4.4 Όπως αναφέραμε πιο πάνω, η πρόσθεση σε μια μηχανή δεν είναι προσεταιριστική. Αυτό πολύ απλά σημαίνει ότι το αποτέλεσμα μπορεί να είναι διαφορετικό αν προσθέσουμε τρεις ή περισσότερους αριθμούς με διαφορετική σειρά. Θεωρούμε ξανά αριθμούς δεκαδικής (β=10) μηχανής με 5 σημαντικά ψηφία (t=5) και με U=-L=10. Θεωρούμε ότι οι αριθμοί μηχανής επιλέγονται με στρογγύλευση. Έτσι για τους έχουμε x=1, y=3 10-6 και z= 4 10-6 fl(x)=.1 10 1, fl(y)=.3 10-5 και fl(z)=.4 10-5 (Παρατηρούμε ότι οι τρεις αριθμοί που επιλέξαμε είναι αριθμοί μηχανής.) Θα βρούμε τα αποτελέσματα που βρίσκει η μηχανή αν προσθέσουμε τους τρεις αριθμούς με δύο διαφορετικούς τρόπους. α) (x+y)+z Η μηχανή υπολογίζει πρώτα το άθροισμα x+y: fl(x)+ fl(y)=.100003 10 1 fl( fl(x)+ fl(y) )=.10000 10 1 Στη συνέχεια η μηχανή προσθέτει το z: fl( fl(x)+ fl(y) ) + fl(z) =.100004 10 1 fl( fl( fl(x)+ fl(y) ) + fl(z) ) =.10000 10 1 β) x+(y+z) Η μηχανή υπολογίζει πρώτα το άθροισμα y+z: fl(y)+ fl(z)=.70000 10-5 fl( fl(y)+ fl(z) )=.70000 10-5 Στη συνέχεια η μηχανή προσθέτει το x: fl(x) + fl( fl(y)+ fl(z) ) =.100007 10 1 fl(fl(z) + fl( fl(y)+ fl(z) ) +) =.10001 10 1 Βλέπουμε λοιπόν ότι δεν ισχύει η προσεταιριστική ιδιότητα. Πάντως, αν η μηχανή περίκοπτε με αποκοπή το αποτέλεσμα στο συγκεκριμένο παράδειγμα θα ήταν το ίδιο 9
1.4.4 Ασκήσεις 1.4.1. Να συμπληρωθεί ο πίνακας Μισή ακρίβεια (half precision) Πρόσημο 1 Εκθέτης, p 5 Κλασματικό μέρος, q 10(+1) Μήκος, l 16 bits (2bytes) L U Δεκαδικό q Δεκαδικό U 1.4.2. Να συμπληρωθεί κατά το δυνατόν ο πίνακας Υπερυπολογιστής Αριθμομηχανή IBM mainframe CRAY HP Βάση, β 2 10 16 Πρόσημο 1 Εκθέτης, p Κλασματικό μέρος, q 48 12 6 Μήκος, l L -16383-499 -64 U 16384 499 63 Δεκαδικό q Δεκαδικό U Σημείωση: Είναι φανερό ότι έχουμε αρκετές αποκλίσεις από το πρότυπο ANSI/IEEE. 1.4.3 Σχεδιάστε στη MATLAB τα γραφήματα των και 7 6 5 4 3 2 y x x x x x x x 7 21 35 35 21 7 1 y ( x 1) για x=0.988:0.0001:1.012 και σχολιάστε τα αποτελέσματά σας. 1.4.4 Απαντήστε στα ερωτήματα Τι κάνει το πρόγραμμα; Πόσες γραμμές αποτελεσμάτων παράγει κάθε πρόγραμμα; Ποιες είναι οι τελευταίες δύο τιμές του x που τυπώνονται; (α) x=1; while 1+x>1 x=x/2 pause(.02) end (β) x=1; while x+x>x x=2*x 7 10
pause(.02) end (γ) x=1; while x+x>x x=x/2 pause(.02) end 1.4.5 Η δυναμοσειρά του sinx είναι η 3 5 7 x x x sin x x 3! 5! 7! Η συνάρτηση της MATLAB χρησιμοποιεί την πιο πάνω σειρά για τον υπολογισμό του ημιτόνου: function s=powersin(x) % Sxolia s=0; t=x; n=1; while s+t ~=s; s=s+t; t=-x.^2/((n+1)*(n+2)).*t; n=n+2; end (α) Τι προκαλεί τον τερματισμό του βρόχου while; (β) Για τα x=π/2, 11π/2, 21π/2 και 31π/2 Πόσο ακριβής είναι ο υπολογισμός; Πόσοι όροι απαιτούνται; Ποιος είναι ο μεγαλύτερος όρος της δυναμοσειράς; 1.4.6 Τροποποιήστε το πιο πάνω πρόγραμμα για τον υπολογισμό του 2 4 6 x x x cos x 1 2! 4! 6! Ποια είναι τα αποτελέσματα για x=0, π/3, π/4 και π/2; 11
1.5 Επιρροή των σφαλμάτων στρογγύλευσης στους υπολογισμούς Έστω οι x, y R και fl(x), fl(y) M οι αντίστοιχοι αριθμοί μηχανής. Θα χρησιμοποιήσουμε το σύμβολο * για οποιαδήποτε από τις συνήθεις πράξεις (πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση). Υποθέτουμε ακόμα ότι ο αριθμός fl(x) fl(y) παριστάνεται από αριθμό μηχανής (δηλ. δεν έχουμε υπερχείλιση ούτε υπεκχείλιση) και σημειώνουμε ότι στον υπολογιστή η πράξη εκτελείται με ακρίβεια 2t ψηφίων. 12