Sunteți pe pagina 1din 12

Aritmetica virgulei mobile

Numerele reale nu pot fi reprezentate exact in memorie calculatorului, este


necesara o aproximare a lor.

G reali reprezentabili

F multimea nr. Reprezentati efectiv in calculator.


Prin aritmetica virgulei mobile :

Un model mathematic ultilizat pentru repr. Nr reale, multimea F

O modalitate de reprezentare a nr din G(rotunjirea nr).

Definirea operatiilor elementare (+,-,*,/)


Multimea de nr in virgule mobile:
O multime de numere in virgule mobile este complet definite de urmatorii factori:
* B baza de reprezentare (baza 2)
* t nr de cifre utilizat pt reprezentarea mantisei
* L cel mai mic exponent
* U cel mai mare exponent:
Incercarea de a opera cu numere care nu se incadreaza in mI si MI duce la aparitia unor
mesaje de eroare si oprirea programului, depasire flotanta inferioara ( x<mI ) si depasire
flotanta superioara (x>MI).
Nr apartinand multimii F nu sunt echidistante intre ele, ele sunt mai apropiate in jurul
originii si mai indepartate in jurul extremitatilor.
Ele sunt echidistante intre puteri successive.
Reprezentarea aproximativa a numerelor
Scheme de rotunjire
Definirea operatorului.
Din cauza imposibilitatii reprezentarii tuturor nr reale, avem nevoie de metode de
rotunjire:
1) metoda rotunjirii prin taiere
Orice nr din intervalul C1 C2 va fi rotunjit la valoarea lui C1
2) metoda rotunjirii simetrice
Daca se afla pana in jumatatea intervalului C1 C2 atunci se va rotunji la C1, daca se
afla dupa jumatatea intervalului atunci se va rotunji la C2.
Daca se afla la mijloc este situatie incerta si se apeleaza la rotunjirea uniforma.
3) rotunjirea uniforma(metoda para)
Se aplica aceeasi metoda ca la metoda simetrica doar ca in cazul in care numarul se afla
la jumatatea intervalului se va rotunji in functie de ultima cifra a numarului.
Daca ultima cirfra este para se va rotunji catre C1 si daca este impara, catre C2.

Adunarea/Scaderea
1)
2)
3)
4)

Reprezentarea numerelor in memoria calculatorului.


Daca avem exponentii diferiti aducem la acelasi exponent. (Denormalizare)
Se aduna matisele si se pastreaza exponentul comun.
Se normalizeaza daca este cazul.

Erorile care pot aparea la adunare/scadere sunt:


1) omiterea catastrofala
Atunci cand adunam 2 termini cu exponentii diferiti. Prin denormalizarea exponentului
cu valoarea mai mica, acesta isi pierde toate cifrele semnificative si rezultatul final va fi
dictat de numarul cu exponentul mai mare.
2) neutralizarea termenilor
Atunci cand adunam 2 termini cu semn diferit si apropiati in modul,cand acestia vor
fi reprezentati in memorie prin acelasi nr, rezultatul lor va fi 0.
Inmultirea/Impartirea
1) Reprezentarea numerelor in memorie calculatorului
2) Se inmultesc mantisele si se aduna exponentii
3) Se retin t cifre ale mantisei si dupa aia se normalizeaza daca este cazul.
Impartirea este operatia inverse a inmultirii.
Surse de eroare intr-un calcul numeric:
1) Erori inerente:
Afecteaza datele de intrare ale unui calcul numeric si pot proveni de exemplu din
masuratori gresite.
2) Erori de metoda
Se datoreaza metodei numerice utilizate pentru realizarea calculului.
3) Erori de reprezentari
Se datoreaza spatiului limitat de reprezentare a numerelor.

Natura problemelor de calcul si caracterizarea algoritmilor


O problema de calcul este bine conditionata daca datele de intrare exacte si cele
perturbate de erori sunt apropiate intr-un anumit sens, atunci si rezultatele problemei
sunt apropiate intr-un anumit sens.
In caz contrar, problema este prost conditionata.
Caracterizarea algoritmilor unei probleme de calcul.

