cap 1 analiza numerica

12
PARTEA I PRINCIPIILE MATEMATICII NUMERICE ANALIZA STABILITĂŢII ŞI ERORILOR 1.1. Probleme stabile (sau bine puse) Considerăm problema: calculează x astfel încât 0 d x F , (1) unde d este mulţimea datelor de care depinde soluţia x şi F este relaţia funcţională între x şi d. În funcţie de problema particulară rezolvată, x şi d pot fi din R, din R n (vectori) sau din R mxn (matrice). Definiţia 1. Dacă F şi d sunt date (cunoscute), problema (1) se numeşte directă. Dacă F şi x sunt date, problema (1) se numeşte inversă. Dacă d şi x sunt date, problema (1) se numeşte problemă de identificare. Definiţia 2. Problem (1) se numeşte stabilă sau bine pusă dacă soluţia x este unică şi depinde continuu de datele d. Dacă problema (1) nu este stabilă, pentru rezolvarea sa numerică este necesară transformarea ei într-o problemă stabilă. Observaţie. Prin dependenţă continuă de date înţelegem faptul că perturbaţii mici ale datelor d determină modificări “mici” ale soluţiei x. Cu alte cuvinte, dacă d este perturbarea adusă datelor şi x este perturbarea indusă soluţiei şi are loc relaţia 0 d d x x F , (2) atunci, d K , 0 astfel încât d x d d d K x d , unde x . este norma pe spaţiul soluţiilor şi d . este norma pe spaţiul datelor. În continuare, pentru simplificare, vom nota ambele norme cu . , faptul că o normă este definită pe un spaţiu sau celălalt fiind înţeles din context. Exemplul 1. Fie polinomul 1 1 2 2 4 a a x a x x p . Problema 0 , a x F , unde x p a x F , nu este stabilă deoarece există o variaţie discontinuă a numărului rădăcinilor din R ale lui x p funcţie de parametrul continuu a. Evident, notând 0 2 x t , rezultă 0 1 1 2 2 a a t a t , cu soluțiile 1 1 a t și a t 2 Dacă 1 a sunt 4 soluţii distincte în R Dacă 1 a , 1 , 0 2 1 t t şi sunt 4 soluţii în R (două confundate) Dacă 1 0 a sunt 2 soluţii distincte în R Dacă 0 a sunt 2 soluţii confundate în R Altfel, problema nu are soluţii în R Observaţie. Condiţia de unicitate a soluţiei poate fi îndeplinită, dacă prin soluţie înţelegem un vector cu fiecare componentă rădăcină a polinomului (vezi exemplul 2). Pentru ca acest lucru să fie posibil trebuie ca, indiferent de date (aşa cum este formulată problema, a R), numărul rădăcinilor să rămână acelaşi. De exemplu, problema devine este stabilă pentru mulţimea datelor satisfăcând 4 a .

description

Analiza numerica

Transcript of cap 1 analiza numerica

PARTEA I

PRINCIPIILE MATEMATICII NUMERICE

ANALIZA STABILITĂŢII ŞI ERORILOR

1.1. Probleme stabile (sau bine puse)

Considerăm problema: calculează x astfel încât

0dxF , (1)

unde d este mulţimea datelor de care depinde soluţia x şi F este relaţia funcţională între x şi d.

În funcţie de problema particulară rezolvată, x şi d pot fi din R, din Rn (vectori) sau din R

mxn

(matrice).

Definiţia 1. Dacă F şi d sunt date (cunoscute), problema (1) se numeşte directă. Dacă F

şi x sunt date, problema (1) se numeşte inversă. Dacă d şi x sunt date, problema (1) se numeşte

problemă de identificare.

Definiţia 2. Problem (1) se numeşte stabilă sau bine pusă dacă soluţia x este unică şi

depinde continuu de datele d. Dacă problema (1) nu este stabilă, pentru rezolvarea sa numerică

este necesară transformarea ei într-o problemă stabilă.

Observaţie. Prin dependenţă continuă de date înţelegem faptul că perturbaţii mici ale

