• Nie Znaleziono Wyników

Zapis zmiennopozycyjny, arytmetyka, błędy numeryczne

N/A
N/A
Protected

Academic year: 2021

Share "Zapis zmiennopozycyjny, arytmetyka, błędy numeryczne"

Copied!
23
0
0

Pełen tekst

(1)

Zapis zmiennopozycyjny, arytmetyka, błędy numeryczne

Plan wykładu:

1. zapis zmiennopozycyjny

2. arytmetyka zmiennopozycyjna

3. reprezentacja liczb w standardzie IEEE754 4. błędy w obliczeniach numerycznych

5. definicje

(2)

2

Własności zapisu

zmiennopozycyjnego

Liczbę rzeczywistą w komputerze

reprezentuje liczba zmiennoprzecinkowa:

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:

m jest liczbą pozycji znacznika w bazie.

Można odróżnić

różnych reprezentacji tej samej liczby.

Ograniczeniem znacznika jest

ale problem nadal pozostaje.

Jednoznaczność osiągamy dla warunku

wtedy dla dowolnego i≠0 mamy

w praktyce stosuje się

Znaczniki spełniające powyższy warunek nazywamy znormalizowanymi (liczby znormalizowane).

Nie ma liczb znormalizowanych

w tym 0. Tworzą one osobną grupę zwana liczbami zdenormalizowanymi.

Znormalizowane wartości dla

F = M ¯

E

F = M ¯

E

= M

i

¯

E+i

= (M ¯

¡i

E+i

i = ¡m; : : : ; ¡1; 0; 1; : : : ; m

jMj < ¯

jMj¯

¡i

2 [¯ =

p¡1

; ¯

p

) p = 0; 1

jF j < ¯

p¡1¡Emin

¡3

4 ¡1 2

3 4 1

2 1

¡1 4 4

0 1

¡1

¯ = 2; p = 0 k = mlog

¯

2

¯

p¡1

· jMj < ¯

p

¯

p¡i¡1

· jMj¯

¡i

< ¯

p

(3)

Podstawowe operacje arytmetyczne.

Wykonujemy operacje na dwóch znormalizowanych liczbach

Czy przeprowadzenie 4 podstawowych operacji da znormalizowany wynik?

Mnożenie

sprawdzamy czy nie wystąpił nadmiar (EW>Emax) lub niedomiar (EW<Emin)

zmiennopozycyjny. Jeśli wartość znacznika wychodzi poza dozwolony zakres tj.:

to wykonujemy postnormalizację

F

1

= M

1

¯

E1

; F

2

= M

2

¯

E2

F

1

F

2

= M

1

¯

E1

M

2

¯

E2

= (M

1

M

2

E1+E2

= M

W

¯

W

¯

2p¡2

· jM

W

j = jM

1

M

2

j < ¯

p¡1

F

1

F

2

= (M

1

M

2

¯

¡p+"

E1+E2+p¡"

" = 0; 1

Dzielenie

ponieważ

konieczna jest postnormalizacja ilorazu do postaci

Dodatkowo należy zapewnić obsługę liczb zdenormalizowanych, dzielenia przez 0 oraz próby dzielenia 0/0.

F

1

=F

2

= (M

1

¯

E1

)=(M

2

¯

E2

)

= (M

1

=M

2

E1¡E2

jM

W

j = M

1

=M

2

2 (¯

¡1

; ¯)

F

1

=F

2

= (¯

p¡"

M

1

=M

2

E1¡E2¡p+"

¯

¡1

· jM

W

j < 1 =) " = 0

1 · jM

W

j < ¯ =) " = 1

(4)

4

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

a) jeśli

oraz

to wówczas normalizacja doprowadzi do nadmiaru.

b) jeśli

oraz

to wystąpi niedomiar.

E

1

¸ E

2

F

1

§ F

2

= (M

1

¯

E1

) § (M

2

¯

E2

)

= (M

1

§ M

2

¯

¡(E1¡E2)

E1

E

1

= E

max

¯

p

· jM

W

j < 2¯

p

E

1

¡ (p ¡ i) · E

min

jM

W

j < ¯

i

· ¯

p¡1

Jeśli spełniony jest warunek

wówczas może dojść do wyzerowania wszystkich znaczących pozycji znacznika sumy lub różnicy.

Wybór reprezentacji

Liczbę zmiennopozycyjną zapisujemy na n pozycjach, z czego:

a) 1 pozycję przeznaczamy na znak liczby b) t pozycji na zapis znacznika

c) d pozycji na zapis wykładnika