Un algoritm este stabil din punct de vedere numeric daca datele exacte si cele perturbate
sunt apropiate intr-un anumit sens, atunci si rezultatele problemei de calcul lucrand cu
datele perturbate sunt apropiate intr-un anumit sens de rezultatul algoritmului lucrand cu
datele exacte.

Rezolvarea sistemelor de ecuatii algebrice liniare:


Un system de ec. Algebrice liniare daca matricea A este inversabila
Metode numerice :
1) Directe
Isi propun la transformarea sistemului (1) sau (2) intr-unul echivalent care are acelasi
solutii direct rezolvabile prin mijloace elementare
De obicei se urmareste ca sistemul transformat sa aiba matricea in forma superior
triunghilara sau inferior triunghiulara.
2) Indirecte
Isi propun construirea unui sir de vectori convergent la solutia sistemului.
Sirul se construieste pe baza unei relatii de convergenta ( de ordin 1,2).
Ordinul relatiei de recurenta ne da numarul de vectori initiali necesari.
Pt a rezolva o problema in timp finit, avem nevoie de un criteriu de stop:
|| x . ||p < E impus

Triangulariza directa ( TD )
Este o metoda directa de rezolvare.
Daca o matrice, reala, patratica, de ordin n, are toate submatricile principale
inversabile atunci :
A=L * D * U
Se mai numeste factorizare L D U
Cea uzuala este LU
Pentru factorizarea LU, avem 2 etape:
1) substitutie inainte
L*y=b
2) substitutie inverse
U * x= y

In metoda TD se urmareste zerorizarea elementelor de sub diagonala principala.


Se parcurg n-1 etape, in fiecare etapa se zerorizeaza elementele de sub diagonala
principala.
La o iteratie k, se urmareste zerorizarea elementelor de pe coloana k, de sub diagonala
principala.
Pentru asta se foloseste drept pivot elemental de pe linia k, coloana k, iar acesta
trebuie sa fie diferit de 0.
Daca pivotal este foarte mic sau 0, TD esueaza.
Pentru a evita aceasta situatie, se aplica procedeul TD cu pivotare totala sau pivotare
partiala.
TD cu pivotare partiala :
Scop stabilizarea numerica
Este ca la fiecare iteratie k se foloseste drept pivot elemental maxim in modul din coloana
k, liniile de la k la n.
TD cu pivotare totala:
Scop
Se utilizeaza la iteratia k, drept pivot elementul cu modul maxim din submatricea
formata din liniile de la k la n, si coloanele de la k la n.
Aplicatii ale TD:
1) calculul de terminatului
2) rezolvarea ec. Matriciale.
3) Rezolvare sistemelor in Complex.
Metode indirecte de rezolvare a sistemelor de ecuatii algebrice liniare:
Propun construirea unui sir de vectori convergent la solutia sistemului.
Este necesara o conditie de stop pentru oprirea iteratiilor : || |||p < E impus
Se descompune matricea sub forma A=N-P
Unde N = matrice inversabila
Criteriu necesar si sufficient pentru convergenta sirului de vectori:
Raza spectrala a matricei (N la -1 * P) sa fie subunitara.
In practica se foloseste o conditie suficienta de convergenta si anume norma matricei (N
la -1 * P) sa fie subunitar.
A= L+D+U
1) metoda Jacobi
N=D
P = -(L+U)
Conditie sufficienta de convergenta pentru Jacobi si Gauss-Seidel: Matricea A sa fie diag
dominanta pe linii.
2) metoda Gauss-Seidel
N=L+D
P= -U

Aceeasi conditie de convergenta