datelor d determină modificări “mici” ale soluţiei x. Cu alte cuvinte, dacă d este perturbarea

adusă datelor şi x este perturbarea indusă soluţiei şi are loc relaţia

0 ddxxF , (2)

atunci,

dK , 0 astfel încât dxd

ddKxd ,

unde x

. este norma pe spaţiul soluţiilor şi d

. este norma pe spaţiul datelor.

În continuare, pentru simplificare, vom nota ambele norme cu . , faptul că o normă

este definită pe un spaţiu sau celălalt fiind înţeles din context.

Exemplul 1. Fie polinomul 112 24 aaxaxxp . Problema 0, axF ,

unde xpaxF , nu este stabilă deoarece există o variaţie discontinuă a numărului

rădăcinilor din R ale lui xp funcţie de parametrul continuu a.

Evident, notând 02 xt , rezultă

01122 aatat ,

cu soluțiile 11 at și at 2

Dacă 1a sunt 4 soluţii distincte în R

Dacă 1a , 1,0 21 tt şi sunt 4 soluţii în R (două confundate)

Dacă 10 a sunt 2 soluţii distincte în R

Dacă 0a sunt 2 soluţii confundate în R

Altfel, problema nu are soluţii în R

Observaţie. Condiţia de unicitate a soluţiei poate fi îndeplinită, dacă prin soluţie

înţelegem un vector cu fiecare componentă rădăcină a polinomului (vezi exemplul 2). Pentru

ca acest lucru să fie posibil trebuie ca, indiferent de date (aşa cum este formulată problema,

a R), numărul rădăcinilor să rămână acelaşi. De exemplu, problema devine este stabilă

pentru mulţimea datelor satisfăcând 4a .

Definiţia 3. Pentru problema (1) indicatorul de condiţie relativ este definit prin

dd

xxdK

Dd

sup

unde D este o vecinătate a originii şi desemnează setul perturbaţiilor admisibile asupra

datelor d pentru care problema perturbată (2) are sens. Dacă 0d sau 0x este definit

indicatorul de condiţie absolut, prin

d

xdK

Ddabs

sup

Definiţia 4. Problema (1) este bine condiţionată dacă dK este “mic” pentru orice

perturbaţie admisibilă.

Observaţie. Chiar dacă indicatorul de condiţie formal este infinit, problema poate fi

reformulată echivalent astfel încât să devină problemă stabilă (vezi exemplu 2).

Dacă problema (1) admite o soluţie unică, atunci există o funcţie G, numită funcţie care

rezolvă problema (“rezolvitor”), definită pe mulţimea valorilor datelor d cu valori în mulţimea

valorilor soluţiei şi astfel încât

0,, ddGFdGx (3)

Pe baza relaţiei(2), rezultă

ddGxx (4)

Dacă G este diferenţiabilă, din dezvoltarea în serie Taylor, prin aproximare de ordinul I,

obţinem,

dOddGdGddG ' , pentru 0d

ddGdGddG '

Pe baza relaţiilor (3) şi (4), obţinem,

dGddGxddGx

dd

dGddG

dd

dGdGddG

dd

xxdK

DdDdDd

'supsupsup

Observaţie. Dacă :G Rn R

m, atunci dG' este matricea Jacobian calculată în

vectorul d.

Deoarece, dacă . este norma unui vector, rezultă că funcţia x

AxA

x 0

sup

este norma

indusă pe mulţimea matricelor, obţinem,

dG

d

ddG

Dd

''

sup

şi deci

dG

ddGdK '

Similar,

dGdKabs '

Observaţie. Dacă :G Rn R

m, atunci dG' este matricea Jacobian calculată în

vectorul d.

Exemplul 2. Fie ecuaţia algebrică de gradul II,

0122 pxx , cu 1p

Deoarece 14 2 p , rădăcinile sunt 12 ppx .

În acest caz 12, 2 pxxpxF , pd şi x este vectorul Txx , . Funcţia

“rezolvitor” este,