p ¡ i ¸ jmlog

¯

2 j

m¡1m¡2 m¡t

: : : : : : : : : : : :

s se e0 e1 ed¡1

wykładnik znacznik

znak

x = s

Ã

t

X

i=1

m

¡i

¯

¡i

!

¯

E

n = 1 + d + t

(5)

Wartość błędu bezwzględnego wynika z nierównomiernego rozłożenia liczb w reprezentacji zmiennopozycyjnej

Błąd względny

rośnie ze zmniejszaniem znacznika aż do wartości

MRRE – maximum relative representation error.

¯p¡3 ¯p¡2 ¯p¡1 ¯p 0

M

j"(x)j = jfl(x) ¡ xj

x ·

1

2

ulp¯

E

M ¯

E

= ulp 2M

M RRE = max

M

j"(x)j = 1

2 ulp¯

p¡1

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.

Jeśli zachodzi warunek

(ulp – najmniej znacząca pozycja znacznika) wówczas zaokrąglając liczbę x do bliższej reprezentacji dostajemy błąd

bezwzględny

gdzie fl(x) oznacza reprezentację liczby x w zapisie zmiennopozycyjnym.

M ¯

E

· x · (M + ulp)¯

E

; x 2 R

jfl(x) ¡ xj · 1

2 ulp¯

E

(6)

6

Dobór zakresu wykładnika

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

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.

s = E

max

¡ E

min

= 2

d

¡ ¸

Schematy zaokrąglania liczb Podczas wykonywania operacji

arytmetycznych może dojść do zwiększenia się liczby bitów wynikowych, np. przy

mnożeniu dwóch znaczników

Aby zapisać wynik należy uciąć ostanie m bitów. Eliminacja nadmiarowych bitów nazywana jest zaokrąglaniem.

Reguły zaokrąglania

m

w

= 2m

x · y ) fl(x) · fl(y) x 2 fl ) f l(x) = x

F

1

= M ¯

E

· x · (M + ulp)¯

E

= F

2

| {z }

x=F1_x=F2

(7)

Odcięcie (najprostsze)

Jeśli

m - liczba pozycji znacznika d - liczba uciętych bitów

i standaryzowanym błędem losowym obcinania znacznika jest

Dla równomiernego rozkładu wartości x w przedziale [M, M+ulp] miarą średniego standaryzowanego błędu obcinania jest

Błąd ten jest zawsze ujemny

– estymator T(x) jest ujemnie obciążony.

Skutek obcinania: niedoszacowanie.

M · x < M + ulp , T (x) = M

x = M + i2

¡d

ulp; 0 · i · 2

d

¡ 1

T (x) ¡ x

ulp = ¡i2

¡d

Zaokrąglanie do najbliższej wartości Reguły zaokrąglania

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

Ś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 2m- pozycyjnego dodawania.

R(x) =

½ M; x ¡ M <

ulp2

M + ulp; x ¡ M ¸

ulp2

S(x) = 8 <

:

M ¡ ulp; ¡ulp · x ¡ M < ¡

12

ulp M; ¡

12

ulp · x ¡ M · +

12

ulp M + ulp; +

12

ulp · x ¡ M < +ulp

±

T

= 1 2

d

2

X

d¡1 i=0

( ¡i)2

¡d

< 0

(8)

8

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 znak- moduł. Wartość liczby w IEEE754

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 = 2

d

¡ 1

F = ( ¡1)

s

2

EB¡B

(1; f )

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

2

Emin

(0; f )

(9)

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

128

¼ 3; 8 ¢ 10

38

2

¡23

¼ 10

¡7

2

¡52

¼ 10

¡15

¼ 2

1024

¼ 9 ¢ 10

307

(10)

10

Nie-liczby

Pojawiają się podczas wykonywania operacji np.:

Bez ich obsługi program przerywałby działanie. Obsługa nie-liczb pozwala je wykryć i np. zrestartować schemat iteracyjny z innym parametrem.

Znakowane zero Po co?

Dla liczb rzeczywistych mamy

zatem relacja

nie jest spełniona. Dla znakowanego 0 mamy

0=0; p

¡jxj

1= ¡ 1 = 0; 1=(1= ¡ 1) = +1

1=(1=x) = x

x = ¡1; 1=x = ¡0 1=(1=x) = 1= ¡ 0 = ¡1 = x

Wyjątki w IEEE754

Standard zapewnia obsługę specyficznych wyników operacji:

1. nadmiar (Fmax, nieskończonośc)

2. niedomiar (Fmin, l. denormalizowane) 3. dzielenie przez 0