Metoda G-S este mai rapida decat metoda Jacobi.
Capitolul 3.
Rezolvarea sistemelor supradeterminate in sensul celor mai mici patrate ( c.m.m.p)
Un system se numeste supradeterminat daca are numarul de ecuatii mai mare decat
numarul de necunoscute.
Un system se numeste subdeterminat daca are numarul de ecuatii mai mic decat
numarul de necunoscute.
Si determinat daca sunt egale.
Un system supradeterminat ( A * x = b ) admite solutie unica daca vectorul b apartine
Im(A).
Solutia ar fi unica daca matricea este monica.
Cum intr-un caz real, b nu apartine lui Im(A) de exemplu din cauza erorilor de
masurare, atunci se doreste solutionarea sistemului pe cat posibil.
Pentru asta se evalueaza functia criteriu |b-A*x|
Problema de calcul isi propune determinarea x-ului care minimizeaza functia criteriu.
X se numeste pseudosolutie.
Se apeleaza la o metoda directa de rezolvare a sistemului si anume transformarea lui
intr-un system echivalent care sa aiba matricea sistemului in forma superior
triunghiulara.
Pesudosolutia se determina prin substitutie inversa.
3.2 Triangularizare ortogonala a unei matrici
O matrice se numeste ortogonala cand are inversa sa egala cu transpusa sa. Q la -1 =
Q la T(transpus).
Matricile ortogonale au proprietatea de a pastra norma vectoriala euclidiana.
Din aceasta cauza vom folosi matrici ortogonale de transformare in vederea
transformarii sistemulu initial.
Matricile folosite sunt de tip Householder ( ortogonale si simetrice )
Triangularizarea ortogonala este similara triangularizarii directe doar ca se folosesc
matrici de tip Householder.
Matricile de tip Householder au propietatea ca zerorizeaza elementele de pe o coloana
de sub diagonala principala si pe celalte le lasa neschimbate.
Algoritmul (factorizarea) QR se realizeaza prin inmultirea matricei A la stanga cu n
matrici de tip Householder.
In urma inmultirilor rezulta o matrice sub forma superior triunghiulara.
Pseudosolutia se calculeaza prin substitutie.

Capitolul 4. Calculul numeric al valorilor si vectorilor proprii


4.1. Formularea problemei
Lamda este valoarea proprie a matricei A daca A*x=Lamda * x pentru orice vector x.
Valorile proprii sunt radacinile polinomului caracteristic matricei A.
Doar matricile patratice au valori propii.
O matrice de ordin n are n valori proprii.
Pentru calcularea numerica a valorilor proprii nu se apeleaza la rezolvarea ecuatiilor
polinomiale deoarece aceasta este o problema prost conditionata.
Se prefera aducerea matricei a la forma canonica Schur.
Forma canonica Schur este o matrice reala patratica in forma cvasisuperior
triunghiulara ( are elemente nule sub subdiagonala pricipala ).
Elementele nenule de pe subdiagonala principala sunt separate intre ele printr-un
element nul numit zero de decuplare.
Pe diagonala principala avem blocuri matriciale de ordin 1 sau de ordin 2.
Blocurile diagonale de ordin 1 coincid cu valorile proprii reale ale matricei S, iar
blocurile diagonale de ordin 2, au valori proprii convex conjugate identice cu valorile
proprii covex conjugate ale matricii S.
Matricea A si matricea S ( forma canonica Schur ) trebuie sa fie matrici
ortogonale asemenea pentru a avea aceleasi valori proprii.Transformarile vor fi
transformari ortogonale de asemanare.
Caracteristicile algoritmului QR de aducere la forma canonica Schur:
Este stabil d.p.d.v.numeric, rezolva problema determinarii valorilor proprii si a
radacinilor unui polinom.
Sta la baza dezvoltarii algoritmului SVD.
Algoritmul QR optimizat are 2 faze de lucru:
1) baza pregatitoare:
Matricea A este adusa la forma superior Hessenberg prin transformari ortogonale de
asemanare.
2) Procedura iterativa cu numar fi dar necunoscut de pasi.

calculul deplasarii: se alega ca deplasare ultimul element de pe diagonala


principala.

Se scade deplasarea de pe diagonala principala.

Factorizarea QR a matricei H obtinute in etapa anterioara.


Se parcurg n-1 iteratii la fiecare iteratie matricea H este inmultita la stanga cu o
matrice ortogonala in scopul zerorizarii elementelor de pe subdiagonala
principala.Pentru asta se folosesc matrici de rotatie plana Givens.

Se calculeaza matricea A la iteratia curenta.

Se reface diagonala principala.