:G RR2, TxxpG ,

TpppppG 1,1 22

Obţinem,

11

11

'

2

2

p

p

p

p

pG

Considerând 22

2,.. yx

y

x

, rezultă,

2411 22

22

2 ppppppG

1

24

11

11'

2

22

2

2

2

p

p

p

p

p

ppG

pp

Obţinem,

1

'2

p

p

pG

ppGpK

Concluzii

1. În cazul rădăcinilor bine separate (de exemplu 2p ), problema 0, pxF este

bine condiţionată.

2. În cazul rădăcinilor multiple, pentru 1p , funcţia :G RR2,

TpppppG 1,1 22 nu este diferenţiabilă, deci pK nu poate fi calculat în

funcţie de G.

În plus, dacă 1p , dar este apropiat de 1, pK are valori mari şi problema nu este

bine condiţionată. Problema poate fi reformulată într-o manieră echivalentă şi astfel încât să

devină stabilă.

Fie 11

,2

2

xt

txtxF , 0, txF , cu 12 ppt .

Evident, pt

t2

1 2

.

Cele două rădăcini sunt t

x1

, tx

1

11

2

2

pppp şi coincid pentru

1 pt . Pentru funcţia considerată, rezultă

T

tttG

1

T

ttG

2

11'

t

t

tttG

11 4

2

2

2

4

4

111'

t

t

ttG

Rezultă,

1' tG

ttGtK

deci problema este stabilă în această reprezentare.

1.2. Stabilitatea şi convergenţa metodelor numerice

Considerăm că problema (1) este stabilă. O metodă numerică pentru aproximarea

soluţiei problemei (1) este în general o secvenţă de probleme ce depind de 1n ,

1,0, ndxF nnn (5)

şi astfel încât xxn când n , adică soluţia numerică este convergentă către soluţia

exactă. Pentru aceasta trebuie ca ddn şi nF să “aproximeze” F când n .

Definiţia 5. Dacă setul de date d din (1) este admisibil pentru nF , problema numerică

(5) se numeşte consistentă dacă

0,,, dxFdxFdxF nn când n . (x este soluţia problemei 1)

O metodă se numeşte consistentă în sens tare dacă

0,,, dxFdxFdxF nn pentru orice n (nu numai dacă n ).

Definiţia 6. În cazul metodelor iterative, problema (5) are forma,

qndxxxF nqnnnn ,0,,...,, 1 (6)

cu 110 ,...,, qxxx valori date. În acest caz consistenţa în sens tare revine la verificarea

proprietăţii,

qndxxxFn ,0,,...,, (7)

Exemplul 4. Fie metoda iterativă de aproximare a rădăcinii unice a funcţiei

:f RR, dată de relaţia

1,' 1

11

n

xf

xfxx

n

nnn , 0x dat. (metoda Newton)

Conform definiţiei, metoda este consistentă în sens tare, deoarece

1,0,, nfFn , unde

1,'

,,1

111

n

xf

xfxxfxxF

n

nnnnnn

Într-adevăr,

1,0'

,, nf

ffFn

, deoarece este rădăcina funcţiei f.

Definiţia 7. O metodă numerică asociată problemei (1) este stabilă (bine pusă) dacă,

pentru orice 1n să aibă loc proprietatea,

nnnnn ddKxddK ,:,0

Similar problemei (1), pentru fiecare problemă din secvenţa (5) sunt definiţi indicatorii

nn

nn

Ddnn

dd

xxdK

nn

sup

n

n

Ddnnabs

d

xdK

nn

sup,

şi definim:

indicatorul condiţie asimptotică relativ: nnknk

nnum dKdK

suplim

indicatorul condiţie asimptotică absolut: nnabsknk

nnumabs dKdK ,suplim

Metoda numerică este bine condiţionată dacă numK este suficient de “mic” pentru toate

datele admisibile nd .

Similar problemei (1), dacă presupunem existenţa câte unei soluţii unice nx a celei de-a