4. niepoprawna operacja (NAN)

5. niedokładność (zaokrąglenie wyniku)

(11)

Przykład – zapis 8 bitowy Liczba

ma reprezentację

Ale dla liczby x=0.2 pojawia się problem

po zaokrągleniu wyniku do najbliższej liczby

co daje błąd bezwzględny równy 0.0125 i błąd względny na poziomie 6.25%.

Błędy numeryczne

Najprostszy podział:

1. błędy wejściowe 2. błędy zaokrągleń 3. błędy obcięcia

Błędy wejściowe

Występują gdy dane liczbowe

wprowadzane do pamięci komputera

odbiegają od wartości dokładnych. Kiedy występują?

- gdy wprowadzane dane pomiarowe są obarczone błędami pomiarowymi (np.

pomiar wielkości fizycznych takich jak oporu czy napięcia)

- gdy ze względu na skończoną długość słowa binarnego dochodzi do wstępnego zaokrąglenia liczb (ułamki dziesiętne lub zaokrąglanie liczb niewymiernych jak np.:

e, )

x

(10)

= 3:25 x

(z2)

= (0)1101

| {z }

M

(0)10

| {z }

W

x

(2)

= 0:0011(0011)::::

x

0(z2)

= (0)1100(1)10 x

0(2)

= 0:001100

x

0(10)

= 0:1875

(12)

12

Przykład

Chcemy wyznaczyć wartość ex, więc korzystamy z rozwinięcia

ale numerycznie lepiej zrobić to tak

gdzie: E(x) jest częścią całkowitą liczby x, q jest częścią ułamkową

Pierwszy wyraz jest potęgą a drugi liczymy wg rozwinięcia.

Do wyznaczenia pozostaje tylko

błąd obcięcia. Szereg ucinamy na n-tym wyrazie.

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

e

x

=

X

1 n=0

x

n

n! ; ¡1 < x < +1

e

x

= e

E(x)

e

q

0 · x < 1

Reszta szeregu:

szacujemy maksymalny błąd obcięcia tj.

widzimy że szereg jest więc szybko zbieżny.

Dokładniejsze oszacowanie

0 · R

n

(q) < 3

(n + 1)! q

n+1

R

n

(x) = e

µq

(n + 1)! q

n+1

; 0 < µ < 1 µ ¼ 1; q ¼ 1

R

n

(q) = q

n+1

(n + 1)! + q

n+2

(n + 2)! + q

n+3

(n + 3)! + : : :

= q

n+1

(n + 1)!

µ

1 + q

n + 2 + q

2

(n + 2)(n + 3) + : : :

< q

n+1

(n + 1)!

Ã

1 + q

n + 2 +

µ q n + 2

2

+ : : :

!

(13)

R

n

(q) < q

n+1

(n + 1)!

1 1 ¡

n+2q

Stosując wzór na sumę szer. geom.

dla oraz

dostajemy warunek

gdzie

jest ostatnim wyrazem użytym przy sumowaniu elementów.

Wyrażenie na ex (małe x)przyjmuje postać:

0 · q < 1 n + 2

n + 1 < n + 1 n

0 < R

n

(q) < u

n

q

n ; 0 < q < 1 u

n

= q

n

n!

e

x

= u

0

+ u

1

+ u

2

+ : : : + R

n

(x)

gdzie

Wówczas schemat iteracyjny obliczania wartości sumy jest następujący

z warunkami

Załóżmy, że

"

jest maksymalną wartością błędu obcięcia szeregu.

u

0

= 1; u

k

= xu

k¡1

k ; k = 1; 2; 3; : : : ; n

u

k

= x

k u

k¡1

s

k

= s

k¡1

+ u

k

k = 0; 1; 2; : : : ; n

u

0

= 1; s

¡1

= 0; s

0

= 1

(14)

14

np. obliczmy wartość

z dokładnością 2.5x10-6

wynik

p e

u

0

= 1

u

1

= 0:5000000 u

2

= 0:1250000 u

3

= 0:0208333 u

4

= 0:0026042 u

5

= 0:0002604 u

6

= 0:0000217 u

7

= 0:0000016

p e = 1:648721 jR

n

(x) j · R

n

( jxj)

< jxj

n+1

(n + 1)! ¢ 1 1 ¡

n+2jxj

< 2 jxj

n+1

(n + 1)! = 2 jxj

n + 1 ¢ jxj

n

n!

< ju

n

j · "

ju

n

(x) j < "

Proces sumowania przerywamy gdy spełniony będzie poniższy warunek