Test de decuplare.
In urma etapelor 3 si 4 elementele de pe subdiagonala principala sunt diminuate in
modul.Unele mai puternic, altele mai putin.
Daca acestea scad sub o precizie impusa, ele sunt fortate la 0.

Teste pentru reluarea iteratiilor:


Se verifica daca sunt elemente nenule consecutive pe sub diagonala principala

Blocurile diagonale de ordinul 2 trebuie sa aiba valori proprii convex conjugate.


Calculul valorilor proprii:
Dupa aducerea matricei la forma canonica Schur se trece la evaluare acesteia in
scopul gasirii valorilor proprii:
Blocurile diagonale de ordinul I sunt exacte valorile proprii ale matricei.
Valorile proprii corespunzatoare blocurilor de ordin II ( valori proprii complex
conjugate coincid de asemenea cu valorile proprii ale matricei A )
Capitolul 5 Descompunerea valorilor singulare.
Orice matrice A reala este ortogonal echivalenta bilateral cu o matrice in forma
canonica pseudodiagonala.
Prin inmultira la stanga cu o matrice ortogonala si la dreapta cu o alta matrice
ortogonala matricea A este adusa la forma pseudodiagonala.
Proprietati ale SVD:

daca matricea A este reala, simetrica si pozitiv semidefinita atunci valorile ei


singulare sunt valorile ei proprii

in loc sa se memoreze fiecare element al matricei A s-ar economisi spatiu de


memorie daca r este mult mai mic decat p daca s-ar memora primele valori
singulare si primele r coloane ale matricilor U si V.

construirea unor baze ortogonale a subspatiului imagine al matricei A: o baza


ortogonala pentru subspatiul Im(A) este data de primele r coloane ale matricei
U.

construirea unei baze ortogonale a subspatiului nul al matricei A: ultimele n-r


coloane a matricei V reprezinta o baza ortgonala a subspatiului nul a matricei A.
Algoritmul SVD parcurge 2 faze de lucru:
Etapa I : obtinerea unei matrici in forma superior bidiagonala.
Acest lucru se realizeaza prin inmultirea la stanga si la dreapta cu matrici de tip
Householder.
Etapa II: se urmareste construirea unui sir de matrici ortogonale echivalente bilateral
convergent la forma pseudodiagonala.
In aceasta etapa ne propunem sa zerorizam elementele de pe prima subdiagonala.
Matricea este inmultita la stanga cu matrici de rotatie plana Givens menite sa
zerorizeze elementele de pe supradiagonala.
Ca efect apar elemente nenule pe prima subdiagonala.
Se inmulteste din nou cu matrice de rotatie plana Givens pentru zerorizarea
elementelor nenule aparute pe subdiagonala.
Repetand inmultirile se observa ca modulul elementelor de pe sub sau supra
diagonala scade, se duce spre zero.
Daca modulul lor scade sub o precizie impusa, ele sunt fortate la 0.

Aplicatii ale SVD:


1) calculul rangului unei matrici.
Se numeste rang numeric sau rang efectiv al matricei A, acel index r pentru
care valorile singulare de ordin mai mare ca r sunt mai mici decat o toleranta
impusa.
Aceasta metoda este singura modalitate de calculare a rangului unei matrici.
Odata adusa matricea adusa la forma pseudodiagonala se evalueaza
elementele de pe diagonala principala ( ordonate crescator ) iar cand acestea scad
sub o anumita toleranta, numarul elementelor mai mari decat toleranta impusa
reprezinta rangul matricei A.
2) rezolvarea sistemelor de ecuatii liniare in sensul celor mai mici patrate
generalizate.
Pentru a rezolva un astfel de sistem se determina pseudosolutia care satisface
urmatoarele 2 proprietati:

minimizeaza norma euclidiana a rezidului || b A * x ||2

sa aiba norma euclidiana minima.

Capitolul 6. Ecuatii si sisteme de ecuatii neliniare


