Zapis zmiennopozycyjny, arytmetyka, błędy numeryczne Plan wykładu: 1. 2. 3. 4. 5. zapis zmiennopozycyjny arytmetyka zmiennopozycyjna reprezentacja liczb w standardzie IEEE754 błędy w obliczeniach numerycznych definicje 1 Własności zapisu zmiennopozycyjnego Jednoznaczność osiągamy dla warunku Liczbę rzeczywistą w komputerze reprezentuje liczba zmiennoprzecinkowa: F = M¯ F i = = wtedy dla dowolnego i≠ 0 mamy ¯ p¡i¡1 · jM j¯ ¡i < ¯ p jM j¯ ¡i 2 = [¯ p¡1 ; ¯ p ) E gdzie: M – znacznik („mantysa”) jest liczbą ułamkową ze znakiem – stanowi bazę reprezentacji i jest liczbą całkowitą (np.: 2, 10, 16) E – wykładnik („cecha”) jest znakowaną liczbą całkowitą Powyższy zapis jest niejednoznaczny: E ¯ p¡1 · jM j < ¯ p E+i M ¯ = Mi ¯ = (M ¯ ¡m; : : : ; ¡1; 0; 1; : : : ; m ¡i )¯ m jest liczbą pozycji znacznika w bazie. Można odróżnić w praktyce stosuje się p = 0; 1 Znaczniki spełniające powyższy warunek nazywamy znormalizowanymi (liczby znormalizowane). Nie ma liczb znormalizowanych jF j < ¯ p¡1¡Emin E+i w tym 0. Tworzą one osobną grupę zwana liczbami zdenormalizowanymi. k = mlog¯ 2 różnych reprezentacji tej samej liczby. Ograniczeniem znacznika jest jM j < ¯ ale problem nadal pozostaje. ¡1 ¡ 3 4 ¡ 1 1 ¡ 2 4 0 1 4 1 2 Znormalizowane wartości dla 3 4 ¯ = 2; 1 p=0 2 Podstawowe operacje arytmetyczne. Wykonujemy operacje na dwóch znormalizowanych liczbach F1 = M1 ¯ E1 ; F2 = M2 ¯ E2 Dzielenie F1 =F2 = = (M1 ¯ E1 )=(M2¯ E2 ) (M1 =M2 )¯ E1 ¡E2 Czy przeprowadzenie 4 podstawowych operacji da znormalizowany wynik? ponieważ Mnożenie konieczna jest postnormalizacja ilorazu do postaci F1 F2 = = M 1 ¯ E 1 M2 ¯ E 2 (M1 M2 )¯ E1 +E2 = MW ¯ W sprawdzamy czy nie wystąpił nadmiar (EW>Emax) lub niedomiar (EW<Emin) zmiennopozycyjny. Jeśli wartość znacznika wychodzi poza dozwolony zakres tj.: ¯ 2p¡2 · jMW j = jM1 M2 j < ¯ p¡1 jMW j = M1 =M2 2 (¯ ¡1 ; ¯) F1 =F2 ¯ ¡1 1 = · · (¯ p¡" M1 =M2 )¯ E1 ¡E2 ¡p+" jMW j < 1 =) " = 0 jMW j < ¯ =) " = 1 Dodatkowo należy zapewnić obsługę liczb zdenormalizowanych, dzielenia przez 0 oraz próby dzielenia 0/0. to wykonujemy postnormalizację F1 F2 " = = (M1 M2 ¯ ¡p+" )¯ E1 +E2 +p¡" 0; 1 3 Dodawanie i odejmowanie Wymagane jest wstępne wyrównanie wykładników. Powoduje to denormalizację operandu z mniejszym wykładnikiem i utratę dokładności (na najmniej znaczących pozycjach znacznika). Załóżmy E1 ¸ E2 F1 § F2 a) jeśli = = Jeśli spełniony jest warunek p ¡ i ¸ jmlog¯ 2j wówczas może dojść do wyzerowania wszystkich znaczących pozycji znacznika sumy lub różnicy. Wybór reprezentacji Liczbę zmiennopozycyjną zapisujemy na n (M1 ¯ E1 ) § (M2 ¯ E2 ) pozycjach, z czego: ¡(E1 ¡E2 ) E1 (M1 § M2 ¯ )¯ a) 1 pozycję przeznaczamy na znak liczby E1 = Emax b) t pozycji na zapis znacznika c) d pozycji na zapis wykładnika n= 1+d+t oraz ¯ p · jMW j < 2¯ p to wówczas normalizacja doprowadzi do nadmiaru. b) jeśli oraz jMW j < ¯ i · ¯ p¡1 E1 ¡ (p ¡ i) · Emin to wystąpi niedomiar. x=s à t X i=1 s se znak e0 e1 m¡i ¯ ¡i ! ¯E : : : ed¡1 m¡1 m¡2 : : : : : : : : : m¡t wykładnik znacznik 4 Dokładność reprezentacji Jeśli liczba zmiennopozycyjna jest reprezentowana przez skończoną liczbę bitów to dokładność reprezentacji określa liczba bitów znacznika a zakres reprezentowanych liczb zależy od liczby bitów wykładnika. Wartość błędu bezwzględnego wynika z nierównomiernego rozłożenia liczb w reprezentacji zmiennopozycyjnej M 0 Jeśli zachodzi warunek M ¯ E · x · (M + ulp)¯ E ; x2R (ulp – najmniej znacząca pozycja znacznika) wówczas zaokrąglając liczbę x do bliższej reprezentacji dostajemy błąd bezwzględny jf l(x) ¡ xj · 1 ulp¯ E 2 gdzie fl(x) oznacza reprezentację liczby x w zapisie zmiennopozycyjnym. ¯ p¡3 ¯ p¡2 ¯ p¡1 ¯p Błąd względny 1 E ulp¯ jf l(x) ¡ xj ulp j"(x)j = · 2 = x M ¯E 2M rośnie ze zmniejszaniem znacznika aż do wartości M RRE = max j"(x)j = M 1 ulp¯ p¡1 2 MRRE – maximum relative representation error. 5 Dobór zakresu wykładnika Schematy zaokrąglania liczb Jednym z wymagań jest aby dla każdej znormalizowanej liczby x możliwe było obliczenie jej odwrotności. Wykładnik kodowany jest na d pozycjach z czego pozycji musimy zarezerwować na 0 oraz wielkości nieznormalizowane (nieskończoności itp.). Rozpiętość wykładnika wynosi Podczas wykonywania operacji arytmetycznych może dojść do zwiększenia się liczby bitów wynikowych, np. przy mnożeniu dwóch znaczników s = Emax ¡ Emin = 2d ¡ ¸ i aby istniały znormalizowane reprezentacje odwrotności małych liczb. Dla =2, -1=1 i p=0 najmniejszy znacznik ma wartość 0,100000...000 a największy 0,111111...111 najbardziej znaczący bit nie musi być kodowany (bit ukryty). Pominięcie go prowadzi do pełnego wykorzystania przestrzeni kodowej znacznika (100%). W innych przypadkach liczby znormalizowane zajmują jedynie (1-1/)100% przestrzeni. Bit ukryty jest odtwarzany w trakcie operacji arytmetycznych. mw = 2m Aby zapisać wynik należy uciąć ostanie m bitów. Eliminacja nadmiarowych bitów nazywana jest zaokrąglaniem. Reguły zaokrąglania x · y ) f l(x) · f l(y) x 2 f l ) f l(x) = x F1 = M ¯ E · x · (M + ulp)¯ E = F2 | {z } x=F1 _x=F2 6 Odcięcie (najprostsze) Zaokrąglanie do najbliższej wartości M · x < M + ulp , T (x) = M Jeśli m - liczba pozycji znacznika d - liczba uciętych bitów x = M + i2¡d ulp; 0 · i · 2d ¡ 1 i standaryzowanym błędem losowym obcinania znacznika jest T (x) ¡ x = ¡i2¡d ulp Dla równomiernego rozkładu wartości x w przedziale [M, M+ulp] miarą średniego standaryzowanego błędu obcinania jest ±T = 1 2d d 2X ¡1 (¡i)2¡d < 0 i=0 Błąd ten jest zawsze ujemny – estymator T(x) jest ujemnie obciążony. Skutek obcinania: niedoszacowanie. Reguły zaokrąglania R(x) = ½ M; M + ulp; x¡M < x¡M ¸ ulp 2 ulp 2 Ten typ zaokrąglania powoduje, że średnia wartość błędu standaryzowanego jest bliska 0, ale estymator R(x) jest obciążony dodatnio. Zaokrąglanie symetryczne Reguły zaokrąglania 8 < M ¡ ulp; S(x) = M; : M + ulp; ¡ulp · x ¡ M < ¡ 12 ulp ¡ 12 ulp · x ¡ M · + 12 ulp + 12 ulp · x ¡ M < +ulp Średnia wartość błędu standaryzowanego wynosi 0, a estymator S(x) jest niebciążony. Wadą zwykłego zaokrąglania oraz zaokrąglania symetrycznego jest konieczność wykonania 2mpozycyjnego dodawania. 7 Reprezentacja liczb w standardzie IEEE754 Formaty liczb zmiennopozyjcyjnych: 1) zwykły pojedynczej precyzji - single (real) 2) rozszerzony pojedynczej precyzji - single extended 3) zwykły podwójnej precyzji - double 4) rozszerzony podwójnej precyzji - double extended Wykładnik jest reprezentowany w kodzie z obciążeniem, a znacznik w kodzie znakmoduł. Wartość liczby w IEEE754 Bez przesunięcia, najmniejszą wartością wykładnika jest EB=Emin+B=00...0012 a największą EB=Emax+B=11...1102 Zakres wykładnika jest ograniczony z obawy przed uzyskaniem nadmiaru podczas obliczania odwrotności liczb. Liczby zdenormalizowane z zakresu [-2Emin,+2Emin] łącznie z zerami można zapisać F = (¡1)s 2Emin (0; f ) F = (¡1)s 2EB ¡B (1; f ) gdzie: EB - wykładnik, B – przesunięcie (dzięki niemu nie musimy pamietać znaku), (E=EB-B -”prawdziwy” wykładnik) (1,f) – wartość modułu znacznika Jeśli d oznacza liczbę bitów wykładnika to wielkością przemieszczenia jest B = 2d ¡ 1 8 symbol single double Rozmiar formatu n 32 64 Rozmiar znacznika m 23(+1) 52(+1) Rozmiar wykładnika d 8 11 obciążenie B 127 1023 Zakres wykładnika E [-126,127] [-1022,1023] dokładność ulp Zakres formatu RNG 2¡23 ¼ 10¡7 2¡52 ¼ 10¡15 ¼ 2128 ¼ 3; 8 ¢ 1038 ¼ 21024 ¼ 9 ¢ 10307 9 Nie-liczby Wyjątki w IEEE754 Pojawiają się podczas wykonywania operacji Standard zapewnia obsługę specyficznych np.: wyników operacji: 0=0; p ¡jxj Bez ich obsługi program przerywałby działanie. Obsługa nie-liczb pozwala je wykryć i np. zrestartować schemat iteracyjny z innym parametrem. 1. 2. 3. 4. 5. nadmiar (Fmax, nieskończonośc) niedomiar (Fmin, l. denormalizowane) dzielenie przez 0 niepoprawna operacja (NAN) niedokładność (zaokrąglenie wyniku) Znakowane zero Po co? Dla liczb rzeczywistych mamy 1= ¡ 1 = 0; 1=(1= ¡ 1) = +1 zatem relacja 1=(1=x) = x nie jest spełniona. Dla znakowanego 0 mamy x = ¡1; 1=x = ¡0 1=(1=x) = 1= ¡ 0 = ¡1 = x 10 Błędy numeryczne Najprostszy podział: 1. błędy wejściowe 2. błędy zaokrągleń 3. błędy obcięcia Przykład – zapis 8 bitowy Liczba x(10) = 3:25 ma reprezentację x(z2) = (0)1101 (0)10 | {z } | {z } M W Ale dla liczby x=0.2 pojawia się problem Błędy wejściowe x(2) = 0:0011(0011):::: Występują gdy dane liczbowe wprowadzane do pamięci komputera odbiegają od wartości dokładnych. Kiedy po zaokrągleniu wyniku do najbliższej liczby występują? - gdy wprowadzane dane pomiarowe są 0 x = (0)1100(1)10 obarczone błędami pomiarowymi (np. (z2) 0 pomiar wielkości fizycznych takich jak x = 0:001100 (2) oporu czy napięcia) 0 - gdy ze względu na skończoną długość x = 0:1875 (10) słowa binarnego dochodzi do wstępnego zaokrąglenia liczb (ułamki dziesiętne lub co daje błąd bezwzględny równy 0.0125 zaokrąglanie liczb niewymiernych jak np.: i błąd względny na poziomie 6.25%. e, π) 11 Błędy obcięcia - powstają podczas zmniejszania liczby działań np.: a)przy obliczaniu wartości szeregów (ucięcie szeregu) b)wyznaczaniu granic (obliczanie wartości całki) c)zastępowaniu pochodnej funkcji ilorazem różnicowym Przykład Chcemy wyznaczyć wartość ex, więc korzystamy z rozwinięcia 1 X xn x e = ; n! n=0 ¡1 < x < +1 Reszta szeregu: eµq Rn (x) = q n+1 ; (n + 1)! 0<µ<1 szacujemy maksymalny błąd obcięcia tj. µ ¼ 1; 0 · Rn (q) < q¼1 3 q n+1 (n + 1)! widzimy że szereg jest więc szybko zbieżny. Dokładniejsze oszacowanie Rn (q) = q n+1 q n+2 q n+3 + + +::: ale numerycznie lepiej zrobić to tak (n + 1)! (n + 2)! (n + 3)! µ ¶ ex = eE(x) eq n+1 2 q q q = 1 + + + ::: gdzie: E(x) jest częścią całkowitą liczby x, (n + 1)! n + 2 (n + 2)(n + 3) à ! q jest częścią ułamkową 0 · x < 1 µ ¶2 n+1 q q q Pierwszy wyraz jest potęgą a drugi < 1+ + + ::: liczymy wg rozwinięcia. (n + 1)! n+2 n+2 Do wyznaczenia pozostaje tylko błąd obcięcia. Szereg ucinamy na n-tym wyrazie. 12 Stosując wzór na sumę szer. geom. q n+1 1 Rn (q) < q (n + 1)! 1 ¡ n+2 0·q<1 dla oraz n+2 n+1 < n+1 n dostajemy warunek q 0 < Rn (q) < un ; n gdzie u0 = 1; uk = xuk¡1 ; k k = 1; 2; 3; : : : ; n Wówczas schemat iteracyjny obliczania wartości sumy jest następujący uk = sk k = = x uk¡1 k sk¡1 + uk 0; 1; 2; : : : ; n z warunkami 0<q<1 u0 = 1; s¡1 = 0; s0 = 1 gdzie qn un = n! jest ostatnim wyrazem użytym przy sumowaniu elementów. Wyrażenie na ex (małe x)przyjmuje postać: Załóżmy, że " jest maksymalną wartością błędu obcięcia szeregu. ex = u0 + u1 + u2 + : : : + Rn (x) 13 Proces sumowania przerywamy gdy spełniony będzie poniższy warunek < p e np. obliczmy wartość z dokładnością 2.5x10-6 jRn (x)j · Rn (jxj) jxjn+1 1 ¢ (n + 1)! 1 ¡ jxj n+2 < < 2jxjn+1 2jxj jxjn = ¢ (n + 1)! n + 1 n! jun j · " Ostatecznie warunek ten przyjmuje bardziej „przystępną” postać wynik jun (x)j < " u0 u1 u2 u3 u4 u5 = = = = = = 1 0:5000000 0:1250000 0:0208333 0:0026042 0:0002604 u6 u7 = = 0:0000217 0:0000016 p e = 1:648721 14 Błędy zaokrągleń Błędy względne zaokrągleń: Pojawiają się podczas wykonywania operacji arytmetycznych. Wynikają z ograniczonej reprezentacji liczb zmiennopozycyjnych. mnożenia Wielkość błędów zależy od: dzielenia a) dokładności reprezentacji b) sposobu zaokrąglania wyniku c) rodzaju przeprowadzanej operacji Lemat Wilkinsona – błędy zaokrągleń powstające podczas wykonywania działań zmiennopozycyjnych są równoważne zastępczemu zaburzeniu liczb, na których wykonujemy działania. Po przeprowadzeniu operacji dostajemy f l(x) = x(1 + "x ); f l(y) = y(1 + "y ) f l(x)f l(y) ¡ xy = (1 + "x )(1 + "y ) ¡ 1 = xy = "x + "y + "x "y ¼ "x + "y f l(x)=f l(y) ¡ x=y 1 + "x = ¡1= x=y 1 + "y "x ¡ "y = ¼ "x ¡ "y 1 ¡ "y dodawania i odejmowania f l(x) § f l(y) ¡ (x § y) x"x § y"y = = x§y x§y x y = "x ¡ "y x§y x§y Zwłaszcza przy odejmowaniu możemy dostać duży błąd, gdy x ¼ y; "x ¼ ¡"y 15 Wykonywanie kolejnych operacji na wynikach poprzednich operacji prowadzi do kumulacji błędów zaokrągleń. Można je zmniejszyć ustalając odpowiednio sposób i kolejność wykonywanych działań lub zwiększając precyzję obliczeń (nie zawsze można). 16 Szacowanie błędów zaokrągleń a) Sumowanie liczb (jedna z częściej wykonywanych operacji) n X s= xi i=1 oznaczenie ¡ ¢ 0 0 sk = f l sk¡1 + xk = sk¡1 + xk Zgodnie z lematem Wilkinsona: 0 sk¡1 = sk¡1 (1 + "1k¡1 ) 0 xk = xk (1 + "2k ) j"1k¡1 j · " j"2k j · " Indeks 1 - suma indeks 2 - x Obliczona wartość sumy: s = x1 (1 + "21 )(1 + "12 ) ¢ ¢ ¢ (1 + "1n¡1 ) + x2 (1 + "22 )(1 + "12 ) ¢ ¢ ¢ (1 + "1n¡1 ) + x3 (1 + "23 )(1 + "13 ) ¢ ¢ ¢ (1 + "1n¡1 ) + ¢ ¢ ¢ + xn¡1 (1 + "2n¡1 )(1 + "1n¡1 ) + xn (1 + "2n ) 17 Obliczona suma jest sumą zaburzonych składników. Wielkość zaburzeń zależy od kolejności wykonywania sumowania. Nie znamy wielkości poszczególnych mnożników, ale możemy oszacować maksymalne dopuszczalne zmiany składników: x1;min = x1 (1 ¡ ")n xi;min = xi (1 ¡ ")n+1¡i x1;max = x1 (1 + ")n xi;max = xi (1 + ")n+1¡i Najmniej zaburzony jest składnik ostatni bo tylko (1+ε) lub (1-ε) razy. Można stąd wysunąć wniosek odnośnie sumowania: liczby należy sumować od najmniejszej do największej wg wartości bezwzględnej - trzeba zmienić algorytm na dokładniejszy. 18 b) Obliczanie wartości wielomianu w(x) = xn + a1 xn¡1 + a2 xn¡2 + ¢ ¢ ¢ + an¡1 x + an W „tradycyjny” ale nieoptymalny sposób: w(x) = xx ¢ ¢ ¢ x} +a1 x ¢ ¢ x} + ¢ ¢ ¢ + an¡1 x + an | {z | ¢{z n n¡1 Wykonujemy: -M operacji mnożenia (n ¡ 1)(n + 2) M= 2 - D operacji dodawania D=n Optymalny sposób obliczania wartość wielomianu zapewnia Schemat Hornera µ ³ ¶ ´ ¡ ¢ w(x) = x x x ¢ ¢ ¢ x + a1 + a2 + ¢ ¢ ¢ + an¡1 + an Wykonujemy tylko M=n-1 mnożeń i D=n dodawań. Uwaga: Wyniki uzyskane wg powyższych algorytmów mogą się różnić. Natomiast oszacowana największa możliwa wartość błędu w obu przypadkach jest taka sama. 19 Uwarunkowanie zadania Zadanie numeryczne to jasny i dla danych niedwuznaczny opis powiązania funkcjonalnego między danymi n d = (d 1 ; d2 ; : : : ; dn ) 2 R wejściowymi i danymi wyjściowymi. Dane te poszukujemy wyniku składają się ze skończonej liczby wielkości rzeczywistych. w = (w1 ; w2 ; : : : ; wm ) 2 Rm Algorytm numeryczny dla zadania numerycznego to opis poprawnie określonych operacji (arytmetycznych lub logicznych), które należy wykonać aby przekształcić wektor danych wejściowych na wektor danych wyjściowych. Przykład Określić największy pierwiastek rzeczywisty równania a3 x3 + a2 x2 + a1 x + a0 = 0 dla wektora danych wejściowych (a0 ; a1 ; a2 ; a3 ) jest to zadanie numeryczne. Daną wyjściową jest szukany pierwiastek. Algorytm dla tego zadania – metoda Newtona, schemat iteracyjny, wzory Cardana. czyli d); w = '(d ' : Rn ! Rm Jeśli niewielkie względne zmiany danych zadania powodują duże względne zmiany rozwiązania, to zadanie takie jest źle uwarunkowane. Wskaźnikiem uwarunkowania zadania nazywamy wielkość charakteryzującą wpływ zaburzeń danych na zaburzenie rozwiazania. ~ = cond('; d )kd ~ d) ¡ '(dd)k d ¡ ddk k'(d Zadanie jest: cond('; d ) ¼ 1 cond('; d ) À 1 cond('; d) ! +1 -dobrze uwarunkowane -źle uwarunkowane -źle postawione 20 Przykład Jakie jest uwarunkowanie obliczania iloczynu skalarnego? S= n X i=1 Za wskaźnik uwarunkowania przyjmujemy ai bi 6= 0 zaburzamy dane wejściowe ai (®) = ai (1 + ®i ) bi (¯) = bi (1 + ¯i ) ®i ¯ i ¼ 0 i liczmy względną zmianę wyniku dla Pn jai bi j a ; b) = Pi=1 cond(a n j i=1 ai bi j a; b ) = 1 jai bi j = ai bi ! cond(a czyli zadanie jest dobrze uwarunkowane. Algorytmy numerycznie poprawne Są to algorytmy numerycznie najwyższej jakości, dla których obliczone rozwiązanie jest „nieznacznie” zaburzonym rozwiązaniem dla „nieznacznie” zaburzonych danych. ¯ Pn ¯ P ¯ i=1 ai (1 + ®i )bi (1 + ¯i ) ¡ n ai bi ¯¯ i=1 ¯ Pn ¼ ¯ ¯ a b i=1 i i ¯ Pn ¯ ¯ i=1 ai bi (®i + ¯i ) ¯ ¯ · „nieznaczne ” zaburzenie – zaburzenie na Pn ¼ ¯¯ ¯ poziomie reprezentacji (rd(d), rd(w)) i=1 ai bi ¯ n ¯! à n ¯ ¯ X ¯X ¯ · max j®i + ¯i j jai bi j= ¯ ai bi ¯ d ¡ rd(d d )k · ½d kd dk kd i ¯ ¯ i=1 i=1 w ¡ rd(w w )k · ½w kw wk kw 21 Algorytmy numerycznie stabilne - dokładne rozwiązanie: d); w = '(d b · ½d kd d ¡ ddk dk kd - dane zaburzone na poziomie b reprezentacji: d - dokładny wynik dla danych d b: b = '(db); w b ¡w e k · ½w kw kw wk b - zaburzony wynik dla zaburzonych danych: algorytm A jest numerycznie stabilny, jeśli dla każdego d d2D istnieje stała K (ograniczenie od góry) i dla dostatecznie silnej arytmetyki zachodzi d) ¡ f l(A(d d))k · K ¢ P (d d; ') k'(d d)) - realizacja odwzorowania przez f l(A(d algorytm A w arytmetyce zmiennopozycyjnej e = f l (w b) w Dostajemy oszacowanie w ¡w kw wk e gdzie · · w ¡w kw wk b + kw b ¡w wk e · d ; ') (1 + ½w )P (d Wskaźnik stabilności K powinien być jak najmniejszy – jego wielkość może służyć do oceny algorytmu. Stabilność numeryczna jest własnością jakiej powinniśmy oczekiwać od algorytmu. b d; ') = ½w kw w k + max k'(d d) ¡ '(dd)k P (d jest optymalnym poziomem błędu rozwiązania w danej arytmetyce (fl). 23 Złożoność obliczeniowa rozważamy problem d); w = '(d ' : D ½ R n ! Rm Minimalną liczbę działań potrzebnych do obliczenia wyniku definiujemy jako z('; D) = sup z('; D) d2D Wielkość z(,D) nazywamy złożoności obliczeniową zadania. Jeśli zadanie ma n danych istotnych tj. _ ^ _ d2D 1·j·n ± wówczas d) 6= '(d d + ±eej ) d + ±eej 2 D ) '(d e j = (0; : : : ; 0; 1; 0 : : : ; 0)T z('; D) ¸ n=2 i liczba istotnych danych określa oszacowanie z dołu złożoności obliczeniowej. Analiza algorytmów numerycznych powinna zawierać oprócz analizy dokładności metody również analizę jej złożoności obliczeniowej (pozwala oszacować koszt metody). 24