EMN dr Wojtek Palubicki
Zadanie 1 Wyznacz wszystkie dodatnie liczby zmiennopozycyjne (w systemie binarnym) dla znormalizowanej mantysy 3-bitowej z przedziału [0.5, 1.0] oraz cechy z zakresu 1 c 3.
Rounding - IEEE if what is left over is < ½: 0 drop the bits if what is left over is > ½: 1 add 1 to last bit
Rounding, if what is left over is = 1/2 if last bit is 1: 1 10 0 add 1 to last bit if last bit is 0: 0 10 0 drop the bits
Machine ε The number machine epsilon (ε M ) is the distance between 1 and the next smallest representable number In our IEEE double precision representation, this next smallest number is 1 + ε M = +1.000 001 = 1 + 2-52 So ε M = 2-52 Note 2-52 ~ 10-16
Approximating ε epsilon = 1.0; while (1.0 + 0.5 * epsilon) 1.0: epsilon = 0.5 * epsilon
Zadanie 2 Podaj wartość maszynowego epsilonu z zadania 1 Dla wyznaczonego zbioru określić dokładność maszynową dla obcięcia i zaokrąglenia. W otrzymanym zbiorze znaleźć wyniki następujących operacji arytmetycznych: 1.25 + 0.3750 0.25 * 0.5 4.0 + 4.0 0.3 + 1.55
Błędy numeryczne Precyzja liczb jest skończona błędy się zwiększają celem analizy numerycznej jest uzyskanie oszacowań błędów Rzeczywiste liczby x można za reprezentować: fl(x) = x (1+ ) : zmiennopozycyjnej liczby na komputerze fl(x)-x = x błąd bezwzględny (lub x) fl(x)-x /x = błąd względny
Błędy numeryczne Precyzja liczb jest skończona błędy się zwiększają celem analizy numerycznej jest uzyskanie oszacowań błędów Rzeczywiste liczby x można za reprezentować: fl(x) = x (1+ ) : zmiennopozycyjnej liczby na komputerze fl(x)-x = x błąd bezwzględny (lub x) fl(x)-x /x = błąd względny
Zadanie 3 Jeżeli liczba 1/10 jest poprawnie zaokrąglona do znormalizowanej liczby dwójkowej (0.110011) 2 *2-3 to jaki jest bezwzględny i względny błąd zaokrąglenia?
Poprawność Liczb Zmiennopozycyjnych Poprawne jeżeli fl(x)-x 0.5 10 t to mówimy ze fl(x) ma t poprawnych cyfr ułamkowych Cyfry istotne są to wszystkie cyfry z wyjątkiem zer na początku liczby pomagające określić pozycję kropki. Znaczące cyfry istotne (nie-zerowe) występujące w fl(x) do pozycji t po kropce
Poprawność Liczb Zmiennopozycyjnych Poprawne jeżeli fl(x)-x 0.5 10 t to mówimy ze fl(x) ma t poprawnych cyfr ułamkowych Cyfry istotne są to wszystkie cyfry z wyjątkiem zer na początku liczby pomagające określić pozycję kropki. Znaczące cyfry istotne (nie-zerowe) występujące w fl(x) do pozycji t po kropce
Poprawność Liczb Zmiennopozycyjnych Poprawne jeżeli fl(x)-x 0.5 10 t to mówimy ze fl(x) ma t poprawnych cyfr ułamkowych Cyfry istotne są to wszystkie cyfry z wyjątkiem zer na początku liczby pomagające określić pozycję kropki. 0.0001502
Poprawność Liczb Zmiennopozycyjnych Poprawne jeżeli fl(x)-x 0.5 10 t to mówimy ze fl(x) ma t poprawnych cyfr ułamkowych Cyfry istotne są to wszystkie cyfry z wyjątkiem zer na początku liczby pomagające określić pozycję kropki. 0.0001502 1502
Poprawność Liczb Zmiennopozycyjnych Poprawne jeżeli fl(x)-x 0.5 10 t to mówimy ze fl(x) ma t poprawnych cyfr ułamkowych Cyfry istotne są to wszystkie cyfry z wyjątkiem zer na początku liczby pomagające określić pozycję kropki. Znaczące cyfry istotne występujące w fl(x) do pozycji t po kropce
Poprawność Liczb Zmiennopozycyjnych Poprawne jeżeli fl(x)-x 0.5 10 t to mówimy ze fl(x) ma t poprawnych cyfr ułamkowych Cyfry istotne są to wszystkie cyfry z wyjątkiem zer na początku liczby pomagające określić pozycję kropki. Znaczące cyfry istotne występujące w fl(x) do pozycji t po kropce 0.0025624 ± 0.000004 0.0010995 ± 0.00003 0.002223 ± 0.00006
Zadanie 4 Napisz program obliczający wartość tego samego wielomianu sposobami a), b) i c): a) z(x) = (x - 1) 8 b) z(x) = x 8-8x 7 + 28x 6-56x 5 + 70x 4-56x 3 + 28x 2-8x + 1 c) z(x) = (((((((x - 8)x + 28)x - 56)x + 70)x - 56)x + 28)x - 8)x + 1 dla x od 0.99 do 1.01 z krokiem 0.001. Co da się zauważyć?
Wskaźnik uwarunkowania roznica na wejsciu wejscie = roznica w wyniku wynik
Wskaźnik uwarunkowania γ x = x dz dx z(x) >>1 : problem źle uwarunkowany mały: problem dobrze uwarunkowany
Dobrze i źle uwarunkowane metody Przykład: 99-70*sqrt(2) ( 0.00505) Aproksymujemy 2 za pomocy liczby 1.4 Mamy dwie równoważne metody obliczania: f 1 : 99-70* 2 f 1 (1.4) = 1 f 2 : 1/(99+70* 2) f 2 (1.4) 0.0051 Wskaźniki uwarunkowania : f 1 (x)= 99-70 x f 1 (x)= 1/(99+70 x)
Dobrze i źle uwarunkowane metody Przykład: 99-70*sqrt(2) ( 0.00505) Aproksymujemy 2 za pomocy liczby 1.4 Mamy dwie równoważne metody obliczania: f 1 : 99-70* 2 f 1 (1.4) = 1 f 2 : 1/(99+70* 2) f 2 (1.4) 0.0051 Wskaźniki uwarunkowania : f 1 (x)= 99-70 x 2 20000 f 1 (x)= 1/(99+70 x) 2 0.5
f 1 : 99-70* 2 f 2 : 1/(99+70* 2) Wskaźniki uwarunkowania, subtrakcja i addycja : f(x)=x-a = x/(x-a) źle uwarunkowany dla x-a 0 f(x)=x+a = x/(x+a) źle uwarunkowany dla x+a 0 Wskaźniki uwarunkowania, multyplikacja i dywizja: f(x)=ax = xa/(ax) =1 dobrze uwarunkowany f(x)=1/x = xx -2 /(x -1 ) =1 dobrze uwarunkowany
f 1 : 99-70* 2 f 2 : 1/(99+70* 2) Wskaźniki uwarunkowania, subtrakcja i addycja : f(x)=x-a = x/(x-a) źle uwarunkowany dla x-a 0 f(x)=x+a = x/(x+a) źle uwarunkowany dla x+a 0 Wskaźniki uwarunkowania, multyplikacja i dywizja: f(x)=ax = xa/(ax) =1 dobrze uwarunkowany f(x)=1/x = xx -2 /(x -1 ) =1 dobrze uwarunkowany
f 1 : 99-70* 2 f 2 : 1/(99+70* 2) Wskaźniki uwarunkowania, subtrakcja i addycja : f(x)=x-a = x/(x-a) źle uwarunkowany dla x-a 0 f(x)=x+a = x/(x+a) źle uwarunkowany dla x+a 0 Wskaźniki uwarunkowania, multyplikacja i dywizja: f(x)=ax = xa/(ax) =1 dobrze uwarunkowany f(x)=1/x = xx -2 /(x -1 ) =1 dobrze uwarunkowany
f 1 : 99-70* 2 f 2 : 1/(99+70* 2) Wskaźniki uwarunkowania, subtrakcja i addycja : f(x)=x-a = x/(x-a) źle uwarunkowany dla x-a 0 f(x)=x+a = x/(x+a) źle uwarunkowany dla x+a 0 Wskaźniki uwarunkowania, multyplikacja i dywizja: f(x)=ax = xa/(ax) =1 dobrze uwarunkowany f(x)=1/x = xx -2 /(x -1 ) =1 dobrze uwarunkowany
f 1 : 99-70* 2 f 2 : 1/(99+70* 2) Wskaźniki uwarunkowania, subtrakcja i addycja : f(x)=x-a = x/(x-a) źle uwarunkowany dla x-a 0 f(x)=x+a = x/(x+a) źle uwarunkowany dla x+a 0 Wskaźniki uwarunkowania, multyplikacja i dywizja: f(x)=ax = xa/(ax) =1 dobrze uwarunkowany f(x)=1/x = xx -2 /(x -1 ) =1 dobrze uwarunkowany
Oblicz wskaźniki uwarunkowania F(x) = x 2-1 F(x) = x F(x) = 2x 2 y Iloczyn skalarny a=[1,2,3] i b=[4,5,-5] W przypadku funkcji wielu zmiennych:
Arytmetyka liczb zmiennopozycyjnych fl((a b)(a + b)) = ((a b)(1 + ε 1 ) (a + b)(1 + ε 2 ))(1 + ε 3 ) = (a b)(a + b) (1 + ε 1 )(1 + ε 2 )(1 + ε 3 ) = (a b)(a + b) (1 + ε 1 + ε 2 + ε 3 )
Arytmetyka liczb zmiennopozycyjnych fl((a b)(a + b)) = ((a b)(1 + ε 1 ) (a + b)(1 + ε 2 ))(1 + ε 3 ) = (a b)(a + b) (1 + ε 1 )(1 + ε 2 )(1 + ε 3 ) = (a b)(a + b) (1 + ε 1 + ε 2 + ε 3 )
Arytmetyka liczb zmiennopozycyjnych fl((a b)(a + b)) = ((a b)(1 + ε 1 ) (a + b)(1 + ε 2 ))(1 + ε 3 ) = (a b)(a + b) (1 + ε 1 )(1 + ε 2 )(1 + ε 3 ) = (a b)(a + b) (1 + ε 1 + ε 2 + ε 3 )
Arytmetyka liczb zmiennopozycyjnych fl((a b)(a + b)) = ((a b)(1 + ε 1 ) (a + b)(1 + ε 2 ))(1 + ε 3 ) = (a b)(a + b) (1 + ε 1 )(1 + ε 2 )(1 + ε 3 ) = (a b)(a + b) (1 + ε 1 + ε 2 + ε 3 )
Maszynowe epsilon ε m Czyli ε = ε 1 + ε 2 + ε 3 ε 1 + ε 2 + ε 3 3 ε m
Maszynowe epsilon ε m Czyli ε = ε 1 + ε 2 + ε 3 ε 1 + ε 2 + ε 3 3 ε m
Maszynowe epsilon ε m Czyli ε = ε 1 + ε 2 + ε 3 ε 1 + ε 2 + ε 3 3 ε m