O functie f se numeste neliniara daca este de tip polinomial trigonometric sau
compuneri de alte functii elementare.
Pentru determinarea solutiei ecuatiei neliniare, metodele numerice isi propun
construirea unui sir de vectori convergent la soluatia ecuatiei.
Pentru construirea acestui sir se utilizeaza o relatie de recurenta, de obicei relatie
de recurenta de ordinul I.
Pentru a asigura convergenta sirului este necesar ca vectorii de start sa fie intr-o
vecinatate a solutiei care urmeaza a fi determinat.
Conditii necesare de convergenta : O metoda iterativa bazata pe o relatie de
recurenta este convergenta daca functia de iterare este de tip contractie ( vezi in cursul
10 relatiile )
Criteriu de stop : - || x la [s] x la [s-1] ||p < E impus.
|| f(x) la [s] ||p < Epsilon impus.
Metode de rezolvare a ecuatiilor neliniare:
1) metoda iterarii
Pentru gasirea relatiilor de recurenta se rescrie ecuatia neliniara f(x)=0 sub
forma x=g(x).
Sirul obtinut este convergent la solutia sistemului daca modulul derivatei
functiei g este subunitar intr-o vecinatate a solutiei.
Pentru alegerea vecinatatii solutiei pot fi implementate 2 abordari:

reprezentarea grafica a functiei f, se urmaresc punctele de intersectie a


graficului cu axa Ox

se reprezinta grafic functia g si prima bisectoare.Se urmaresc punctele de


intersectie dintre aceste 2 grafice.

2) metoda Newton ( metoda tangentei )


Pentru asigurarea convergentei sirului se verfica modulul derivatei functiei g
este subunitar intr-o vecinatate a solutiei.
Avantaje si dezavantaje ale metodei Newton (vezi desen!):
Avantaje:
Viteza mare de convergenta
Ordin de convergenta 2
Dezavantaje:
Functia criteriu trebuie sa fie derivabila de 2 ori
Metoda trebuie startata dintr-o vecinatate imediata a solutiei.
3) Metoda secantei(vezi desen!):
Avantaje
Nu mai necesita existenta derivatelor
Dezavantaje
Viteza de convergenta mai redusa
Necesita startarea cu 2 valori initiale.
4) Metoda Muller ( vezi desen! ):
- f(x) este aproximata printr-un polinom de gradul II pe un subinterval.
- Se pune conditia ca f(x) sa treaca prin 3 puncte ale graficului.
- Din aceasta se determina coeficientii ecuatiilor de gradul II.
- Se rezolva ecuatii de gradul II.
- se alege solutia cu modulul cel mai mic.
Avatanje:
Nu necisita evaluarea dervitelor in functie de f.
Viteza de convergenta destul de ridicata.
Dezavantaje:
Necesita 3 aproximatii initiale.

6.3 Rezolvarea sistemelor de ecuatii neliniare


Metodele de rezolvare sunt iterative.
Criteriu suficient de convergenta

Sirul de vectori construit este convergent catre solutia sistemului daca matricea
Jacobiana a functiei de iteratie g are modulul subunitar intr-o vecinatate a solutiei.
Sunt 2 tipuri de metode:
1) Metode explicite (metoda Newton)
Este similara metodei Newton de rezolvare a ecuatiilor neliniare doar ca in acest
caz se cauta un vector.
Vezi relatiile din inceputul cursului 12.
Avantaje:
Ordinul de convergenta al metodei este 2.
Dezavantaje:
Startarea dintr-o vecinatate a solutiei.
2) Metode implicite(metoda Jacobi si metoda Gauss-Siedel)
Jacobi
La fiecare iteratie se rezolva n ecuatii neliniare ale caror necunoscute sunt pe
rand: x1 la iteratia [k+1] , x2 la iteratia [k+1], , xn la iteratia [k+1]
Pentru asigurarea convergentei se verifica daca raza spectrala a matricei Jacobiana
a functiei f in punctul de start este subunitara(conditia este valabila si pentru metoda
Gauss-Siedel)
Gauss-Seidel
Vezi relatiile din curs!
Metoda Gauss-Seidel este mai rapida decat metoda Jacobi.
6.4 Rezolvarea ecuatiilor polinomiale
O astfel de problema de calcul ar putea fi rezolvata cu oricare din metodele de
rezolvare a ecuatiilor neliniare.
Insa acele metode au fost dezvoltate pentru a calcula radacinile reale ale
polinomului si pentru a gasi doar o solutie, nu pe toate.
In concluzie ar fi dificil de aplicat metodele respective in acest caz.
Exista 2 metode de rezolvare :
1) Metoda Bairstow
Urmareste separarea divizorilor de grad maxim 2 a polinomului.
In urma separarilor divizorilor, radacinile polinomului vor fi obtinute calculand radacinile
divizorilor separat.
Pentru determinarea coeficientilor divizorilor se utilizeaza metoda Newton de
rezolvare a sistemelor neliniare avand drept aproximatie initiala valoarea 0.
Algoritmul Bairstow combina aplicarea metodei Newton pentru determinarea
coeficientilor divizorilor cu un procedeu prin care se determina concomitent si
coeficientii catului.
Dezavantajul metodei consta in faptul ca permite amplificarea erorilor.
2) Metoda Frobenius
Se cauta o matrice patratica reala A care sa aiba polinomul caracteristic egal cu
polinomul ale carui solutii vrem sa le aflam.