n-a probleme din secvenţa (5), atunci există câte o funcţie care rezolvă problema (“rezolvitor”),

nG definită prin,

1,0,, nddGFdGx nnnnnnn

Dacă nG este diferenţiabilă, similar indicilor condiţie definiţi pentru problema (1), sunt

calculaţi indicii condiţie asimptotică prin,

nn

nnnnn

dG

ddGdK '

nnnnabs dGdK ',

Exemplul 5. Fie problema din exemplul 2 şi considerăm 1p (cazul rădăcinilor

separate). Dacă 12 ppx este evaluată direct algoritmul nu este stabil. Într-adevăr,

pentru p cu valori mari, calculul formulei

12 pp

0 deapropiat este12pp induce erori mari de calcul datorită

reprezentării aritmetice finite (vezi §1.5, situaţia subdepăşirii de domeniu). Variantele de

rezolvare a problemei de subdepăşire:

calculează 12 ppx şi, evident,

x

x1

rezolvă ecuaţia pentru domeniu ce conţine numai valoare x cu metoda Newton

1,' 1

1

1

nxf

xfxx

n

n

nn , 0x dat

1,22

12

1

1

2

11

npG

px

pxxxx n

n

nnnn

px

pxxxxpxxF

n

nnnnnn

22

12,,

1

1

2

111

px

xpG

n

nn

1

2

1

2

1

2

1

2

1

2

1'

px

xpG

n

n

n

px

p

pG

ppGpK

nn

nn

1

'

px

ppK

nknk

num

1

suplim

Dar 12

1 ppx

nn deoarece 12 ppxxn sau

12 ppxxn

Rezultă,

12

p

ppKpK num

n

deci metoda nu este bine condiţionată când 1p , altfel metoda este bine condiţionată.

Definiţia 8. Metoda numerică (5) este convergentă dacă,

nnn ddxdxndnn

nn

,,

:,,,0

00

00

unde d este setul datelor admisibile pentru (1), dx este soluţia problemei (1) şi nn ddx

este soluţia problemei (5) cu setul de date ndd .

Observaţie. Pentru a verifica proprietatea de convergenţă a metodei numerice (5) este

suficientă verificarea următoarei proprietăţi,

2

nnn ddxddx

Într-adevăr, din regula triunghiului obţinem,

2 def.2

,0

nnnn

nnnn

nnnnnn

dnKddxddxx

ddxddxddxdx

ddxddxddxdxddxdx

Prin alegerea lui nd astfel încât 2

,0

ndnK , rezultă,

nn ddxdx

Cele mai utilizate măsuri ale convergenţei şirului 1nnx sunt

eroarea absolută: nn xxxE

eroarea relativă: 0

xx

xxxE

n

nrel

dacă soluţia este vector sau matrice sunt utilizate erorile pe componente,

ji

jin

jin

c

relx

xxxE

,

,

,max

Observaţii.

1. Dacă problema (1) este bine pusă, pentru ca metoda numerică să conveargă ea

trebuie să fie stabilă.

2. Pentru orice metodă numerică cu proprietatea că este consistentă, stabilitatea este

echivalentă cu convergenţa (teorema Lax-Richtmyer)

1.3. Analiza a priori şi a posteriori a stabilităţii

Analiza stabilităţii unei metode numerice poate fi realizată a priori în una din

următoarele variante

analiza înainte (forward analysis), care furnizează o limită a variaţiei soluţiei,

nx , datorate perturbaţiei în date şi erorile intrinseci ale metodei numerice;

analiza înapoi (backward analysis), care are ca scop estimarea perturbaţiilor care

sunt aduse datelor unei probleme specificate pentru a obţine rezultatul calculat

de metodă. Cu alte cuvinte, dată fiind soluţia calculată nx̂ , scopul este de a

determina perturbaţia în setul de date, nd , astfel încât 0,ˆ nnn ddxF .

Analiza a priori poate fi utilizată şi pentru investigarea proprietăţii de convergenţă a

metodelor numerice, caz în care este referită drept analiza a priori a erorilor.