Ostatecznie warunek ten przyjmuje bardziej „przystępną” postać

(15)

Błędy zaokrągleń

Pojawiają się podczas wykonywania operacji arytmetycznych. Wynikają z ograniczonej reprezentacji liczb

zmiennopozycyjnych.

Wielkość błędów zależy od:

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

Błędy względne zaokrągleń:

mnożenia

dzielenia

dodawania i odejmowania

Zwłaszcza przy odejmowaniu możemy dostać duży błąd, gdy

f l(x) = x(1 + "

x

); f l(y) = y(1 + "

y

)

f l(x)f l(y) ¡ xy

xy = (1 + "

x

)(1 + "

y

) ¡ 1 =

= "

x

+ "

y

+ "

x

"

y

¼ "

x

+ "

y

f l(x)=f l(y) ¡ x=y

x=y = 1 + "

x

1 + "

y

¡ 1 =

= "

x

¡ "

y

1 ¡ "

y

¼ "

x

¡ "

y

f l(x) § fl(y) ¡ (x § y)

x § y = x"

x

§ y"

y

x § y =

= x

x § y "

x

¡ y

x § y "

y

¼ y; ¼ ¡"

(16)

16

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).

(17)

Szacowanie błędów zaokrągleń

a) Sumowanie liczb (jedna z częściej wykonywanych operacji)

oznaczenie

Zgodnie z lematem Wilkinsona:

Indeks s - suma indeks x - wartość

Obliczona wartość sumy:

s =

X

n i=1

x

i

s

k

= f l ¡

s

k¡1

+ x

k

¢

= s

0k¡1

+ x

0k

(18)

18

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:

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.

x

1;min

= x

1