Daca se gaseste matricea atunci radacinile polinomului sunt valorile proprii ale
matricei.
Valorile proprii se determina folosind algoritmul QR.
Este mai performanta decat metoda Bairstow.
Capitolul 7. Aproximarea numerica a functiilor
In solutionarea unui asftel de sistem apar probleme cand:
- legea de corespondenta a functiei f este complicata ( greu de evaluat ).
- Legea de corespondenta nu e cunoscuta dar cunoastem un numar finit
de valori ale functiei.
Primul caz poate fi redus la cazul al II-lea.
Solutia pentru rezolvarea problemei de calcul este gasirea lui F cu o lege de
corespondenta relativ simpla, usor de evaluat, derivat, integrat, care sa aproximeze cat
mai bine functia f.
Rezolvarea problemei de aproximare presupune urmatoarele etape:
1) Set de functii elementare ( polinom algebric sau polinom trigonometric )
2) Determinarea numarului necesar de functii elementare
3) Determinarea coeficientilor c0, c1, , cm ( m nr de functii de la punctul 2 )
Coeficientii se determina prin:
1) prin aproximarea prin interpolare : egalarea functiilor in punctele cunoscute.
2) Prin aproximarea in medie patratica : coeficientii se determina minimizand functia
criteriu.
7.2 Interpolarea Lagrange
Se bazeaza pe polinomul Lagrange ( vezi formula in curs )
Unicitatea solutiei se demonstreaza prin reducere la absurd.
In practica se foloseste interpolarea Lagrange pe portiuni: in loc sa se foloseasca
un singur polinom, se folosesc mai multe polinoame Lagrange de ordin mai mic.
In felul acesta se inlatura posibilitatea aparitiei unor oscilatii alor functiei intre
noduri deoarece se lucreaza cu polinoame de grad mic.
7.3 Interpolarea cu functii spline cubice natural
Functiile spline sunt functii polinomiale definite pe ramuri prin intermediul unor
polinoame de acelasi grad care se racordeaza intre ele in capetele intervalelor.
Functiile spline cubice naturale sunt construite cu polinoame de grad 3.
O functie spline cubica are 4*n parametri de determinat.
Pentru determinarea lor sunt necesare urmatoarele conditii:
1) conditii de interpolare n+1 relatii
2) conditii de continuitate ale functiei spline n-1 relatii

3) conditii de continuitate a derivatei functiei spline n-1 relatii


4) conditii de continuitate pentru derivata de ordin 2 n-1 relatii
5) limitele derivate de ordin 2 in capetele intervalului sa fie nule 2 relatii
7.4 Aproximarea in medie patratica
Se urmareste minimizarea functiei criteriu ( vezi formula in curs )
Pentru determinarea coeficientilor se impune ca grad. aproximarii functiei
aproximande sa fie 0 si Hessiana pozitiv definita.
Nu se recomanda aceasta abordare deoarece matricea sistemului ar putea fi
aproape singulara.
Se trece la rezolvarea sistemului supradeterminat impunand conditiile de
interpolare a polinomului.
(Vezi relatii curs!)

S-ar putea să vă placă și