Analiza a posteriori are ca scop evaluarea erorii nxx ˆ ca funcţie a reziduurilor,

dxFr nn ,ˆ

prin intermediul unor constante numite factori de stabilitate, unde nx̂ este soluţia calculată

numeric, aproximare a lui x, soluţia problemei (1).

1.4. Surse de eroare în modelele de calcul numeric

Dacă problema numerică (5) este o aproximare a problemei matematice (1) care, la

rândul ei este modelul unei probleme reale (fizice) PP, problema (5) este numită model de

calcul al problemei PP.

Eroarea globală, e, este definită ca diferenţa dintre soluţia calculată de modelul de

clacul (5), nx̂ , şi soluţia problemei PP, PPx modelate prin problema (1) care are soluţia x.

Eroarea globală poate fi interpretată ca cm eee , unde,

me , eroarea modelului matematic, PPm xxe

ce , eroarea modelului de calcul, xxe nc ˆ

Similar, eroarea modelului de calcul este exprimată prin suma următoarelor valori,

ae , eroarea indusă de algoritmul numeric şi erorile de calcul datorate

reprezentărilor numerelor reale în calculator (ca mulţime finită de numere cu un

număr finit de zecimale)

ne , eroarea determinată de procesul de transformare a problemei într-una

discretă, xxe nn

Situaţiile desrise mai sus sunt sintetizate în figura 1.1.

PP: PPx

nx̂

me e

ce

ne ae

Figura 1.1

0, dxF

0, nnn dxF

În general, sursele erorilor sunt următoarele,

erori datorate modelului, care pot fi corectate printr-o alegere potrivită a

modelului matematic;

erori în date, care pot fi controlate prin creşterea acurateței măsurătorilor;

erori de trunchiere, care provin din limitarea numărului de iteraţii (etape) ale

algoritmului de calcul al unei soluţii;

erori de rotunjire, care sunt cauzate de faptul că în calculator pot fi reprezentate

doar un număr finit de numere reale şi acestea au un număr finit de cifre

zecimale.

1.5. Reprezentarea numerelor în calculator. Erori de rotunjire

Orice operaţie pe calculator este afectată de erori de rotunjire (rounding errors sau

roundoff), datorate faptului că din mulţimea numerelor reale R, doar o mulţime finită pot fi

reprezentate în calculator.

Reprezentarea numerelor reale (sistemul poziţional)

Fie o bază, , , x cu un număr finit de cifre xk, , k=-m, …, n

( ). Notaţia convenţională:

(8)

este numită reprezentarea poziţională a lui x în raport cu baza β , unde s este semnul iar

punctul dintre x0 şi x-1 este punctul zecimal (dacă β este 10) sau punctul binar (dacă β este 2).

Reprezentarea (8) este echivalentă cu

.

Exemplul 6.

x10 = 425.31

x6 = 425.31

Un număr raţional poate avea un număr infinit de cifre în reprezentarea într-o bază şi un

număr finit de cifre în reprezentarea într-o altă bază. De exemplu 1/3 în baza 10 este

reprezentat ca 0.(3) iar în baza 3 reprezentarea este 0.1.

Orice număr real poate fi aproximat prin numere cu reprezentare finită. Pentru

bază finită, este îndeplinită următoarea proprietate:

(9)

unde are un număr finit sau infinit de cifre.

Fie (cu număr finit sau infinit de cifre) şi r ,

oarecare. Atunci numerele

şi

au cîte r cifre şi sînt astfel încît

şi =

Dacă r este astfel încît , atunci rezultă (9) cu sau .

Reprezentarea numerelor reale în calculator în sistem flotant (virgulă mobilă)

Dacă sînt N poziţii de memorie (biţi) alocaţi reprezentării unui număr n, atunci ei sînt

repartizaţi astfel: unul pentru semn, N-k-1 pentru partea întreagă şi k pentru partea fracţionară.

, (10)

(sistem virgulă fixă). (10) este echivalent cu

(11)

Sistemul virgulă fixă limitează valorile minime şi maxime care pot fi reprezentate, cu