(1 ¡ ")

n

x

i;min

= x

i

(1 ¡ ")

n+1¡i

x

1;max

= x

1

(1 + ")

n

x

i;max

= x

i

(1 + ")

n+1¡i

(19)

b) Obliczanie wartości wielomianu

W „tradycyjny” ale nieoptymalny sposób:

Wykonujemy:

-M operacji mnożenia

- D operacji dodawania

Optymalny sposób obliczania wartość wielomianu zapewnia Schemat Hornera

Wykonujemy tylko M=n-1 mnożeń i D=n dodawań.

Uwaga:

Wyniki uzyskane wg powyższych algorytmów mogą się różnić.

w(x) = x

n

+ a

1

x

n¡1

+ a

2

x

n¡2

+ ¢ ¢ ¢ + a

n¡1

x + a

n

w(x) = xx | {z } ¢ ¢ ¢ x

n

+ a

1

x | {z } ¢ ¢ ¢ x

n¡1

+ ¢ ¢ ¢ + a

n¡1

x + a

n

M = ( n ¡ 1)(n + 2) 2

w(x) = x µ

x ³

x ¢ ¢ ¢ ¡

x + a

1

¢ + a

2

´

+ ¢ ¢ ¢ + a

n¡1

+ a

n

D = n

(20)

20

Zadanie numeryczne to jasny i niedwuznaczny opis powiązania funkcjonalnego między danymi

wejściowymi i danymi wyjściowymi. Dane te składają się ze skończonej liczby wielkości rzeczywistych.

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

dla wektora danych wejściowych

jest to zadanie numeryczne. Daną wyjściową jest szukany pierwiastek.

Algorytm dla tego zadania – metoda Newtona, schemat iteracyjny, wzory Cardana.

Uwarunkowanie zadania dla danych

poszukujemy wyniku

czyli

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.

Zadanie jest:

-dobrze uwarunkowane -źle uwarunkowane

-źle postawione

a

3

x

3

+ a

2

x

2

+ a

1

x + a

0

= 0 (a

0

; a

1

; a

2

; a

3

)

d

d d = (d

1

; d

2

; : : : ; d

n

) 2 R

n

w w w = (w

1

; w

2

; : : : ; w

m

) 2 R

m

w w w = '(d d d); ' : R

n

! R

m

cond('; d d d) ¼ 1 cond('; d d d) À 1 cond('; d d d) ! +1

k'(ddd) ¡ '( ~ d~ d~ d) k = cond(';ddd)kddd ¡ ~ d~ d~ d k

(21)

Przykład

Jakie jest uwarunkowanie obliczania iloczynu skalarnego?

zaburzamy dane wejściowe

i liczmy względną zmianę wyniku

S =

X

n i=1

a

i

b

i

6= 0

a

i

(®) = a

i

(1 + ®

i

) b

i

(¯) = b

i

(1 + ¯

i

)

®

i

¯

i

¼ 0

¯ ¯

¯¯

P

n

i=1

a

i

(1 + ®

i

)b

i

(1 + ¯

i

) ¡ P

n

i=1

a

i

b

i

P

n

i=1

a

i

b

i

¯ ¯

¯¯ ¼

¼

¯ ¯¯

¯ P

n

i=1

a

i

b

i

i

+ ¯

i

) P

n

i=1

a

i

b

i

¯ ¯¯

¯ ·

· max

i

i

+ ¯

i

j

Ã

n

X

i=1

ja

i

b

i

j=

¯ ¯

¯ ¯

¯ X

n

i=1

a

i

b

i

¯ ¯

¯ ¯

¯

!

Za wskaźnik uwarunkowania przyjmujemy

dla

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.

„nieznaczne ” zaburzenie – zaburzenie na poziomie reprezentacji (rd(d), rd(w))

ja

i

b

i

j = a

i

b

i

! cond(aaa; bbb) = 1 cond(a a a; bbb) =

P

n

i=1

ja

i

b

i

j j P

n

i=1

a

i

b

i

j

kddd ¡ rd(ddd)k · ½

d

kdddk

kw w w ¡ rd(w w w) k · ½

w

kw w w k

(22)

23

Algorytmy numerycznie stabilne - dokładne rozwiązanie:

- dane zaburzone na poziomie reprezentacji:

- dokładny wynik dla danych :

- zaburzony wynik dla zaburzonych danych:

Dostajemy oszacowanie

gdzie

jest optymalnym poziomem błędu rozwiązania w danej arytmetyce (fl).

d b d d

d b d d w

w w = '(d d d); kddd ¡ b db db d k · ½

d

kdddk

b

w w w = '(b d d d); kb w w w ¡ e w w w k · ½

w

k b w w w b b k

algorytm A jest numerycznie stabilny, jeśli dla każdego

istnieje stała K (ograniczenie od góry) i dla dostatecznie silnej arytmetyki zachodzi

- realizacja odwzorowania przez algorytm A w arytmetyce zmiennopozycyjnej

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.

kw w w ¡ e w w w e e k · kw w w ¡ b w w w b b k + k b w w w b b ¡ e w w w e e k ·

· (1 + ½

w

)P (d d d; ')

d

d d 2 D

k'(ddd) ¡ fl(A(ddd))k · K ¢ P (ddd; ')

e

w w w = f l ( w w w) b

P (d d d; ') = ½

w

kw w w k + max k'(ddd) ¡ '(b db db d) k

f l(A(d d d))

(23)

Złożoność obliczeniowa rozważamy problem

Minimalną liczbę działań potrzebnych do obliczenia wyniku definiujemy jako

Wielkość z(,D) nazywamy złożoności obliczeniową zadania.

Jeśli zadanie ma n danych istotnych tj.

wówczas

i liczba istotnych danych określa oszacowanie z dołu złożoności obliczeniowej. Analiza algorytmów numerycznych powinna

z('; D) = sup

d2D

z('; D)

_

d2D

^

1·j·n

_

±

d d d + ±eee

j

2 D ) '(ddd) 6= '(ddd + ±eee

j

)

eee

j

= (0; : : : ; 0; 1; 0 : : : ; 0)

T

z('; D) ¸ n=2

w w w = '(d d d); ' : D ½ R

n

! R

m

Cytaty

Powiązane dokumenty

Nauczyciel sygnalizuje, że w trakcie wykonywania ćwiczenia pojawiły się/ nie pojawiły się problemy z używaniem zaimków względnych.. Wyjaśnia pojęcie, prosi klasę, by

Szczegółowa analiza pozwoliła na oszacowanie, że wedolizumab prawdopodobnie jest naj- bezpieczniejszą terapią w fazie indukcji w zakresie ryzyka wystąpienia zdarzeń

dują się, oprócz wartości usłonecznienia pewnych obszarów Europy i Ameryki Północnej, także dane dotyczące Polski, w okresie 1926—1935, usłonecznienia rzeczywistego

nościowej. Gminy posiadające najmniejszy procent użytków rolnych w stosunku do powierzchni ogólnej, wykazują największe zagęszczenie ludności rolniczej. W gminach tych

data i podpis pracownika dokonującego weryfikacji zgodności danych zawartych w formularzu. z przedłożonym dokumentem

państwowej mogą być przesłuchane co do okoliczności, na które rozciąga się ten obowiązek, tylko po zwolnieniu tych osób od obowiązku zachowania tajemnicy przez. uprawniony

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

[r]