excepţia situaţiilor în care N este foarte mare. Dezavantajul poate fi depăşit prin utilizarea unei

scale variabile pentru (11), obținând astfel reprezentarea în sistemul flotant sau virgulă mobilă,

astfel:

(în general şi 1 tm

obținându-se forma normalizată),

unde:

este numărul cifrelor semnificative ,

este mantisa,

este exponentul.

Fie e: (în general şi ). Cele N poziţii disponibile sînt distribuite

astfel:

1 pentru semn

t pentru mantisă

N-t-1 pentru exponent.

Pentru reprezentarea în simplă precizie se folosesc 32 biţi iar pentru reprezentarea în

dublă precizie se folosesc 64 biţi.

Fig. 1.2

Fie , . Evident, dacă

=> .

În plus, , , .

.

Cel mai mic număr pozitiv din normalizat este . Cel

mai mare număr pozitiv din este (

.

Observaţie. Pentru ,2

Dacă F nu e normalizat, atunci .

Exemplul 7. Setul conţine, în reprezentarea normalizată, următoarele

numere pozitive:

e=2:

e=1:

e=0:

e=-1:

exponent mantisă

exponent mantisă

1 8 23

1 11 52

semn

semn

În varianta denormalizată sînt adăugate numere pentru e=-1 (de exemplu, pentru e=2,

, deci există deja reprezentarea):

Observaţii: 1. În mulţimea numerele nu sînt egal distanţate, ele devenind mai dense către cel mai

mic număr care poate fi reprezentat.

2. Dacă , consecutive, cea mai mică distanţă posibilă este

iar cea mai mare este , unde este denumită epsilon calculată şi desemnează

distanţa între 1 şi cel mai apropiat minor din F, deci este cel mai mic număr din F cu

proprietatea că .

3. Pe intervale de tipul numerele din F sînt egal distanţate de .

4. Spre deosebire de distanţa absolută dintre două numere consecutive din F (dea descrisă la 2. şi

3.), distanţa relativă are un comportament periodic şi depinde de mantisa m.

Fie . Numărul următor se află la distanţa , deci

distanţa relativă este .

În intervalul , descreşte cu creşterea lui x (în reprezentarea normalizată

mantisa variază între şi exclusiv). Cînd x devine distanţa relativă revine la

valoarea şi reîncepe descreşterea. Fenomenul oscilatoriu este cu atît mai pronunţat cu cît

β este mai mare. Este un motiv în plus pentru care este preferat β mic.

Standardul folosit este IEC559:

simplă precizie: ,

dublă precizie:

cu includerea reprezentării denormalizate

format extins.

Rotunjirea numerelor reale în operaţii pe F

Fie (parametrii sînt fixaţi) reprezentarea numerelor reale în calculator.

Prima problemă de ordin practic este reprezentarea în F a oricărui număr real (chiar dacă

, nu rezultă că , op fiind un operator binar). În consecinţă, este necesară

definirea unei aritmetici pe F. Cea mai simplă abordare este rotunjirea numerelor. Fie în

reprezentarea normalizată (12); x este substituit cu reprezentarea ,

, unde .

Evident, 1) dacă =>

2) dacă , cu => .

Observaţii:

1. dacă , fl(x) nu este definit; dacă x este rezultatul unei operaţii se

află în situaţia depăşirii de domeniu (overflow).

2. Dacă , operaţia de rotunjire poate fi definită; dacă x este rezultatul unei

operaţii pe F se află în situaţia de subdepăşire de domeniu (underflow).

3. Dacă eroarea absolută şi eroarea relativă rezultate prin

substituirea lui x cu fl(x) este stabilită prin următorul rezultat:

, cu ,

unde ( este precizia calculatorului sau unitatea roundoff).

Obţinem:

pentru eroarea relativă ,

pentru eroarea absolută

tttt

te aaaaaaaaxflxxE ~............. 212121

. Dar

1

2121212

~.............

tttt aaaaaaaa ,

deci

.