201
UNIVERSITATEA “AL.I.CUZA” IAŞI FACULTATEA de INFORMATICĂ CALCUL NUMERIC Anca Ignat

CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Embed Size (px)

Citation preview

Page 1: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

UNIVERSITATEA “AL.I.CUZA” IAŞI FACULTATEA de INFORMATICĂ

CALCUL NUMERIC

Anca Ignat

Page 2: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

1

CUPRINS

Preliminarii 3

Calcul matricial 5

Tipuri de matrici 8

Norme 9

Norme matriciale 10

Valori şi vectori proprii 14

Surse de erori în calculule numerice 19

Rezolvarea sistemelor liniare 21

Evalaurea erorii în rezolvarea sistemelor liniare 21

Algoritmul de eliminare Gauss 27

Descompuneri LU 33

Factorizarea Choleski 37

Algoritmul Gauss-Jordan de inversare a unei matrici 40

Descompuneri QR 43

Algoritmul lui Givens 43

Algoritmul lui Householder 48

Metode iterative pentru rezolvarea sistemelor de ecuaţii liniare 57

Schema generală de deducere a unei metode iterative 57

Metoda Jacobi pentru rezolvarea sistemelor liniare 60

Metoda Gauss-Seidel pentru rezolvarea sistemelor liniare 63

Metode iterative pentru matrici simetrice şi pozitiv definite 67

Metodele relaxării 68

Valori şi vectori proprii 73

Metoda lui Jacobi pentru aproximarea valorilor proprii ale unei matrici simetrice 75

Forma superioară Hessenberg 81

Algoritmul QR de aproximare a valorilor proprii ale unei matrici oarecare 87

Vectori proprii 92

Page 3: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

2

Descompunerea după valori singulare 94

Rezolvarea ecuaţiilor neliniare 96

Metoda bisecţiei (a înjumătăţirii intervalului) 96

Metoda tangentei (Newton-Raphson) 97

Metoda falsei poziţii (a coardei) 100

Metoda secantei 101

Metoda Bairstow de aproximare a rădăcinilor complexe ale polinoamelor 103

Metoda lui Laguerre 106

Interpolare numerică 108

Polinomul de interpolare Lagrange 108

Forma Newton a polinomului de interpolare Lagrange 111

Schema lui Aitken de calcul a diferenţelor divizate 115

Polinomul de interpolare Hermite 116

Funcţii spline liniare continue 118

Funcţii spline cubice de clasă C2 119

Integrare numerică 124

Formule de cuadratură NEWTON-CÔTES 126

Formula trapezului 129

Formula de cuadratură a lui SIMPSON 130

Formula de cuadratură a lui SIMPSON (3/8) 131

Formule iterate 132

Biblioteci de calcul numeric 133

Bibliografie 157

Teme de laborator 158

Page 4: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

3

Preliminarii

Fie K un corp ( - corpul numerelor reale sau - corpul numerelor

complexe).

Defini ie

X se nume te spa iu vectorial peste corpul K dac sunt definite dou

opera ii

+ : X X X i : K X X,

astfel încât ( X , + ) este un grup comutativ :

a + b = b + a , a,b X – comutativitate,

(a + b) + c = a + (b + c) , a,b,c X – asociativitate ,

0 X astfel încât a + 0 = 0 + a = a , a X - existen a

elementului neutru ,

a X, -a X astfel ca a + (-a) = (-a) + a = 0 - existen a

elementului opus.

iar pentru opera ia de înmul ire cu scalari au loc rela iile:

(a+b) = a + b , K , a,b X ,

( + ) a = a + a , , K , a X,

( a ) = ( )a , , K , a X,

1 K astfel încât 1.a = a , a X.

Exemple: este spa iu vectorial peste .

Fie xi , yi , . Se definesc vectorii ,x y i opera iile de adunare

i înmul ire cu scalari astfel:

1 1 1 1 1

2 2 2 2 2, , ,

n n n n n

x y x y xx y x y x

x y x y x

x y x y x

.

Page 5: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

4

Similar se define te spa iu vectorial peste corpul .Fie vectorul z :

1

21 2cu , ,..., .n

n

zz

z z z z

z

Pentru z utiliz m nota iile:

z = a + ib , Re z = a, Im z = b , 2 2,z a ib z a b

Not m cu m n spa iul matricilor cu elemente reale cu m linii i ncoloane

11 1

1

1, ,, , , 1, ,n

ij

m mn

i m j

a aA a n

a a

este spa iul matricilor cu elemente numere complexe cu m linii i ncoloane:

11 1

1

, , 1, , , 1, ,n

ij

m mn

a aA a i m j n

a a

Defini ieFie X un spa iu vectorial peste corpul K. Vectorii x1 , x2 , …,xp X

spunem c sunt liniar independen i dac :

1 1 2 2 1 2.. 0 ... 0p p p ix x x K

Spa iul vectorial X este finit dimensional dac exist vectorii x1 , x2 , …,xp

X, liniar independen i i orice mul ime de q elemente din X cu q > p

este liniar dependent . În acest caz dimensiunea spa iului X este p (dimX

= p).

Page 6: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

5

Fie spa iul vectorial X finit dimensional cu dim X = p.

Orice sistem de p vectori liniar independen i din X se nume te baz a

spa iului X.

Fie x1 , x2 , …,xp X o baz pentru spa iul X . Atunci pentru x X ,

unice constantele 1, 2,…, p K astfel încât

1 1 2 2 .. p px x x x

este un spa iu vectorial finit dimensional, dim = n cu baza

canonic :

1 2pozi ia

01 0 0 00 1 0

, , , , ,1 -

0 0 10

k nk

e e e e

Calcul matricial

Fie matricea patratic A :

11 1

, 1

1

,n

ij i j n

n nn

a aA A a

a a

Se define te matricea transpus :

11 1

, 1

1

,n

T Tji i j n

n nn

a aA A a

a a

Pentru matricea:

11

, i mijj n

A A a

se define te matricea adjunct AH:

Page 7: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

6

11

11 1 11 1

1 1

,

H Tji j n

i m

n mH

m mn n mn

A A a

a a a aA A

a a a a

Pentru m nA matricea adjunct coincide cu transpusa, AH = AT.

Fie vectorul x , acesta este considerat vector coloan , 1nx :1

21 2

Tn

n

xx

x x x x x

x

Dac facem înmul irea matricial Aej ob inem coloana j a matricii A:

1

11 12

pozi ia

1

0

1

0

jn

jj j

m mnmj

aa a

aAe

a aa

Aej este coloana j a matricii A, j=1,...,n, iar eiTA este linia i a matricii A

i=1,...,m.

Fie vectorii x, y, cu ajutorul lor definim produsele scalare în i :

1 1

2 2

1

21 2

1

,

,

n n

n n

nH

i i ni

n

x yx y

x y

x y

xx

x y x y y x y y y

x

Page 8: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

7

1 1

2 2

1

21 2

1

,

,

n n

n n

nT

i i ni

n

x yx y

x y

x y

xx

x y x y y x y y y

x

Propriet ile matricii AH Propriet i ale matricii AT

1. (A + B)H = AH + BH (A + B)T = AT + BT

2. (AH)H = A (AT)T = A

3. (AB)H = BH AH (AB)T = BT AT

4. (A-1)H = (AH )-1 (A-1)T = (AT )-1

Propozi ie

Fie , ,m n n mA x yx atunci: , , .m n

HAx y x A y

Pentru cazul real avem:

, , ,m nm n n m TA x y Ax y x A yx

Demonstra ie.

(Ax , y) = yH (Ax) = yH A x = yH (AH)H x = (AH y)H x = (x , AH y).

Page 9: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

8

Tipuri de matrici

Defini ii

O matrice n nA se nume te simetric dac A = AT .

O matrice A se nume te autoadjunct dac A = AH.

O matrice A se nume te unitar dac AHA = A AH = In.

O matrice A se nume te ortogonal dac ATA = A AT = In.

O matrice A , A=(ai j ) se nume te matrice triunghiular inferior

(sau inferior triunghiular dac ai j = 0 pentru j > i.

11

21 22

1 2

0 .....................0..................0

n n nn

aa a

A

a a a

O matrice A , A=(ai j ) se nume te matrice triunghiular superior

(sau superior triunghiular dac ai j = 0 pentru j < i.

11 12 13 1

22 23 2

33 3

. . . . . . . . . .00 0

0 0 0 ...........

n

n

n

nn

a a a aa a a

A a a

a

Not m cu In matricea unitate:

1 0 0 0 00 1 0 0 0

,0 0 00 0 0

n nn nI I

Page 10: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

9

Norme

Defini ieFie X un spa iu vectorial peste corpul K. Se nume te norm aplica ia:

. : Xcare îndepline te condi iile

(1) 0; 0 0;

(2) , , ;

(3) , , .

x x x

x y x y x y X

x x x X KVom numi norme vectoriale normele definite pe spa iile sauX

Exemple Fie spa iile vectoriale sau . Pe aceste spa ii urm toarele aplica iisunt norme vectoriale:

11

2

21

;

;

max{ 1.. }.

n

ii

n

ii

i

x x

x x

x x i n

Defini ieSe nume te produs scalar în spa iul vectorial X aplica ia:

, : X X Kcare satisface condi iile :

( ) , 0 , , , 0 0;

( ) ( , ) , , , ,

( ) , , , , ,

( ) , , , , , .

a x x x X x x x

b x y y x x y X

c x y x y x y X K

d x y z x z y z x y z X

Este adev rat urm toarea inegalitate, numit inegalitatea lui Cauchy-Buniakovski-Schwarz:

, , , ,x y x x y y x y X

Page 11: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

10

Demonstra ie. Fie 2

2

,, 0 , 0 , :n x y

x X x y X y Ky

. Observ m

c,

, , , 0,

0 , , ,

,, , , , ,

,

x yx y y x y y y

y y

x y x y x y x x y y

x yx x y x x x y x

y y

i inând seama de faptul c2

( , ) , ( , ) , ,x y y x x y x y x y rezult2

, , ,0

,x x y y x y

y y deci avem inegalitatea Cauchy-Buniakovski-

Schwartz.

Într-un spa iu vectorial dotat cu produs scalar se poate induce o normnumit euclidian :

2: ,x x x .

Reaminitm defini ia produselor scalare pe i pe introduse anterior:

1 1

, , ,n n

i i i ii i

x y x y x y x y

Ob inem norma euclidian (valabil în ambele spa ii i ):2

21

n

ii

x x .

Norme matriciale

Defini ie

Aplica ia : n n se nume te norm matricial dac :

(1) 0 ; 0 0.

(2) .

(3) , , .

(4) * , , .

n n

n n

n n

n n

A A A A

A A A

A B A B A B

A B A B A B

Page 12: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

11

Exemple

Norma Frobenius definit de rela ia2

1 1

n n

i jFi j

A a este o norm

matricial .

Vom ar ta c aceast norm satisface condi iile din defini ia normei matriciale.Introducem nota iile:

1

21 2

1

2i 1 2

în care

( ) , 1, , ; , 1, , .

n

m

j

jn mi i in j

mj

LL

A C C C

L

aa

L a a a i m C j n

aCu aceste nota ii vom avea:

2 22

2 21 1 1 1

.m n m n

ij i jFi j i j

A a L C

Din defini ie rezult c :(1) 0 ,

0 1, , , 1, , , 0 0.

m nF

ijF

A A

A i m j n a A

1 2 1 22

2 22

2 21 1 12

2 2 2 2 2 2

2 2 2 2 2 2 21 1

(2) Fie ( , , ) i ( , , )

, 2Re( , )

2 ( , ) 2 2

A A A m n B B B m nm m

m m mA B A B A B A A B Bi i i i i i i i i iF

i i i

m mA A B B A A B B Ai i i i i i i i iF F

i i

A L L L B L L L

A B L L L L L L L L L L

L L L L L L L L A B L1

mBi

iL

Consider m vectorii:1 2 1 2, , , , ,A A A m B B B m

m ma L L L b L L L . Atunci produsul scalar

în

(a , b) =2 2

1

( , )m

A Bi i F F

iL L a b A B . Din aceste rela ii rezult :

2 2 2 22 ( )F F F F F F FA B A A B B A B .

Page 13: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

12

Deci .F F FA B A B

2 2

1 1 1 1

(3) Fie i . Avem:m n

m n m n

ij ijF Fi j i j

A

A a a A

(4) Fie matricile A , n pB1

211

1 1 21

, , - linia a matricii

, , coloana a matricii

A

AA n

i mij ij n

Am

B B B B ni nij p jj p

LL

A a L i A

L

B b C C C C j B

Matricea produs * pM A B are elementele

1

,n

A Bij ik kj i j

km a b L C .

2 2 2 2 22

2 2 2 21 1 1 1 1 1

2 2

,

.

p p pm m mA B A B A Bi j i j i jF

i j i j i j

F F

M L C L C L C

A BAm ar tat c aplica ia Frobenius este o norm matricial .

Aplica iamax

, ,max{ ; 1, , 1, }ijA a i n j n nu este o norm

matricial .

Pentru n = 2 fie:

2 max max

max max max

1 1 1 12 2 2 2,

1 1 1 12 2 2 2

1* , .2

1* 1 .2

TA B A

A B I A B

A B A B

Page 14: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

13

Norme matriciale naturale

Fiev

: o norm vectorial . Pornind de la aceast norm

vectorial definim o norm matricial , numit norm matricial natural

sau indus .

vi

v

v v

v v

max{ ; , 0}

max{ ; , 1}

max{ ; , 1}

AxA x x

x

Ax x x

Ax x x

iA se nume te norm matricial natural sau norm indus de norma

vectorialv

Avem urm toarea rela ie:

v i v, ,n nAx A x A x .

Norma Frobenius F nu este o norm natural . În adev r, pentru orice

norm vectorialv, norma matricial indus a matricii unitate este 1:

vi

v

max{ ; 0} 1nn

I xI x

x,

iar în cazul normei Frobenius avem: 1

2(1 1 1) 1 pentru 2.n FI n n

Pentru1

1

n

ii

x x norma matricial indus este:

11

max{ ; 1,2, , }n

iji

A a j n

Pentru max{ 1, , }ix x i n norma matricial indus este:

1max{ ; 1,2, , }

n

ijj

A a i n .

Page 15: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

14

Dacv este o norm vectorial i n nP este o matrice nesingular

atunci aplica iaP P v

: , x Px este de asemenea o norm

vectorial . Consider m normele matriciale induse de v

iP

- i

i respectiv i,P

. Leg tura dintre cele dou norme matriciale este dat de

rela ia 1i,P i

.A PAP

Valori i vectori proprii

Defini ii

Fie n nA . Se nume te valoare proprie (autovaloare) a matricii A un

num r complex pentru care exist un vector nenul , 0x x

pentru care:

Ax x .

Vectorul x se nume te vector propriu (autovector) asociat valorii proprii

.

Observ m c :

( ) 0, 0 det( ) 0n nAx x I A x x I A

adic matricea I A este singular . Polinomul: 1 2

1 1( ) det( ) ...n n nA n n np I A a a a a

se nume te polinom caracteristic asociat matricii A. Polinomul pA de

grad n are n r d cini care sunt valorile proprii ale matricii A.

Se nume te raz spectral a matricii A num rul ( )A :

max{ , 1, , , valorile proprii ale matriciii iA i n

Norma matricial indus de norma vectorial euclidian

22

1

n

ii

x x este 2 ( )TA A A i se nume te norma spectral .

Fie norma matricial indus de norma euclidian :

Page 16: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

15

2 2sup{ ; , 1}A Ax x X x

Consider m un vector oarecare x cu norma euclidian egal cu 1:2

21 1 1 1 1 1

, ( ) .n n n n n n

i j j i k k j i j i k ki j k j i k

Ax Ax Ax a x a x x a a x

Tinând seama de defini ia matricii AH:

1

, .n

H Hjiij lp lqpq

lA a A a A A a a

2

2, ) ( , ).HAx Ax Ax A Ax x

Se observ c (AHA)H =AHA. Fie 1 , 2 , ….. n valorile proprii i x1, x2 ,…,xn vectorii proprii corespunz tori pentru matricea AHA. Din:

0 (Axi , Axi ) = (AHAxi ,xei) =( i xi , xi ) = i ( xi , xi )rezult c i 0. Fie raza spectral a matricii AHA,

(AHA) = max{ I , i=1..n } 0.Sa observ m ca vectorii proprii ai matricii AHA corespunz tori unor valori proprii distincte sunt ortogonali:

(Axi , Axj) = (AHA xi ,xj ) = i ( xi , xj );

, , , , , ,Hi j j i j i j j i j j i j i jAx Ax Ax Ax A Ax x x x x x x x

din aceste rela ii rezult :( i - j ) ( xi , xj )=0 ( xi , xj )=0.

Presupunem c vectorii proprii xi ai matricii AHA au norma egal cu 1. Fie:

2

1 1

1 1 1 1

2

1

, ; 1;

, , ,

n n

i i ii i

n n n nH H

i i j j i i i j ji j i j

nH

i ii

x X x x

A Ax x A Ax x x x

A A

deciHA A A

Fie x1 vectorul propriu al matricii AHA corespunz tor valorii proprii 1 ( )HA A . Atunci ( Ax 1 , Ax 1) = (AHA x 1 , x 1) = 1 rezultând:

HA A A

Page 17: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

16

Propozi ie

Fie o norm matricial natural . Atunci ( ) , n nA A A .

Demonstra ie. Fie max ( )A i maxx vectorul propriu corespunz tor

lui max . Avem:

max max maxAx x .

Atunci:

max max max max max( ) ( )A x x A x A x A A

Fie ,{ } un ir de matrici.n n kA A Spunem c irul Ak converge la

matricea 0 dac i numai dac irul de numere pozitive {|| Ak ||} converge

la 0.

0 , 0 ,k kA k A k .

Propozi ia 1

Fie n nA . Atunci:

0 , ( )kA k A

Dac exist o norm matricial natural pentru care ||A|| < 1 atunci:

0 pentru .kA k

Observa ie. În cazul n = 1 , avem

0 pentru 1.ka a k a

Demonstra ie. Vom demonstra doar implica ia . Avem:

0 , 0 , .

0 , .

lim 0 1.

k k

kk k

k

k

A k A k

A A A k

A A

Page 18: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

17

Fie n nA . Spunem c seria 0

k

kA este convergent dac irul de

matrici al sumelor par iale {Sn},0

nk

nk

S A converge la o matrice S,

numit suma seriei.

Propozi ia 2

Fie n nA . Seria 0

k

kA converge dac i numai dac raza spectrala a

matricii A este subunitar :

1.n

k

kA S A

Dac exista o norm a matricii A astfel încât ||A|| < 1 atunci seria

converge. În cazul convergen ei avem 1

0

( ) .k

kA S I A

Demonstra ie. Presupunem c seria este convergent . Deducem c :Pr.1

1 10 0 1.n n

n nn n n n nS S S S S S A A A

Presupunem c ( ) 1.A Atunci 1 nu este valoare proprie pentru matricea

A deci: 1det( ) 0 ( ) .n nI A I A

Avem:2 1( ) ( )( .. )n n

n n n n nI A S I A I A A A I A1 1( ) ( ).n

n n nS I A I A

Tinând seama c am presupus ( ) 1A din Propozi ia 1 rezult :1 1 10 pentru pentru ( ) .n n

n n n nA n I A I n S I A

Avem implica iile: 1

0

1 1 ( ) .kn

kA A A A I A

Page 19: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

18

Propozi ia 3

Fie n nA pentru care exist o norm matricial natural astfel ca

1A . Atunci exist matricile 1( )nI A i avem evalu rile:

11 1( ) .1 1

I AA A

Demonstra ie. Din condi ia ||A|| < 1 rezult c ( ) 1A . Deci 1 nu sunt

valori proprii ale matricii A, det( In-A) 0 adic exist matricile 1( )nI A . Din rela iile:

1 1 1( ) 1 ( ) ( ) (1 )n n n n n n nI A I A I I I A I A I A A

ob inem:

11 ( )1 nI A

A.

Folosind rela ia:1 1 1( ) ( ) ( ) ( )n n n n nI A I A I A I A A I

deducem: 1 1 1 1

1

( ) ( ) ( ) 1 ( )

(1 ) ( ) 1

n n n n n

n

I A I I A A I A I A A

A I A

deci:

1 1( ) .1nI A

A

Page 20: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

19

Surse de erori în calculule numerice

1. Erori în datele de intrare:

- m sur tori afectate de erori sistematice sau perturba ii

temporare,

- erori de rotunjire: 1/3 , , 1/7,..

2. Erori de rotunjire în timpul calculelor:

- datorate capacit ii limitate de memorare a datelor,

- opera iile nu sunt efectuate exact.

3. Erori de trunchiere:

- limita unui ir , suma unei serii , func ii neliniare aproximate

de func ii liniare, aproximarea derivatei unei func ii

4. Simplific ri în modelul matematic

- idealiz ri , ignorarea unor parametri.

5. Erori umane i erori ale ma inii.

Eroare absolut , eroare relativ

Fie a – valoarea exact , ã – valoarea aproximativa.

Eroare absolut : a- ã sau |a - ã | sau a ã

a = ã a , |a - ã | a

Eroare relativ : a 0 sau saua ã a ãa ã

a a a

a

a ãa

a se exprim de regul în %.

În aproxim rile 1kg 5g, 50g 5g erorile absolute sunt egale dar pentru

prima eroarea relativ este 0,5% iar pentru a doua eroarea relativ este

10%.

Page 21: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

20

Fie

1 2

1 2

1 2 1 2

1 1 2 2

1 2 1 2

, ,

( )

.

a a

a a

a a a a

a ã a ã

a a ã ã

Fie a1 cu eroare relativ2a i a2 cu eroare relativ

2a , pentru

a = a1 * a2 sau 1

2

aa

rezult1 2a a a

Page 22: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

21

Rezolvarea sistemelor liniare

Evalaurea erorii în rezolvarea sistemelor liniare

Fie , ,A b x i sistemul de ecua ii algebrice liniare: Ax b

Dac matricea A este nesingular exist i este unic solu ia exact :1x A b

Pentru erorile în datele de intrare facem nota iile:

- eroarea absolut pentruA A ;

- eroarea absolut pentrub bÎn realitate se rezolv sistemul:

A A x b bsolu ia fiind x :

x x xÎn mod natural se ridic urmatoarele probleme :

1. În ipoteza c matricea A este nesingular ce condi ii trebuie sîndeplineasc A pentru ca matricea A+ A s fie nesingular ?

2. Presupunând c matricile A i A+ A sunt nesingulare care sunt

rela iile între erorile relative ale datelor de intrare ,A b

A bi

ale datelor de ie irex

x?

Pentru prima problem în cele ce urmeaz presupunem c matricea Aeste nesingular . Din egalitatea:

1nA A A I A A

rezult c A+ A este nesingular dac i numai dac In+A-1 A este nesingular .

Propozi ie

Fie A nesingular i 1

1AA

. Atunci I+A-1 A este nesingular i

avem:11

1

11nI A A

A A

Demonstra ie. Avem:

Page 23: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

22

Pr.3 11 1 11

1 1A A A A A I A AA

de unde ob inem: 11

1 1

1 11 1

I A AA A A A

.

Pentru a doua problem presupunem c A este nesingular i

1

1AA

. Au loc urm toarele implica ii:

11 1 1

11 1

1

1 (1)1

A A x x b b A A x Ax A x b b

A I A A x b A x x I A A A b A x

x I A A A b A x

Ax bA

x xA A

Din Ax =b ob inem 1 Ab A x

x bi inând seam de acest

rezultat, din (1) deducem: 1

1 .1

A Ax b Ax b AA A

Not m cu k(A)=||A-1|| ||A|| num rul de condi ionare al matricii A.

Propozi ie

Dac matricea A este nesingular i 1

1AA

atunci:

1

x b Ak AAx b Ak A

A

.

inând seama c I =A A-1 rezult 11 .I A A k AAsfel num rul de condi ionare al matricii A, k(A) 1, depinde de norma matricial natural utilizat .O matrice A pentru care num rul de condi ionare este mare se nume tematrice prost condi ionat . Pentru matricile prost conditionate eroarea

Page 24: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

23

relativ a solu iei sistemului Ax=b , x

xpoate fi mare chiar dac erorile

relative ib A

b A sunt mici.

Fie A o matrice simetric TA A , nesingular . Utilizând norma matricialsubordonat normei vectoriale euclidiene:

22

12 2

TA A A A

k A A AObserv m c matricea simetric A are valorile proprii reale

1 2, n , A2 are valorile proprii 2 2 21 2, n iar A-1 are valorile

proprii1 2

1 1 1, , ....,n

. Presupunând c :

11 2

1

1.... in nA A

ob inem pentru matricea simetric A:1 1

2 21

1,nA A A A ,1

nk A se nume te num r

de condi ionare spectral.Pentru o matrice ortogonal A 1T T TA A A A I A A num rul de

condi ionare spectral 2 2

1,Tk A A A deoarece:

2 21T TA A A I A

.

Page 25: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

24

Metode numerice de rezolvarea sistemelor liniare

Fie matricea nesingular A i b . Rezolvarea sistemului de ecua ii liniare Ax b se poate face folosind regula lui Cramer:

det ( ) , 1, ,det

ii

A bx i nA

,

în care Ai(b) se ob ine din matricea A prin înlocuirea coloanei i cuvectorul b. Acest algoritm este foarte costisitor din punct de vedere al resurselor i este instabil numeric (perturb ri mici în datele de intrare pot conduce la perturb ri mari în datele de ie ire). Din aceste motive s-au c utat alte metode de aproximare a solu iei x. Unul din cele mai folosi ialgoritmi este algoritmul de eliminare Gauss. Algoritmul const în transformarea sistemului Ax b într-un sistem echivalent cuAx b A matrice triunghiular superior:

1 1 (not m )x A b A b Ax b Ax bVom considera mai întâi rezolvarea sistemelor liniare cu matrici triunghiulare.

Metoda substitu iei

Fie sistemul liniar Ax = b unde matricea sistemului A este triunghiular .Pentru a g si solu ia unic a sistemului, trebuie ca matricea s fie nesingular . Determinantul matricilor triunghiulare este dat de formula:

11 22det = nnA a a a Prin urmare pentru rezolvarea sistemului vom presupunem c : det 0 , 0 = 1,2, ,iiA a i nVom considera întâi cazul când matricea A este inferior triunghiular .Sistemul are forma:

11 1 1

21 1 22 2 2

1 1 2 2

1 1 2 2

==

=

=

i i ii i i

n n ni i nn n i

a x ba x a x b

a x a x a x b

a x a x a x a x b

(1)

Necunoscutele 1x , 2x , ..., nx se deduc folosind ecua iile sistemului de la prima c tre ultima. Din prima ecua ie se deduce 1x :

Page 26: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

25

11

11

bxa

(2)

Din a doua ecua ie , utilizând valoarea x1 din (2) , ob inem 2x :2 21 1

222

= b a xxa

Când ajungem la ecua ia i :1 1 2 2 1 1 =i i ii i ii i ia x a x a x a x b

folosind variabilele 1x , 2x ,..., 1ix calculate anterior, avem: 1 1 1 1= i i ii i

iii

b a x a xxa

Din ultima ecua ie se deduce nx astfel:1 1 2 2 1 1= n n n nn n

nnn

b a x a x a xxa

Algoritmul de calcul a solu iei sistemelor (1) cu matrice inferior triunghiular este urm torul:

1

1 , 1,2, , 1,

i

i ij jj

iii

b a xx i n n

a Acest algoritm poart numele de metoda substitu iei directe. Vom considera, în continuare sistemul (1) cu matrice superior triunghiular :

11 1 1 1 1 1 1 1

1 1

1 1 1 1 1

=

=

=

i i n n n n

ii i in n in n i

n n n n n n n

a x a x a x a x b

a x a x a x b

a x a x b=nn n na x b

Necunoscutele 1x , 2x ,..., nx se deduc pe rând, folosind ecua iilesistemului, de la ultima c tre prima. Din ultima ecua ie g sim nx :

nn

nn

bxa

(4)

Folosind valoarea lui nx dedus mai sus, din penultima ecua ieob inem:

1 11

1 1

= n n n nn

n n

b a xxa

Page 27: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

26

Când ajungem la ecua ia i :1 1 =ii i ii i in n ia x a x a x b

se cunosc deja 1ix , 2ix ,..., nx i deducem:1 1= i ii i in n

iii

b a x a xxa

Din prima ecua ie g sim valoarea lui 1x :1 12 2 1

111

= n nb a x a xxa

Procedeul descris mai sus poart numele de metoda substitu iei inversepentru rezolvarea sistemelor liniare cu matrice superior triunghiular :

1 , , 1, ,2,1.

n

i ij jj i

iii

b a xx i n n

a (5)

Pentru a evalua efortul de calcul pentru metoda substitu iei inverse vom nota cu M – num rul de opera ii *, / (înmul iri/împ r iri) efectuate i A num rul opera iilor (adun ri/sc deri) efectuate.Atunci pentru calculul componentei xi se efectueaz M=n-i+1, A=n-i iîn total:

1 1 1

1 1

1 11 ,

2 2

n n

i n k i n k

n n n nM n i k A n i k

Efortul de calcul pentru metoda substitu iei directe este deasemenea M=n(n+1)/2, A=n(n-1)/2.

Page 28: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

27

Algoritmul de eliminare Gauss

Algoritmul se realizeaz în n-1 pa i prin transformarea sistemului dat într-un sistem echivalent cu matrice triunghiular superior. Pas 1: la acest pas se ob ine sistemul : 1 1 1, undeA x b Ax b A areprima coloan în form superior triunghiular .Pas 2: se construie te sistemul 2 2 2, undeA x b Ax b A areprimele dou coloane în form superior triunghiular .

Pasul r: se ob ine sistemul , under r rA x b Ax b A are primele rcoloane în form superior triunghiular .

Pasul n-1 : se ob ine sistemul 1 1 1, unden n nA x b Ax b A are primele n-1 coloane în form superior triunghiular .Dac la un anumit pas matricea rA nu poate fi construit aceasta ne va ar ta c matricea A este singular .În realizarea acestor pa i se utilizeaz urm toarele opera ii elementare: înmul irea unei ecua ii cu un factor i adunarea la alt ecua ie;interschimbarea a dou linii i/sau dou coloane în matricea A;Pas 1: Intrare : sistemul Ax b Ie ire : sistemul 1 1 1, unde matriceaA x b Ax b A are prima coloan în form superior triunghiular .Fie ecua ia i, cu i=1,…,n

1 1 2 2:i i i in n iE a x a x a x b .Presupunem 11 0a . Opera iile efectuate au ca obiectiv anularea coeficien ilor lui x1 din ecua iile de la 2 la n i sunt descrise în continuare:

1 1211 2 2 21

11

1 111 1

11

1 111 1

11

0

0

0

ii i i

nn n n

aE E E aa

aE E E aa

aE E E aa

Page 29: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

28

Sistemul ob inut prin aceste opera ii are forma:

1 1 1 111 1 12 2 1 1

1 1 122 2 2 2

1 1 12 2

1 1 12 2

n n

n n

i in n i

n nn n n

a x a x a x b

a x a x b

a x a x b

a x a x bsau

1 11 1 1 1

1 11

11

11

1 11

11

, 1, , , .

, 2, , ; 2, , .

0, 2, , .

, 2, , .

j j

iij ij j

i

ii i

a a j n b b

aa a a i n j na

a i nab b b i na

Pas 2: Intrare : 1 1A x b Ie ire : 2 2 2,A x b Ax b A are primele dou coloane în form superior triunghiular .Se presupune 1

22 0a i se urm re te anularea elementelor 2 2 2

32 42 2, , , na a a (transformarea coloanei 2 în form superior triunghiular ). Opera iile efectuate asupra ecua iilor 1 , 3, ,iE i n sunt urm toarele :

11 1 2 232

2 3 3 32122

11 1 2 22

2 2122

11 1 2 22

2 2122

0;

0;

0;

ii i i

nn n n

aE E E aa

aE E E aa

aE E E aa

Page 30: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

29

Ob inem pentru matricea A(2) i vectorul b(2) rela iile:2

1 1

2 12 2

12 1 12

2122

21

22

2 2 11 1 2 2

12 1 (1)2

2122

, 1, ,

, 2, ,

, 3, , ; 3, ,

0, 2, ,

0, 3, ,

,

, 3, , .

j j

j j

iij ij j

i

i

ii i

a a j n

a a j n

aa a a i n j na

a i n

a i n

b b b b

ab b b i na

Se observ c nu se schimb forma superior triunghiular a primei coloane.Pas r: Intrare : 1 1r rA x b Ie ire : ,r r rA x b Ax b A are primele r coloane în formsuperior triunghiular .Sistemul are forma urm toare:

1 1 1 111 1 1 1 1

1 1 1

1 1 11 1 1

r r r rr r n n

r r rrr r rn n r

r r rr r r r n n r

rir

a x a x a x b

a x a x b

a x a x b

a 1 1 1

1 1 1

r rr in n i

r r rnr r nn n n

x a x b

a x a x b

Presupunem 1 0.rrra Vom urm ri anularea elementelor

1 2, , , .r r rr r r r nra a a Opera iile efectuate sunt:

Page 31: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

30

11 11

1 1 11

11 1

1

11 1

1

0;

0;

0;

rr r r rr r

r r r r rrrr

rr r r rir

r i i irrrr

rr r r rnr

r n n nrrrr

aE E E aa

aE E E aa

aE E E aa

Ob inem pentru matricea A(r) i vectorul b(r) formulele:

1 1

1

11 1

1

1 1

1

11 ( 1

21

, 1, , ,

, 2, , , , ,

, 1, , ; 1, , .

0, 1, , , 1, , .

,

, 2, , ,

rj j

r kkj kj

rr r rir

ij ij rjrrr

rij

r

r jj j

rr r rir

i i rrr

a a j n

a a k r j k n

aa a a i r n j r na

a j r i j n

b b

b b j r

ab b ba

) , 1, , .i r n

Se observ c nu se schimb forma superior triunghiular a primelor r-1coloane. La fiecare pas s-a f cut ipoteza 1 0r

rra . Elementul 1rrra poart

numele de pivot. În cazul în care elementul pivot este nul se pot aplica urm toarele strategii numite de pivotare:

10.F r pivotare Se caut primul indice

0

10 , 1, , astfel încât 0r

i ri r r n a . Se interschimb liniile i0 i r.

S observ m c în procesul de calcul la pasul r intervine factorul 1

1r

rra

astfel c valori mici ale lui 1rrra conduc la amplificarea erorilor de

Page 32: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

31

calcul. Pentru a asigura stabilitatea numeric a procesului de calcul este de dorit ca 1r

rra s fie ‘mare’.

20. Pivotare par ial : Se determin indicele i0:

0

1 1max ; , ,r ri r ira a i r n

i se interschimb liniile 0 0, daci r i r .

30.Pivotare total : Se determin indicii i0 i j0:

00

1 1max ; , , , , ,r ri j ija a i r n j r n

i se interschimb liniile 0 0, daci r i r i coloanele 0 0, dac .j r j rSchimbarea coloanelor implic schimbarea ordinii variabilelor astfel încât în final va trebui ref cut ordinea ini ial a variabilelor. Dac dup pivotare elementul pivot r mâne nul, 1 0 ,r

rra atunci putem deduce c matricea A(r-1) este singular . În adev r, dac în procesul de pivotare par ial 1 0 ,r

rra atunci

11 12 1

1 1 1 1( 1)11 22 1 1

00

det det 0

0

n

rn

r r r rrr rnrr r

nn

nn

a a aa

a aA A a a a

aa

Deoarece opera iile efectuate (cele de inetrschimbare de linii i/suacoloane) nu au schimbat decât semnul determinantului avem:

1det det 0 det 0rA A Aprin urmare matricea A ini ial este singular .

i în cazul procesului de pivotare total dac 1 0 ,rrra atunci:

11 12 1

1 1 1 1( 1)11 22 1 1

0 00 00

det det 0

0 00

n

r r r rrrrr r

a a a

aA A a a a

Avem 1det det 0rA A A este matrice singular .

Page 33: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

32

Putem suma algoritmul descris mai sus astfel: 1;

pivotare( );while ( -1 i | | > )

// Pas rfor 1, ,

- ;

for 1, , * ;

rr

ir

rr

ij ij rj

rr

r n a

i r nafa

j r na a f a

( 1) ( 1)

0; * ; 1;

pivotare( );if (| | ) 'MATRICE SINGULARA'

else { ,se rezolv sistemul triunghiular superior

ir

i i r

rrn n

ab b f b

r rr

aA A b b

Ax }b

Num rul de opera ii efectuate la pasul r i în total este:

1 12

1 1

1 12

1 13 3

2 2

( ) 1 1 1

1 2 5M : 2 ,

61 1

A : ,3

M : ; :3 3

n n

r r

n n

r r

n r M n r A n r A A M

n n nn r n r

n n nn r n r

n nn n

Page 34: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

33

Descompuneri LU

Dac avem pentru matricea A o descompunere de tipul A=LU, cu Lmatrice triunghiular inferior i U matrice triunghiular superior atunci rezolvarea sistemul liniar Ax=b se reduce la rezolvarea a dou sisteme liniare cu matrici triunghiulare:

1= solu ia y= = ,

= solu ia xLy b

Ax b LUx b x A bUx y

Se rezolv întâi sistemul inferior triunghiular =Ly b . Apoi se rezolvsistemul superior triunghiular =Ux y unde y este solu ia ob inut din rezolvarea sistemului precedent =Ly b . Vectorul x rezultat din rezolvarea sistemului =Ux y este i solu ia sistemului ini ial =Ax b . Fie minorul principal principal al matricii A:

11 12 1

21 22 2

1 2

, 1, ,

p

p pp

p p pp

a a aa a a

A p n

a a a

Teorem (descompunere LU)Fie A o matrice real p tratic de dimensiune n astfel încât det 0pA , = 1, ,p n . Atunci exist o unic matrice inferior triunghiular , =1,...,= ( )ij i j nL l cu = 1, = 1, ,iil i n i o unic matrice superior triunghiular , =1,...,= ( )ij i j nU u astfel încât A = L U (1) Demonstra ie. Existen a. Algoritmul Doolittle de calcul al descompunerii LU (demonstra ia se face prin induc ie dup n dimensiunea matricii A )Fie A o matrice real p tratic de dimensiune n care satisface ipotezele teoremei de mai sus. Algoritmul de calcul al matricilor L i Uare n etape. La fiecare pas se determin câte o linie din matricea U icâte o coloan din matricea L . Descriem în continuare, un pas oarecare. Pasul p ( =1,2, ,p n )Se determin elementele liniei p ale matricii U , , = , ,piu i p n , ielementele coloanei p ale matricii L ,

, = 1, ,ipl i p n = 1ppl (upi= lip =0, i=1,…,p-1).

Page 35: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

34

Sunt cunoscute din pa ii anteriori elementele primelor 1p linii din U(elemente kju cu = 1, , 1,k p j ) i elementele primelor 1p coloane din L (elemente ikl cu = 1, , 1,k p j ).Calculul elementelor liniei p din matricea U , = , ,piu i p n se face folosind elementul api i (LU)pi. Avem:

1

=1 =1 =1

= ( ) ( = 0, = 1, , ) = =p pn

pi pi pk ki pk pk ki pp pi pk kik k k

a LU l u l k p n l u l u l u

Pentru = , ,i p n avem:1

1

, , ,p

pi pi pk kik

u a l u i p n (2)

( = 1ppl , pkl , kiu = 1, , 1k p sunt elemente de pe coloane din L ilinii din U calculate la pa ii anteriori) Calculul elementelor coloanei p din matricea L : , = 1, ,ipl i p n( = 0 , =1, , 1, = 1ip ppl i p l ) se face analog:

1

=1 =1 =1

= ( ) ( = 0, = 1, , ) = =p pn

ip ip ik kp kp ik kp ip pp ik kpk k k

a LU l u u k p n l u l u l u

Dac 0ppu putem calcula elementele nenule ale coloanei p din matricea L astfel:

1

1

( ) / , 1, ,p

ip ip pk ki ppk

l a l u u i p n (3)

(elementele pkl , kiu =1, , 1k p sunt cunoscute deja la pasul p fiind calculate anterior) Dac = 0ppu , calculele se opresc, descompunerea LU nu poate fi calculat - matricea A are un minor pA cu determinantul 0. Unicitatea. Demonstra ie prin reducere la absurd. Facem observa ia c inversa unei matrici nesingulare triunghiularinferior (superior) este o matrice de acela i tip. Presupunem c

1 1A LU LU (4) Din ipoteza A nesingular rezult existen a inverselor matricilor

1 1, , ,L L U U . Înmul ind egalitatea (4) la stânga cu 1 1 1 1

1 1 1i cu la dreapta ob inem .L U UU L L1 1

1 11 1

1 1 1 1

Matricea este triunghiular superior iar matricea este triunghiular inferior

cu elementele diagonale egale cu 1. Rezult , deci , .

UU L LUU L L I L L U U

Page 36: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

35

Observa ii: Pentru memorarea matricilor L i U se poate folosi matricea A ini ial . Vom folosi partea superior triunghiular a matricii A pentru a memora elementele iju ale matricii U pentru = 1,2 ,i n ,

= , 1 ,j i i n i partea strict inferior triunghiular a matricii A pentru a memora elementele ijl ale matricii L , = 2,3 ,i n , = 1,2 , 1j i . Se observ c nu am memorat nic ieri elementele =1 =1, ,iil i n . Vom ine cont de acest lucru în calculele ulterioare. Calculele (2) i (3) se pot

face direct în matricea A .

Algoritmul de eliminare Gauss f r schimbare de linii descompunere LU

Presupunem c la fiecare pas al algoritmului de eliminare Gauss pivotul este nenul ( ( 1) 0r

rra ), deci nu e nevoie de schimbare de linii. Algoritmul se poate scrie astfel:

for 1, , 1for 1, ,

;

//for 1, ,

;

0;;

ir

rr

i i r

ij ij rj

ir

i i r

r ni r n

afa

E E f Ej r na a f a

ab b f b

Fie:

( ) ( )( )

1

( )

0

0, :r r T

r n rrr

rn

t T I t et

t

Page 37: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

36

col r

( )( )

( )11

( )( )

0 0 0 0 0

0 0 0 0 00 1 0 00 0 0 lin 1)

0 0 0

r Tr r

rrr

rrn

n

t et t r

t t

Matricea Tr este matrice triunghiular inferior cu 1 pe diagonala principal :

( )1

( )

col

1 0 0 00 1 0 0

0 0 1rr

r

rn

r

Tt

tInversa matricii Tr este 1 ( )r T

r n rT I t e . În adev r:1 ( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( )( )

(0 )

r T r T r T r T r T r Tr r n r n r n r r r r

r r T r T rn r r n r r

T T I t e I t e I t e t e t e t e

I t t e I t e tDac A este o matrice oarecare, vrem s vedem cum se poate construi matricea B=TrA f r a face înmul ire matricial . Vom studia leg tura între liniile matricilor A i B.

( ) ( ) ( )( ) ( ) ( )T T T r T T T r T T r Ti i r i n r i i r i i re B e T A e I t e A e A e t e A e A t e A

Linia i a noii matrici B se ob ine din linia i a matricii A la care se adauglinia r a matricii A înmul it cu factorul ( )r

it .( )

( )

1, , ( 0)

( ) 1, ,

T ri iT

i T r Ti i r

e A i r te B

e A t e A i r n.

Opera ia TrA descrie Pasul r al algoritmului de eliminare Gauss dac :( ) ( ) ( )

( ) ( ) ( )11 ( ) ( ) ( ), , , ,

r r rr r rr r ir nr

r i nr r rrr rr rr

a a at t ta a a

.

Algoritmul de eliminare Gauss f r schimbare de linii poate fi descris astfel:

( )1 2 1 cu r T

n r n rT T T A U T I t e ,

Page 38: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

37

( ) ( ) ( )( ) 1

( ) ( ) ( )0 0 ( ) ( ) ( )Tr r r

r r r ir nrr r r

rr rr rr

a a ata a a

.

Avem:1 1 1 1 1 1

1 2 1 1 2 1, :n nA T T T U LU L T T T1 1 (1) (2) (1) (2) (1) (2)

1 2 1 2 1 2 1 2(1) (2) (1) (2) (1) (2) (2)

1 2 1 2 1 2 1

( )( )

( 0)

T T T T T Tn n n

T T T T Tn n

T T I t e I t e I t e t e t e t e

I t e t e t t e I t e t e tPrin induc ie se arat c :

1 1 1 (1) (2) ( 1)1 2 1 1 2 1

T T n Tn n nL T T T I t e t e t e

21

11(1)

31 32(1)

11 22

1

11

1 0 0 0

1 0 0

0 0

r

aaa aa a

L aa

(1)2

(1)22

(1) ( 1)11 12 1

(1) ( 1)11 22

(1) ( 1)1 2

(1) ( 1)11 22

0

0

r

rr r r r

rrr

rn n nr

rrr

aa

a a aa a a

a a aa a a

Am ar tat c algoritmul de eliminare Gauss f r schimbare de linii produce o descompunere LU pentru matricea A.

Factorizarea Choleski

Defini ie Matricea A se nume te pozitiv semidefinit dac :

, 0Ax x x . Matricea A se nume te pozitiv definit dac :

, 0 , 0Ax x x x .

Propozi ie Dac matricea A este pozitiv definit atunci matricea A este nesingular .

Page 39: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

38

Demonstra ie: Presupunem prin reducere la absurd c matricea A este pozitiv definit i singular . Atunci, sistemul de ecua ii liniare Ax=0 are pe lâng solu ia banal x=0 i o solu ie x0 0. Avem:

0 0 0 00 0 , 0, 0 contradic ie!x Ax x xDac matricea A este pozitiv definit rezult c i minorii principali Ap

sunt pozitivi defini i în p p i deci det Ap 0. Avem urm torul rezultat:

Propozi ie Presupunem c matricea A este simetric (A=AT) i pozitiv definit . Atunci exist o matrice triunghiular inferior L astfel ca:

(factorizarea Choleski a matricii )TA LL A

Algoritmul de determinare a matricii L se desf oar în n etape, la fiecare etap se determin câte o coloan a matricii L.La pasul p se cunosc din pa ii anteriori coloanele 1,2,...,p-1 ale matricii L:

, 1,2, , 1, 1, , cunoscuteirl r p i nLa acest pas se determin elementele coloanei p ale matricii L:

1

0

0, ? , , ,pp ip

p p

np

l l i p nl

l

.

Se determin întâi elementul diagonal lpp:1

2

1 2(

p

p

Tpp p p pp pppp

ll

a LL l l l l

Page 40: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

39

12 2 2 21 2

1

p

pp p p pp pp pp pjj

a l l l l a l

Se arat c din faptul c matricea A este simetric i pozitiv definitexpresia de sub radical este nenegativ i în plus lpp 0.Se determin în continuare celelalte elemente ale coloanei p, lip,i=p+1,...,n:

1

2

1(

p

p

Tip i ip ii ppip

ll

a LL l l l l

1

1 1 2 2 1 11

, 1, ,p

ip i p i p ip pp ip pp ij pj ip ppj

a l l l l l l l l l l l l i p n

Elementele lij, lpj , j=1,...,p-1 sunt determinate la pa ii anteriori deci sunt cunoscute.Avem:

1

1 , 1, , , 0 , 1, , 1

p

ip ij pjj

ip ippp

a l ll i p n l i p

l.

Page 41: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

40

Algoritmul Gauss-Jordan de inversare a unei matrici

Fie A o matrice real p tratic de dimensiune n .1= =Gauss JordanAx y x A y

1 11 1 1

2 21 1 2

1 1

= (E1)= (E2)

= (E )

n n

n n

n n nn n

y a x a xy a x a x

y a x a x nÎn algoritmul Gauss-Jordan se procedeaz astfel: se scoate 1x dintr-una din rela iile de la (E1) la (En) i se înlocuie te în toate celelalte. Rela iadin care s-a scos 1x se aduce pe prima pozi ie. Se scoate 2x din una din rela iile de la (E2) la (En), se aduce aceast rela ie pe pozi ia a doua i seînlocuie te 2x în toate celelate rela ii. ... Se repet aceste opera ii pân s-au înlocuit toate variabilele ix . Se ajunge la un sistem de forma:

1undex By y Py A BP (1) ( P este o matrice de permut ri care reflect schimb rile de linii efectuate) Pasul p ( = 1,2, ,p n )Vectorul reflect schimb rile de linii f cute pân la acest pas.Ini ial ( = 1p ) = , = 1, ,i i i n . La acest pas sistemul are urm toarea form :

1

=1 = 1

1

=1 = 1

1

=1 = 1

= , = 1, , 1

=

= , = 1, ,

p n

i ij ip p ij jjj j p

p n

pj pp p pj jp jj j p

p n

ij ip p ij ji jj j p

x a y a x a x i p

y a y a x a x

y a y a x a x i p n

La acest pas se scoate px dintr-una din rela ii i se înlocuie te în toate celelate. Pentru stabilitatea algoritmului, se caut 0 { , , }i p n astfelîncât:

0| |= max{| | ; = , , }i p ipa a i p n

Dac0

= 0i pa (0

| |i pa ) atunci matricea A este singular , inversa nu poate fi calculat . Dac

00i pa (

0| |>i pa ), se interschimb linia p cu linia 0i i se

Page 42: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

41

actualizeaz vectorul (0i p ). Sistemul r mâne în continuare în

aceea i form ca mai sus. Avem: 1

=1 = 1= ( )/

p n

p pj pj j ppj pj j p

x a y y a x a

Înlocuind px în celelalte (n-1) rela ii ob inem:

1 1

=1 = 1 =1 = 1

1

=1 = 1

( =1, , 1) sau ( = 1, , )

= ( )/ =

= ( / ) ( / ) ( / )

i ip pn n

ij ij j ip pj pj j ppj j pj j p j j p

p n

ij ip pj pp ip pp ij ip pj pp jj pj j p

x i p y i p n

a y a x a a y y a x a

a a a a y a a y a a a a x

Sistemul a devenit : 1

=1 = 1

1

=1 = 1

1

=1 = 1

= ( ) ( ) , =1, , 1

1=

= ( ) ( ) , = 1, ,

p nip ip ip

i ij pj ij pj jj pj j ppp pp pp

p npj pj

p jj pj j ppp pp pp

p nip ip ip

ij pj ij pj ji j pj j ppp pp pp

a a ax a a y y a a x i p

a a aa a

x y y xa a a

a a ay a a y y a a x i p n

a a a

La pasul p matricea A se transform în matricea A astfel: Pentru =1, , ,i n i p

= , =1, , ,

=

ipij ij pj

pp

ipip

pp

aa a a j n j p

aa

aa

Pentru =i p

= , =1, , ,

1=

pjpj

pp

pppp

aa j n j p

a

aa

Calculele se pot face la fiecare pas p în matricea A , f r a mai folosi matricea auxiliar A . În final (dup efectuarea pasului n ) în matricea A vom avea matricea B din formula (1). Matricea P are forma:

Page 43: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

42

1

2

1 2= = ( )

n

T

T

n

T

e

eP e e e

e

unde = (0 0 1 0)T

ie (1 este pe pozi ia i ). Permutarea ce apare în

formula de mai sus este inversa permut rii , 1= . Pentru a ob ine matricea 1A trebuie s facem opera ia BP . Nu este nevoie s se fac o înmul ire matricial ci pentru a ob ine matricea 1Ase 'amestec ' coloanele matricii B conform cu permutarea .

1

1 2= = ( )

nA BP Be Be Be

undei

Be este coloana i a matricii B i în acela i timp coloana i a

matricii 1A .

Page 44: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

43

Descompuneri QR

Defini ie Se nume te matrice ortogonal , o matrice n x nQ care satisface

rela ia:1= ( )T T T

nQ Q QQ I Q Q .

Matricile ortogonale au urm toarele propriet i:1) Dac Q este matrice ortogonal atunci i matricea

transpus TQ este ortogonal .= ( ) ( )T T T T T T T T

nQ Q Q Q QQ Q Q I2) Dac 1 2iQ Q sunt matrici ortogonale atunci i produsul lor, 1 2Q Q ,

este tot matrice ortogonal .1 2 1 2 2 1 1 2 2 2

1 2 1 2 1 2 2 1 1 1

( ) ( ) =

( ) ( )

T T T Tn

T T T Tn

Q Q Q Q Q Q Q Q Q I Q I

Q Q Q Q Q Q Q Q Q I Q I3) Dac Q este matrice ortogonal i x atunci

2 2|| || =|| ||Qx x .2 22 2 2 2 2|| || , , , || || , || || 0 || || || ||TQx Qx Qx x Q Qx x x x Qx x

Fie A o matrice real p tratic de dimensiune n . Presupunem cpentru matricea A avem o descompunere de forma:

A QRunde Q este o matrice ortogonal iar R este o matrice superior triunghiular . Având o asemenea descompunere, rezolvarea sistemului

=Ax b se reduce la rezolvarea sistemului superior triunghiular = TRx Q bastfel:

= = = =T T TAx b QRx b Q QRx Q b Rx Q b

Algoritmul lui Givens

În cazul algoritmului Givens, pentru a aduce sistemul =Ax b la forma = TRx Q b se folosesc matricile de rota ie. O matrice de rota ie

, =1,( ) = ( )pq ij i j nR r are urm toarea form :

Page 45: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

44

1 0 0 0 00 1 0 0 0

0 0 0( ) =

0 0 ) 0

0 0 0 0 1

pq

p q

c s pR

s c q

1 pentru = , ,pentru = , = , =

= pentru = , =pentru = , =

0 în rest

ij

i j i p i qc i j i p i q

r s i p j qs i q j p

unde , {1, , }p q n iar c i s sunt dou numere reale care satisfac rela ia 2 2 = 1c s . Constantele c i s pot fi alese astfel încât

= cos , = sinc s . Se arat u or, folosind rela ia 2 2 = 1c s , c matricea ( )pqR este ortogonal :

( ) ( ) ( ) ( )T Tpq pq pq pq nR R R R I

Dac înmul im la stânga o matrice oarecare A cu o matrice de rota ie, = ( )pqB R A , matricea B se ob ine din matricea A modificând doar liniile ip q . Not m cu T

i iA e A , Ti iB e B - linia i a matricii A i

respectiv a matricii B . Matricea B are urmatoarele linii:= = 1, , , ,=

=

, 1, ,

, 1, ,

în rest

i i

p p q

q p q

pj pj qj

qj pj qj

ij ij

B A i n i p i qB cA sAB sA cAb c a s a j nb s a c a j nb a

Dac înmul im la dreapta o matrice oarecare A cu transpusa unei matrici de rota ie, = ( )T

pqD A R , matricea D se ob ine din matricea Amodificând doar coloanele ip q ca în schema de mai sus. Not m cu

jAe , jD e - coloana j a matricii A i respectiv a matricii D . Matricea

Page 46: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

45

D are urmatoarele coloane: = 1, , , ,

=

=

, 1, ,

, 1, ,

în rest

j j

p p q

q p q

ip ip iq

iq ip iq

ij ij

D A j n j p j qDe cAe sAeDe sAe cAed c a s a i nd s a c a i nd a

Algoritmul lui Givens se desf oar în ( 1)n pa i - la pasul r se transform coloana r a matricii A în form superior triunghiular f r a modifica primele ( 1)r coloane.

Pasul 1Intrare: matricea A , vectorul bIe ire: matricea (1)A (cu prima coloan în form superior

triunghiular ), (1)bSe efectueaz urmatoarele opera ii de înmul ire cu matrici de rota ie:

(1)1 1 13 13 12 12

(1)1 1 13 13 12 12

( ) ( ) ( )

( ) ( ) ( )n n

n n

R R R A A

R R R b bUnghiurile 1i (constantele 1 1ii ic s ) se aleg astfel ca elementul de pe

pozitia ( ,1)i din matricea rezultat s devin 0. Pasul r

Intrare: matricea ( 1)rA (are primele ( 1)r coloane în formsuperior triunghiular ), ( 1)rbIe ire: matricea ( )rA (cu primele r coloane în form superior triunghiular ), ( )rb

La acest pas matricea ( 1)rA i vectorul ( 1)rb se transform astfel:( 1) ( )

1 1

( 1) ( )1 1

( ) ( ) ( )

( ) ( ) ( )

r rr n r n r i r i r r r r

r rr n r n r i r i r r r r

R R R A A

R R R b bunde elementele = r ic c i = r is s din matricile de rota ie se aleg astfel ca dup înmul irea cu ( ) , = 1, ,r i r iR i r n elementul ( , )i r s devin 0. Consider m opera ia = ( )r i r iB R A , unde r i se allege astfel ca 0i rb :

, , 1, , în rest)rj rj ij ij rj ij kl kl

ir rr ir

b c a s a b s a c a j n b ab s a c a

Page 47: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

46

Cea mai simpl alegere pentru ic s astfel ca s ob inem 0i rb este: 2 2

2 2

1= = , ales astfel ca 1r r i r

r r i r

c a s a c sa a

2 2 2 2= =r r i r

r r i r r r i r

a ac sa a a a

Dac 2 2 = 0rr ira a acest lucru implic faptul c = = 0rr ira a , deci elementul ira este deja nul. În acest caz putem lua = 1, = 0c s , matricea de rota ie coincide cu matricea unitate I , ( )ri riR I , matricea A nu se schimb .

Când se efectueaz opera ia = ( )r i r iB R A , matricea A are primele ( 1)r coloane în form superior triunghiular( 0 , 1, , 1 , 1, , 1kla k l l r ) i elementele 1 1 0r r i ra a .În matricea B aceste elemente vor continua s fie nule.

, , 1, , 1rj rj ij ij rj ijb c a s a b s a c a j rÎnmul irea = ( )r i r iB R A nu schimb decât liniile ir i ale matricii B ,prin urmare vom avea 1 1 1 1 0r r r r i r i rb a b a . În concluzie, opera ia = ( )r i r iB R A nu schimb elementele nule deja ob inute, ci doar face ca elementul de pe pozi ia ( , )i r s devin 0. Algoritmul lui Givens poate fi descris astfel:

1 1 1 1 1 1 12 12

_

1 1 1 1 1 1 12 12

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

n n n n rn rn r r r r n n

Tn n n n rn rn r r r r n n

R R R R R A R

R R R R R b b Q b Not m cu Q urm toarea matrice:

1 1 1 1 1 1 12 12( ) ( ) ( ) ( ) ( )n n n n rn rn r r r r n nQ R R R R RMatricea Q este matrice ortogonal ca produs de matrici ortogonale. Descompunearea QR a matricii A este urm toarea:

1

1 1 1 1 1 1 12 12

12 12 1 1 1 1 1 1

( )

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

T T

T Tn n n n rn rn r r r r n n

T T T T Tn n r r r r rn rn n n n n

Q A R Q Q A Q R QR

Q Q R R R R R

R R R R R

Page 48: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

47

Pe scurt, algoritmul lui Givens este urm torul:;

for 1, , 1for 1, ,

( ) * ;( ) * ;

( ) * ;

n

ri ri

ri ri

ri ri

Q Ir n

i r n

A R Ab R b

Q R QDetaliat avem:

2 2

;for 1, , 1

for 1, ,construc ia matricii ( ) constantele i

;if (

n

ri ri

rr ir

Q Ir n

i r nR c s

a a){ 1; 0;} // ( )

else{ / ; / ;}( ) *

for 1, ,;

ri ri

rr ir

ri ri

rj rj ij

c s R Ic a s a

A R Aj r n

a c a s a

a ;

0 ;( ) *

;

;

vechiij rj ij

ir rr

ri ri

r r ivechi

i r i

s a c a

a ab R bb c b s b

b s b c b

Q ( ) *for 1, ,

;

;

ri ri

rj rj ij

vechi

ij rj ij

R Qj n

q c q s q

q s q c qLa sfâr itul acestui algoritm, în matricea A vom avea matricea superior triunghiular R , în vectorul b vom avea initT

Q b ( initb - vectorul termenilor liberi ini ial), iar matricea Q va con ine matricea TQ din factorizerea QRa matricii A .

Page 49: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

48

Num rând opera iile efectuate (exceptând calculul matricii Q ) ob inem: ( 1)

2n n radicali, 3 2( 1)(4 7) 2 ( )

6 3n n n n O n adun ri/sc deri i

3 22 ( 1)(2 5) 4 ( )3 3

n n n n O n înmul iri/împ r iri.

Algoritmul lui Householder

Defini ieSe nume te matrice de reflexie o matrice P de forma:

22

=1

= 2 , , || || = | | = 1n

Tn j

jP I vv v v v

21 1 2 11

22 2 1 2 2

1 2

21 2

= ( , , , ) =

n

T nn

n n n n

v v v v vvv v v v v v

vv v v v

v v v v v v

.

Matricile de reflexie sunt simetrice ( = TP P ) i ortogonale ( 2T T

nPP P P P I ). = ( 2 ) = 2( ) = 2( ) = 2 =T T T T T T T T T

n n n nP I vv I vv I v v I vv P2

22

2

= ( 2 )( 2 ) = 2 2 4( )( ) =

4 4 ( ) = 4 4 || || =

4 4 = (|| || = 1)

T T T T T Tn n n

T T T T Tn n

T Tn n

P I vv I vv I vv vv vv vv

I vv v v v v I vv v v v

I vv vv I v Dac lu m în considera ie cazul:

1 1 0 1 1 0= 2, = , = 2 (1

0 0 1 0 0 1n v P

i 2 ,x y Px :

1 1 1 1

2 2 2 2

1 0= , = =

0 1x y x x

x yx y x x

Vectorul =y Px este reflectatul vectorului x în raport cu axa 2Ox .

Algoritmul ce folose te matricile de reflexie pentru a ob ine o descompunere QR pentru o matrice A a fost descris de Alston S.

Page 50: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

49

Householder în articolul "Unitary triangularization of a nonsymmetric matrix," ap rut în Journal of the Association of Computing Machinery 5 (1958), 339-342.

Transformarea matricii A într-una superior triunghiular se face în ( 1)n pa i, la fiecare pas folosindu-se o matrice de reflexie.

Pas 1: (1)1=A P A (matricea 1P se alege astfel ca coloana 1 s fie

transformat în form superior triunghiular )Pas 2: (2) (1)

2 2 1= ( )A P A P P A ( 2P transform coloana 2 în formsuperior triunghiular f r s schimbe coloana 1)

Pas r : ( ) ( 1)1 1( )r r

r r rA P A P P P A (se transform coloana r înform superior triunghiular f r s schimbe primele ( 1)r coloane)

Descompunerea QR construit cu algoritmul Householder este urm toarea:

1 2 1 = =n rP P P P A QA Runde

1 2 1= n rQ P P P PQ este matrice ortogonal ca produs de matrici ortogonale. Avem:

= = = =T T TQA R Q QA Q R A Q R QR

1 2 1 1 2 1= = ( ) =T Tn r r nQ Q P P P P PP P P

Pasul rLa intrarea în pasul r matricea A are forma:

11 12 1 1

22 2 2

1 1

0

0 0= 0 0

0 0

0 0

r n

r n

rr rn

r r r n

ir in

nr nn

a a a aa a a

a aA a a

a a

a aPasul r const în:

2

:=

= 2 ( ) , , || || = 1r

r r T r n rr n

A P AP I v v v R v

unde vectorul rv se aleg astfel ca matricea A s aib i coloana r în form superior triunghiular :

Page 51: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

50

11 12 1 1

22 2 2

1

0

0 0= 0 0 0

0 0 0

0 0 0

r n

r n

rr rn

r n

in

nn

a a a aa a a

a aA a

a

a

+

⎛ ⎞⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟

⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎝ ⎠

Calculul matricii rP Pentru simplitate vom nota = , =r

rP P v v .

1 11

22 2

1 1 1

1

= ( ) =0

0

0

r rr

rr r

r r r r r r

rr rrr r r

r r

ir

nr

a aaa a a

a a aa a kAe PA e Aea

a

a

− − −

+

⎛ ⎞=⎛ ⎞⎜ ⎟⎜ ⎟ =⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟

=⎜ ⎟⎜ ⎟ → =⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

Aplicând proprietatea matricilor ortogonale 2 2( , || || )Q x Qx x×∈ ∈ , || =|| R Rç ç ç pentru matricea =Q P şi vectorul

= rx Ae avem: 2 2 2 2 22 1 2 1

2 2 2 2 2 2 2 21 2 1 1

|| || = =

|| || =r r r r r

r r r r r rr r r ir nr

PAe a a a k

Ae a a a a a a a−

− +

+ + + +

+ + + + + + + + +

Din relaţia de mai sus rezultă: 2 2 2 2 2 2

1=

= = = =n

rr r r ir nr iri r

k a a a a a kσ σ++ + + + + ⇒ ±∑

Determinarea vectorului v ce defineşte matricea P ( ) = ( 2 )( ) = 2( )( ) = 2 ( ( )) = (2 ) =

T T Tr n r r r r r

r r

PA e I vv Ae Ae vv Ae Ae v v AeAe v Ae uα

− − −

= − −

Page 52: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

51

unde cu α şi u am notat:

( )

1 1

2 2

1 1 2 2

:= ( ) = ( ), = ( , )

r

r

Tr r

ir i

nr n

r r ir i nr n

a va v

v Ae Ae va v

a va v a v a v a v

α

⎛ ⎞ ⎛ ⎞⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟

= ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

= + + + + +

R Rç ç

1 1

2 2

1 1

11

00

0

:= (2 ) = ( ) = =0

0

0

r r

r r

r r r r

rrrrr r

r rr r

irir

nrnr

a aa a

a aa ka k

u v Ae PA eaa

aa

aa

α

− −

++

⎛ ⎞ ⎛ ⎞⎛ ⎞⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ −⎜ ⎟ − − ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎝ ⎠ ⎝ ⎠⎝ ⎠

Cu aceste notaţii matricea P devine:

22

1 1 1 1= 2( ) ( ) = ( ) cu : 22 2 2

T T Tn n nP I u u I uu I uu β α

α α α β− − = − =

Pentru a cunoaşte matricea P trebuie să mai determinăm constanta β . Din condiţia:

2 2 2 22 2 2 22

1 1|| || = 1 || || = 1 || || 1 2 =|| ||2 4

v u u uβα α

⇒ ⇒ = ⇒

avem:

Page 53: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

52

2 2 2 2 2 22 2 1

1

2 2 2 2 21

00

0

|| || =|| || = ( ) =

2 = 2 = 2( )

rrrr r r ir nr

r r

ir

nr

rr r r ir nr rr rr rr

a ku a k a a a

a

a

a

a a a a ka k ka ka

de unde ob inem: = rrka

Vom alege semnul constantei k astfel încât s fie cât mai mare posibil deoarce constanta apare în opera ia de împ r ire. Avem:

" " = ( 0) semn = semnrr rrmare ka k a Ce înseamn = 0 ?

2 22 2 1

1= || || = 0 || || = 0 = 0 = , = 0, , = 0, , = 02 rr r r ir nru u u a k a a a

Cum rra k i semn = semn rrk a ob inem: = 0, = , ,ira i r n

adic avem coloana r deja în form superior triunghiular , se poate trece la pasul urm tor. În acest caz matricea A este singular .Ne intereseaz cum se efectueaz opera ia := rA P A f r a face înmul irematricial . Vom pune în eviden schimb rile în raport cu coloanele.

1 1( ) = noua coloan a matricii = ( )( ) = ( )( ) =

1 ( ( )) =

T Tj n j j j

jTj j j

PA e j A I uu Ae Ae uu Ae

Ae u u Ae Ae u

unde

Page 54: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

53

1

2

11

=1 =

00

:= ( ) = ( , ) = ( ) =

= ( = 0, =1, , 1 , = , =

j

j

Tj j rj rr rj rr ij ir nj nr

r rr j

nrnj

n n

i ij i ij i r rr i iri i r

aa

u Ae a a k a a k a a a aaa

aa

u a u a u i r u a k u a i 1, , )r n

Noua coloan j se ob ine din vechea coloan j din care sc dem vectorul u înmul it cu constanta j . Ne intereseaz ca primelor ( 1)r coloane snu li se schimbe forma superior triunghiular deja ob inut . Pentru

= 1, , 1j r avem:

1

2

1

1

1

00

0:= ( ) = ( = 0 , ) =

= 0

= 0

0 0 0( ) 0 0 = 0

j

j

jjT

j j j jrr

r rrj

nr

nj

j jj rr ir nr

aa

au Ae a

a ka

a

aa

a a a k a a

Din faptul c = 0 , = 1, , 1j j r rezul c primele 1r coloane ale matricii A nu se schimb când facem opera ia := rA P A , r mân în form superior triunghiular .Algoritmul de trecere de la matricea A la matricea rP A este urm torul:

Page 55: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

54

1 2 1

pentru =1, , 1

( ) = ( , , , , ,0, ,0) pentru =

pentru = 1, ,

j

Tr j r r r r

jj

Ae j r

P A e a a a k j r

Ae u j r n

cu

=

= ( , ) =n

j j i iji r

Ae u u a

= 0, =1, , 1, = , = , = 1, ,i r rr i iru i r u a k u a i r n

Opera ia de transformare a vectorului termenilor liberi := rb Pb se face astfel:

1 1 1= ( ( )) = ( ) = ( ) =T T Tr nPb I uu b b uu b b u u b b u

unde

=

= = ( , ) =n

Ti i

i ru b b u u b

Algoritmul lui Householder;

for 1, , 1calculeaz matricea (constanta i vectorul )

* ;* ;

* ;

n

r

r

r

r

Q Ir n

P uA P Ab P b

Q P QLa sfâr itul acestui algoritm, în matricea A vom avea matricea superior triunghiular R , în vectorul b vom avea initT

Q b ( initb - vectorul termenilor liberi ini ial), iar matricea Q va con ine matricea TQ din factorizerea QRa matricii A .

Page 56: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

55

Algoritmul QR - Householder detaliat

2

=

;for 1, , 1

construc ia matricii constanta i vectorul

= ;

if ( ) break ; // 1 ( ma

n

rn

iri r

r n

Q Ir n

P u

a

r r P I A trice singular )

= ;if ( 0 ) ;

;; , 1, , ;

*

rr

rr

r rr i ir

r

ka k k

k au a k u a i r nA P A

=

transformarea coloanelor 1, ,for 1, ,

= ( / ) ( , ) / = ( )/ ;

for , ,

n

j j i iji r

j r nj r n

Ae u u a

i r n;

transformarea coloanei a matricii; 1, , ;

*

= ( / )

ij ij i

rr ir

r

a a ur A

a k a i r nb P b

=

=

( , ) / = ( )/ ;

for , ,;

*for 1, ,

= ( , ) / = (

n

i ii r

i i i

r

n

ji r

b u u b

i r nb b u

Q P Qj n

Qe u )/ ;

for , ,

;

i ij

iij ij

u q

i r n

q q u

Page 57: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

56

Num rul de opera ii efectuate: A (adun ri, sc deri):

3 2( 1)(2 1) ( 1)( 1)(2 3) 2( 1) 2 ( 1) = ( )3 3 3

n n n n n nn n n n O n

M (înmul iri, împ r iri ):3 2( 1)(2 1) 24( 1) 3 ( 1) = ( )

6 3n n nn n n n O n

R (radicali ): ( 1)n

Page 58: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

57

Metode iterative pentru rezolvarea sistemelor de ecua ii liniare

= , ,Ax b A b (1)

• se presupune cunoscut c A este nesingular , det 0A ; • solu ia exact a sistemului (1) se noteaz cu *x :

* 1=x A b (2) • n - dimensiunea sistemului este "mare"; • A este matrice rar - cu "pu ine" elemente 0ija ; • pentru a aproxima solu ia *x matricea A nu se schimb

(transform ) ci doar se folosesc elementele nenule ale matricii ; • se construie te un ir de vectori ( ){ }kx , ir care în

anumite cazuri, converge la *x :( ) * pentrukx x k

Schema general de deducere a unei metode iterative

Fie descompunerea: = , , , "u or" inversabilan nA B C B C R B (3)

Ce înseamn B "u or" inversabil ? Sistemul liniar, având ca matrice a sistemului matricea B :

=Bx fse rezolv u or (adic repede) - ca în cazul sistemelor cu matrici diagonale sau triunghiulare, de exemplu.

* * *

* * * 1 * 1 *

= == = =

Ax b Bx Cx bBx Cx b x B Cx B b Mx d (4)

unde1 1:= , :=M B C d B b (5)

irul ( ){ }kx se construie te astfel: ( 1) ( ) (0):= , = 0,1,2, ales arbitrark kx Mx d k x (6)

Vectorul ( 1)kx poate fi privit i ca solu ia sistemului liniar: ( )= cu := kBx f f Cx b (7)

Cunoscând vectorul ( )kx , urm torul element din ir, ( 1)kx , se poate construi fie utilizând rela ia (6) (dac putem construi matricea Mexplicit), fie rezolvând sistemul liniar (7).

Matricea M poart numele de matricea itera iei iar vectorul

Page 59: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

58

(0)x se nume te itera ia ini ial .Ne punem problema convergen ei irului ( )kx :

( ) * ,kx x kSe tie c aceast convergen nu are loc pentru orice matrice B. Avem urm torul rezultat general de convergen .

Teorema de convergenFie A o matrice nesingular i , ,det 0B C B , astfel

ca A=B-C. Fie (0)x un vector oarecare i ( ){ }kx irul de vectori dat de (6) cu M i d da i de (5). Atunci:

( ) * (0), , ( ) < 1kx x k x M (8) unde = | |;( ) max valoare proprie a matricii MM este raza spectral a matricii M . Dac exist o norm matricial natural astfel ca

1M atunci irul kx converge la solu ia *x a sistemului (1). 01 , , .kM x x k x (9)

Demonstra ie: Sc zând rela iile (6) i (4) ob inem: ( 1) * ( ) *= ( ) , = 0,1,2,k kx x M x x k

Avem:( ) * ( 1) * 2 ( 2) * (0) *= ( ) = ( ) = = ( )p p p px x M x x M x x M x x

( ) * (0) *= ( ) ,p px x M x x pPrin urmare:

( ) * , 0 ,p px x p M p 0 , ( ) < 1pM p M

Dac :( ) * (0)|| ||< 1 0 , ,p pM M p x x p x

Evaluarea erorii absolute ( ) *|| ||kx xPresupunem || ||< 1M ( irul ( ){ }kx converge la *x ). Avem din (6):

1

1

l l

l l

Mx d

Mx d

xx

( 1) ( ) ( ) ( 1)= ( )l l l lx x M x x l Pentru orice k,j, avem folosind relatiile de mai sus:

( 1) ( ) ( ) ( 1) ( 1) ( )= ( ) = = ( ) ,k j k j k j k j j k kx x M x x M x x k j Aplicând succesiv rela ia precedent ob inem:

Page 60: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

59

( ) ( ) ( ) ( 1) ( 1) ( 2)

( 2) ( 1) ( 1) ( )

1( 1) ( )

=0

=

=

= ( )

k p k k p k p k p k p

k k k k

pk j k j

j

x x x x x x

x x x x

x x

1 1( ) ( ) ( 1) ( ) ( 1) ( )

=0 =0= ( ) = ( )( )

p pk p k k j k j j k k

j jx x x x M x x

F când p ob inem: * ( ) ( ) ( 1)

=0= ( ) ( )k j k k

jx x M M x x

1

=0|| ||< 1 = ( )j

nj

M M I M

Mai avem i evaluarea: 11 1|| ||< 1 || ( ) ||

1 || || 1 || ||nM I MM M

Prin urmare: * ( ) ( ) ( 1)|| |||| || || ||

1 || ||k k kMx x x x

MAceast rela ie ne spune c din punct de vedere practic putem opri

algoritmul atunci când diferen a dintre dou itera ii succesive devine suficient de mic acest lucru asigurând apropierea de solu ie.

În continuare vom particulariza matricea B.

Page 61: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

60

Metoda Jacobi pentru rezolvarea sistemelor liniare

Fie sistemul: = , ,Ax b A b

cudet 0 , 0 , =1,2, ,iiA a i n

Alegem:

11

2211 22

0 00 0

= diag[ , , , ] =

0 0

nn

nn

aa

B a a a

a Avem:

11 22det = 0nnB a a a

11

122

11 22

1 0 0

10 01 1 1= diag[ , , , ] =

10 0

nn

nn

a

aBa a a

a Matricea C este:

12 13 1

21 23 2

31 32 3

1 2 3

00

= = 0

0

n

n

n

n n n

a a aa a a

C B A a a a

a a adaca

= ( ) =0 daca =

ijij ij

a i jC c c

i j Matricea itera iei se poate calcula i are forma:

Page 62: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

61

12 13 1

11 11 11

21 23 2

22 22 22

1

31 32 3

33 33 33

1 2 3

0

0

:= =0

0

n

n

n

n n n

nn nn nn

a a aa a a

a a aa a a

M B Ca a aa a a

a a aa a a

( ) daca= ( ) =

0 daca =

ij

ij ij ii

ai j

M m m ai j

Construim vectorul g:( ) ( )

1: , = ( )k k ni ig Mx Mx g

Componentele vectorului g sunt:( ) ( ) ( )

=1 =1=1= = = ( ) / , 1, ,

n n nijk k k

i ij j j ij j iij jj iij i j i

ag m x x a x a i n

a

Vectorul d este: 1

1= = ( ) , = , 1, ,n ii i i

ii

bd B b d d i na

irul ( ){ }kx se construie te folosind formula: ( 1) ( ) ( 1)= = , = 1, ,k k k

i i ix Mx d x g d i n( 1) ( )

=1= ( ) / , = 1, ,

nk k

i i ij j iijj i

x b a x a i n

1( 1) ( ) ( )

=1 = 1= ( ) / , = 1, ,

i nk k k

i i ij j ij j iij j i

x b a x a x a i n (9)

Formula (1) descrie metoda lui Jacobi de aproximare a solu iei unui sistem liniar.

Page 63: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

62

Condi ii suficiente de convergen

Propozi ia 1( ) *|| ||< 1 ,kM x x k .

Demonstra ie.Fie x solu ia sistemului Din A=B-C rezult* *Bx Cx b sau

* * .x Mx d Procesul iterativ ( 1) ( )k kx Mx d conduce la rela ia:11 0* * * *kk k kx x M x x M x x M x x

În continuare vom aplica aceast propozi ie pentru diverse norme.

• Din 1

2 2

=1 =1|| || = ( ) < 1

n n

F iji j

M m deducem:

2 ( ) *

=1=1( ) < 1 ,

n nij k

ji iij i

ax x k

a (10)

• Din 1=1

|| || = max{ | |; = 1, , } < 1n

iji

M m j n deducem:

( ) *

=1

| |( ) < 1 = 1, , ,| |

nij k

i iii j

aj n x x k

a (11)

• (Criteriul dominan ei diagonalei pe linii)

Din =1

|| || = max{ | |; = 1, , } < 1n

ijj

M m i n deducem:

( ) *

=1

| |( ) <1 =1, , ,| |

nij k

j iij i

ai n x x k

a

( ) *

=1lim| |<| | = 1, , =

n kij iij k

j i

a a i n x x (12)

• (Criteriul dominan ei diagonalei pe coloane)( ) *

1=1

| |<| | = 1, , 1 = .limn

kij jj

kii j

a a j n M x x (13)

Page 64: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

63

Metoda Gauss-Seidel pentru rezolvarea sistemelor liniare

Consider m din nou sistemul liniar: = , ,Ax b A b

cudet 0 , 0 , = 1,2, ,iiA a i n

Putem deduce metoda Gauss-Seidel din metoda lui Jacobi astfel:1

( 1) ( ) ( )

=1 = 1

1( 1) ( 1) ( )

=1 = 1

= ( ) / , =1, , metoda Jacobi

= ( ) / , =1, , metoda Gauss-Seidel

i nk k k

i i ij j ij j iij j i

i nk k k

i i ij j ij j iij j i

x b a x a x a i n

x b a x a x a i n

Când calcul m ( 1)kix cunoa tem deja ( 1)

1kx ,.…., ( 1)

1k

ix i putem folosi aceste valori în prima sum . Deducerea metodei Gauss-Seidel din schema general se face luând:

11

21 22

31 32 33

1 2 3

0 0 00 0

= 0

n n n nn

aa a

B a a a

a a a adaca

= ( ) =0 daca >

ijij ij

a j iB b b

j i Matricea B este nesingular inând cont de presupunerea 0,iia i :

11 22det = 0nnB a a a Matricea C este:

12 13 1

23 2

3

1

00 00 0 0

= =

0 0 00 0 0 0

n

n

n

n n

a a aa a

aC B A

a

daca <= ( ) =

0 dacaij

ij ij

a i jC c c

i jÎn cazul metodei Gauss-Seidel, vectorul ( 1)kx se ob ine din ( )kxrezolvând sistemul inferior triunghiular (7) din schema general :

Page 65: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

64

( )= =kBx Cx b f (14) Solu ia sistemului (6) este dat de formula:

1 1

=1 =1= ( ) / = ( ) / , = 1,2, ,

i i

i i ij j ii i ij j iij j

x f b x b f a x a i n (15)

Vectorul f este:( )= ( ) , = 1,2, ,k

i i if Cx b i n (16) unde

( ) ( ) ( )

=1 = 1( ) = = , = 1, ,

n nk k k

i ij j ij jj j i

Cx c x a x i n (17)

Folosind formula de rezolvare a sistemelor inferior triunghiulare (8),rela iile (16) i (17) avem:

1( 1) ( ) ( 1)

= 1 =1= ( ) / , =1,2, ,

n ik k k

i i ij j ij j iij i j

x b a x a x a i n

Condi ii suficiente de convergen pentru metoda Gauss-Seidel

Propozi ia 1Dac matricea A este astfel încât:

2

=1=1( ) < 1

n nij

ji iij i

aa

atunci are loc convergen a irului construit cu metoda Gauss-Seidel la solu ia sistemului Ax=b:

( ) * (0),kx x k x

Propozi ia 2 (Criteriul dominan ei diagonalei pe linii) Dac matricea A este astfel încât:

=1| |<| | = 1, ,

n

ij iijj i

a a i n (10)

atunci:( ) * (0),kx x k x

Demonstra ie. În procedeul iterativ Gauss-Seidel, notând solu ia cu 1x A b i ( ) ( )k kx x vectorul eroare, sc zând rela iile:

Page 66: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

65

1

1 1

1( 1) ( 1) ( )

1 1

i n

ii i ij j ij j ij j i

i nk k k

ii i ij j ij j ij j i

a x a x a x b

a x a x a x b

ob inem: 1

( 1) ( 1) ( )

1 1

i nij ijk k k

i j jj j iii iij i

a aa a

Not m1

max{ , 1 }n

ij

j iij i

ac i n

a. În virtutea ipotezei (10) avem c < 1.

Observ m c :1( 1) ( ) ( )

12 11

.n

jk k kj

j

ac

aPresupunem c ( 1) ( ) , 1, , 1,k k

j c j i i consider m: 1 1

( 1) ( 1) ( ) ( ) ( ) ( )

1 1 1 1

i n i nij ij ij ijk k k k k k

i j jj j i j j iii ii ii ii

a a a ac c

a a a a

Rezult c vectorul eroare ( )k converge la 0: ( 1) ( ) 1 (0) 0 pentru kk k kc c .

Propozi ia 3 (Criteriul dominan ei diagonalei pe coloane) Dac matricea A este astfel încât:

=1| |<| | = 1, ,

n

ij jjii j

a a j n (11)

atunci metoda Gauss-Seidel converge:0

limk

kx x x

Demonstra ie. Din sistemul dat consider m sistemul echivalent Ay b în care

1 1, , ijij

ii

aAx b AD y b y Dx A AD a

a

Din ipoteza (11) rezult1

1, 1, , .n

ijii j

a j n Pentru solu ia sistemului

Ay b avem

Page 67: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

66

1

1 1, 1, , ,

i n

i ij j ij j ij j i

y a y a y b i n iar pentru metoda Gauss-Seidel:

1( 1) ( 1) ( )

1 1, 1, ,

i nk k k

i ij j ij j ij j i

z a z a z b i n

Notând ( ) ( )k ky z ob inem: 1

( 1) ( 1) ( )

1 1

1( 1) ( 1) ( )

1 1 1 1 1

.

i nk k k

i ij j ij jj j i

n n i n mk k k

i ij j ij ji i j i j i

a a

a a

Schimbând ordinea de sumare ob inem: 11

( 1) ( 1) ( )

1 1 1 2 1.

jn n n nk k k

i j ij j iji j i j j i

a a (12)

Introducem nota iile:1

11 1

, , 0, 0.jn

j ij j ij ni j i

a a

Din ipoteza (11) rezult c max 1 1.j jc j nRevenind la inegalitatea (12) ob inem:

( 1) ( )

1 1(1 )

n nk k

j j j ji j

.

inând seam c j (1 )j j jc c c c rezult :

( 1) ( ) 1 (0)

1 1 1(1 ) (1 ) (1 ) 0,

n n nk k k

j j j j j ji j j

c c k

adic ( ) (0)lim 0 ,k

k.

Matricea de itera ie pentru metoda Gauss-Seidel aplicat sistemului Ay b , notat M este dat de 1( )M I L U în care 1L LD ,

1U UD ( A D L U ).Din

11 0kk kM M i lim lim0 rezult 0.kk

k kM

Matricea de itera ie pentru sistemul Ax b este:1 1 1 1 1 1

1 1 1

( ) ( ) [( ) ]

( )

M D L U D LD D U I LD D UD D

D I L UD D M Dastfel c :

1 0 pentru .kkM D M D k

Page 68: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

67

Metode iterative pentru matrici simetrice i pozitiv definite

Consider m cazul sistemelor liniare cu matricea sistemului simetric ipozitiv definit :

= matrice simetrica = , = 1,2,Tij jiA A a a i j n

11 12 13 1 11 21 31 1

21 22 23 2 12 22 32 2

31 32 33 3 13 23 33 3

1 2 3 1 2 3

= = =

n n

n nT

n n

n n n nn n n n nn

a a a a a a a aa a a a a a a a

A a a a a A a a a a

a a a a a a a aDac matricea A este simetric o putem scrie astfel:

= =T TA A A L D Lunde

11

2211 22

0 00 0

= diag[ , , , ] =

0 0

nn

nn

aa

D a a a

a

12 13 1

23 221

331 32

11 2 3

00 0 0 0

0 00 0 0

0 0 0= 0 0 =

0 0 00

0 0 0 0

n

n

nT

n nn n n

a a aa a

aa

L a a L

aa a a

Matricea A fiind pozitiv definit ( ( , ) > 0 , 0nnR

Ax x x R x ) este nesingular i în plus:

, 0 1, ,ii i ia Ae e i n Avem urm torul rezultat.

Lem Fie A o matrice simetric i B o matrice nesingularastfel încât matricea = TP B B A este pozitiv definit . Fie matricea

1= nM I B A . Atunci raza spectral a matricii M este strict subunitardac i numai dac matricea A este pozitiv definit :

( ) < 1 > 0M A

Page 69: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

68

Folosind aceast lem deducem urm torul rezultat de convergenpentru metoda Gauss-Seidel pentru sisteme cu matrici simetrice i pozitiv definite.

TeoremFie A o matrice simetric , nesingular , cu > 0iia , pentru to i

= 1, ,i n i b vectorul termenilor liberi. Atunci metoda lui Gauss-Seidel genereaz iruri convergente la solu ia * 1=x A b pentru orice itera ie ini ial (0)x dac i numai dac matricea A este pozitiv defnit .Demonstra ie: Din teorema de convergen avem:

( ) * , ( ) < 1kx x k MDac matricea A se scrie sub forma:

= TA L D Lmatricile B i C sunt date de:

= , = = TB L D C B A LMatricea itera iei M este:

1 1 1= = ( ) = nM B C B B A I B AÎncerc m s aplic m Lema de mai sus. Pentru aceasta verific m dacmatricea P este pozitiv definit :

= = ( ) =T T TP B B A L D L D L D L D2

=1

( , ) = ( , ) = (( ) ,( ) ) =n

n n ii i i i i n ii iR R Ri

Px x Dx x a x x a x

> 0 ( , ) > 0 , 0 > 0nii nR

a i Px x x R x PPutem aplica Lema de unde deducem convergen a irului construit cu metoda Gauss-Seidel doar în cazul în care matricea A este pozitiv definit :

( ) * , ( ) < 1 pozitiv definitkx x k M A

Metodele relax rii

Fie A o matrice real p tratic de dimensiune n , simetric ,TA A i pozitiv definit , 0A i b un vector real. Consider m

sistemul de ecua ii liniare: =Ax b

Deoarece matricea A este pozitiv definit sistemul de mai sus are solu ieunic , 1x A b . Vom considera func ia :f :

Page 70: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

69

( ) ( ), ,f y A x y x y yDin faptul c matricea A este pozitiv definit avem:

( ) 0 , i ( ) ( ) ,f y y f y f x y xPrin urmare x este i unica solu ie a problemei de minimizare:

min ( ) ; 0 ( )f y y f x

Vom c uta solu ia sistemului =Ax b , 1x A b ca fiind solu iaproblemei de minimizare de mai sus folosind o metod de tip relaxare de forma:

(0) ( 1) ( )

( 1) ( ) ( 1) ( )

dat, , 0,1,

, ,

k kk i k

k k k kj j i i k

y y y c e i i ky y j i y y c

Constanta kc se determin astfel încât ( 1) ( )( ) ( )k kf y f y în speran a cirul ( )ky astfel construit converge la x . Not m cu ( ) ( )k kr b Ay

vectorul reziduu. Avem: ( ) ( ) ( ) ( )( )k k k kr b Ay Ax Ay A x y

( 1) ( ) ( )

( ) ( ) ( ) 2.

( ) ( ),

( ) ( ), , ,

k k kk l k l

k k kk l k l k l l

f y A x y c e x y c e

f y c A x y e c Ae x y c Ae eAvem:

( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

( 1) ( ) ( ) 2

( ), ,

, , ( ) , ( ) ,

, 0 ( 0)

( ) ( ) 2

k k kl l l

k T k k k kl l l l l

l l ll

k k kk l k ll

A x y e r e r

Ae x y e A x y e A x y e r r

Ae e a

f y f y c r c aPentru ca ( 1) ( )( ) ( )k kf y f y este necesar i suficient s alegem kc astfel ca:

( ) ( )2 ( )

( )

2 ( 0) 0, 2 sau 2 , 0

, cu 0,2

k kk l l

k ll k l ll kll ll

kl

k k kll

r rc a c r a ca a

rca

Metoda de relaxare ob inut este urm toarea:( )

(0) ( 1) ( )dat, 0,1, , 0,2k

k k lk l k

ll

ry y y e ka

Pentru a aproxima x se deduce o clas de metode numite metodelerelax rii successive. Aceste metode se ob in aplicând metodele de

Page 71: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

70

relaxare de mai sus. Vom considera constanta ,k k , neschimbatde la un pas la altul. Vom construi un ir ( )kx astfel:

(0) (0)

(0)(1) (0) 1

111(1)

(2) (1) 22

22

( 1)( ) ( 1)

(1) ( )

un vector din dat

1

2

nn n n

nnn

n

x yrl y y earl y y ea

rl n y y ea

x yTrecerea de la itera ia k la itera ia urm toare se face asrfel:

( ) ( )

( )( 1) ( ) 1

111

( 1)( 2) ( 1) 2

222

( 1)( ) ( 1)

( 1) (( 1) )

1

2

, 0,1,2,

k kn

knkn kn

knkn kn

kn nkn n kn n n

nnn

k k n

x yrl y y ea

rl y y ea

rl n y y ea

x y k

Componenta ( 1)lix se calculeaz pentru l i în algoritmul de mai sus:

( 1)( 1) ( ) ( 1) , 1,2, ,

kn ik kn i kn i i

i i i iii

rx y y e i na

Vectorul ( 1)kn iy i ( 1)kn iir sunt da i în continuare:

Page 72: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

71

( 1)1( 1)2

( 1) ( 1) ( 1) ( 1) ( 1)1

1( )

( )

1( 1) ( 1) ( )

1

,

k

k

nkn i k kn i kn i kn i

i i i ij jijk

i

kn

i nkn i k k

i i ij j ij jj j i

xx

y x r b Ay b a y

x

x

r b a x a x

Acum putem scrie dependen a componentelor vectorului ( 1)kx de componentele vectorului ( )kx :

(0)

1( 1) ( ) ( 1) ( )

1

1( 1) ( ) ( 1) ( )

1 1

0,2 date,

, 1,2, , , 0,1,2,

) ,

i nk k k k

i i i ij j ij jj j iii

i nk k k k

i i i ij j ij jj j iii

x

x x b a x a x i n ka

x x b a x a x ia

1,2, , , 0,1,2,n k

Metodele de mai sus poart numele de metodele relax rii successive. Se observ c pentru 1 ob inem metoda Gauss-Seidel.Rearanjând formulele de mai sus avem:

1( 1) ( 1) ( 1) ( ) ( ) ( )

1 1

(1 )i nk k k k k kii

ij j i ii i ij j i ii ij j i

aa x x B x a x a x b C x b

Matricea A , fiind simetric poate fi scris sub forma:

2111 22

1 2 1

0 0 00 0

cu , diag , , ,

0

Tnn

n n n n

aA L D L L D a a a

a a a

Cu aceste nota ii, matricile B i C de mai sus pot fi scrise astfel: 1 1, TB L D C D L

Vom verific dac metodele relax rii succesive se înscriu în clasa general de metode iterative, adic vom verifica dac A B C :

Page 73: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

72

1 1 T TB C L D D L L D L A

Ne intereseaz în ce condi ii irul ( )kx construit cu o metod de relaxare succesiv converge la solu ia 1x A b c utat . Avem urm toarea teorem de convergen :

Teorem Fie o matrice A , simetric , TA A cu det 0A ,

0, 1, ,iia i n , b un vector real i 0,2 . Atunci irul ( )kxconstruit cu o metoda de relax rii successive converge la solu ia x a sistemului liniar =Ax b oricare ar fi itera ia ini ial (0)x dac i numai dac matricea A este pozitiv definit .

( ) (0), , ) 0 , 0kx x k x Ax x x x

Demonstra ie: Vom verifica dac raza spectral a matricii itera iei este subunitar folosind Lema. Avem:

1 1 1nM B C B B A I B A

11 221 1, det 0 ( 0 , )nn iinB L D B a a a a i

Matricea A este simetric iar matricea B este nesingular . Pentru a fi îndeplinite ipotezele Lemei trebuie s verific m c matricea P este pozitiv definit :

1 1 2T T TP B B A L D L D L D L D

2

1

(2 ) (2 ), 0 0 0 avem 0, ) 0,2n

ii i iii

Px x a x x a i

Toate ipotezele lemei sunt îndeplinite, prin urmare avem convergen adorit .

Page 74: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

73

Valori i vectori proprii

Defini ie Fie .n nA se nume te valoare proprie a matricii A dac existun vector , 0nx x astfel ca

.Ax xVectorul x se nume te vector propriu corespunz tor valorii proprii .

Pentru existen a vectorului 0x este necesar i suficient ca matricea A I s fie singular , adic det( A I ) = 0. Polinomul de grad n:

detA np I Ase nume te polinom caracteristic al matricii A.

Propozi ia 1Fie r d cinile polinomului caracteristic 1 2, , , n distincte i j

pentru 1 i j n 1 2i , , , nx x x vectorii proprii corespunz tori. Atunci vectorii 1 2, , , nx x x sunt liniar independen i.Demonstra ia se face prin induc ie. Pentru n=2 fie combina ia

1 1 2 2 0.x x(1)Aplicând A ob inem:

1 1 2 2 1 1 2 2 1 1 1 2 2 2( ) 0A x x Ax Ax x x . (2) Prin ipotez 1 2 . Consider m valoarea proprie nenul , fie aceasta 1.Din (1) înmul it cu 1 sc zut din (2) ob inem:

2 2 1 2 20 0,xiar din (1) rezult 1 0. Deci 1 2,x x sunt liniar independen i.Consider m propozi ia adevarat pentru k > 2, adic

1

0 0 , 1, , .k

i i ji

x j k (3)

Pentru k+1 consider m combina ia liniar :1

1

0k

i ii

x . (4)

Aplicând A ob inem: 1

1

0.k

i i ii

x (5)

Din (4),(5) , pentru 1 0k , rezult :

Page 75: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

74

11

0k

i k i ii

x

În virtutea ipotezei inductive rezult :1 0 , 1, , .i k i i k

inând seam c 1 , 1, , ,i k i k rezult 0, 1, , ,i i k iar din (4) inând seama c 1 0kx avem i 1 0.k Deci din (4) rezult

0, 1, , 1,i i k deci vectorii proprii 1 2 1, , , kx x x sunt liniar independen i.

Propozi ia 2 Fie valorile proprii i ale matricii n nA distincte. Atunci exist o matrice nesingular T astfel ca:

11 2diag{ , , , }nT AT .

Demonstra ie. Fie 1 2, , nx x x vectorii proprii ai matricii A. Consider mmatricea T ale c rei coloane sunt vectorii proprii ix , 1 2 nT x x x .Deoarece vectorii proprii sunt liniar independen i conform propozi iei 1 rezult c matricea T este nesingular . Vom avea:

1 2 1 1 2 2 1 2.diagn n n nAT Ax Ax Ax x x x T .Înmul ind cu 1T ob inem concluzia propozi iei 2.

Defini ieMatricile A i B sunt asemenea nota ie A B dac i numai dac existo matrice nesingular T (det T 0) astfel ca 1.A TBT

Propozi ia 3 .A BA B p p

Demonstra ie.1 1 1

1 1

det( ) det det

det det( )det det

A

B

p I A I TBT TT TBT

T I B T T I B T pPropozi ia 3 ne spune c matricile asemenea au acelea i valori proprii.

Teorema lui GershgorinFie iA o valoare proprie oarecare a matricii A. Atunci:

0 0 0 0 0

0

01

1,2, , astfel încât .n

i i i i i jjj i

i n a r r a

(Valoarea proprie se afl în cercul din planul complex de centru 0 0 0

i razi i ia r .)

Page 76: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

75

Demonstra ie. Fie o valoare proprie a matricii A i 0x un vector propriu corespunz tor valorii proprii , .Ax x Avem:

1 1( ) , 1, , .

n n

i ii i ij j ii i ij jj jj i j i

x a x a x a x a x i n

Fie 0i astfel ca 0

max ; 1, , 0 0).i kx x x k n x

Vom avea 0 0 0 0 0

0 0 00 0

1 1, inând seama c 1.

n nj jj

i i i j i j ij ji i ij i j i

x xxa a a r

x x x

Observa ie. Presupunem c matricea A are n vectori proprii liniar independen i 1 2, , , nx x x asocia i valorilor proprii 1 2, , .n Fie

1 2 nU x x x . Datorit independen ei vectorilor kx rezult cmatricea U este nesingular i avem:

1 2diag , , , n1 .U AU

Consider m matricea perturbat .A A B Notând cu 1C U BUvom avea: 1 1U A U U BU C .

inând seama c matricile 1iA U A U sunt asemenea rezult cvor avea acelea i valori proprii .i Aplic m teorema lui Gershgorin iob inem:

1.

n

i ii ij ijj i

c c

Metoda lui Jacobi pentru aproximarea valorilor proprii ale unei matrici simetrice

Propozi ieFie , .TA A A Atunci toate valorile proprii ale matricii A sunt numere reale. Demonstra ie. Fie i , 0 .nx x Ax x Consider m produsul scalar: 2

2, , .Ax x x x x

Dar , , , , ,TAx x x A x x Ax Ax x Ax x astfel c :

2

2

,Ax xx

.

Page 77: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

76

Algoritmul lui Jacobi

Se consider matricea ,A simetric TA A . Matricea A arevalorile proprii reale, 1 2, , , n . Prin algoritmul lui Jacobi se

construie te un ir de matrici ,kA simetrice, asemenea cu matricea A, astfel ca:

( )1 2, diag , , , .

Tk k k kknA A A A A

În construc ia matricilor kA se vor utiliza matrici de rota ie planpqR astfel:

0

1

,

, 0,1,k k k k

k k Tp q k p q k

A A

A R A R k

Matricile kA sunt asemenea cu matricea A. Proced m prin induc ie:

1 1 1 1 1 1 1 1

1 11 1 1 1( ) ( )T

p q p q p q p qA R A R R A R

Presupunem c 1, det 0 ,k kA A V V VAV A . Atunci: 1 1 1

k k k k k k k k

k k Tp q k p q k p q k p q kA R A R R VAV R .

Notândk kp q kW R V vom avea 1 11 deci .k kA WAW A A

Vom demonstra de asemenea prin induc ie c matricile kA sunt simetrice. Pentru k=0 avem 0 0 TTA A A A conform ipotezei ini iale.

1k k k k k k k k

TT T Tk k kT T Tp q k p q k p q k p q kA R A R R A R

1k k k k

k kTp q k p q kR A R A .

Deteminarea la fiecare pas a direc iilor p,q se face c utând elementul nediagonal de modul maxim :

max ; , 1, , ,k kpq ija a i j n i j

sau, inând seama de simetria matricii kA :max ; 1, , 1, 1, , .k k

pq ija a i n j i n

Determinarea parametrului k rezult din condi ia:1 1 0.k k

pq qpa a

Not m elementele matricii k kp q k ijR r

Page 78: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

77

, 1, , , , ; , .

cos ,

sin , ,

sin , .

ij k k k k

k k kij

k k k

k k k

i j n i p q j p q

i j p i j qr

i p j q

i q j p

1

1 1

n nk k

ij il lm jml m

a r a r

Pentru simplificarea calculelor vom nota , , cos , sin ,k k k kp p q q c s i vom ob ine:

1 , , 1, , , , ,k kij ija a i j n i p q j p q

1

1

1

1

, 1, , , , ,

, 1, , , , ,

, 1, , , , ,

, 1, , , , ,

k k kpj pj qj

k k kqj pj qj

k k kjp jp jq

k k kjq jp jq

a ca sa j n j p q

a sa ca j n j p q

a ca sa j n j p q

a sa ca j n j p q1 2 2

1 2 2

1 1 2 2

2 ,

2 ,

.

k k k kpp pp pq qq

k k k kqq pp pq qq

k k k k kpq qp qq pp pq

a c a csa s a

a s a csa c a

a a cs a a c s a

Din condi ia 1 0kpqa rezult :

2 2cos sin2

2sin cos2

k kpp qq

kpq

a actg

a.

În rela ia de mai sus am presupus 0.kpqa Dac aceast ipoteza nu ar fi

îndeplinit , inând seam de defini ia lui: max ; 1, , 1, 1, ,k k

pq ija a i n j i n

ar rezulta c toate elementele nediagonale ale matricii kA sunt nule adic aceast matrice ar fi diagonal i valorile proprii sunt determiante:

1, , ,kj jja j n

ceeace încheie algoritmul. Dac k k

pp qqa a atunci / 4, 2 / 2.k s c

Page 79: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

78

Not m:

, .2

k kpp qq

kkpq

a at tg

a

Din ecua ia2 2 2

21 2 1 02 2

c s t t tcs t

avem r d cinile:

21,2 1.t

Dintre cele dou r d cini , cu produsul 1 2 1,t t o vom alege pe aceea cu modulul subunitar adic :

2sign 1 / 4.ktCalculele pentru ob inerea valorilor 1 1,k k

pp qqa a se pot simplifica: 1 2 2

2 22 2

3 2 2.

1 2

2 2 22

2

k k k k kpp pp pp qq pq

k k k k kqq pp pq pq pq

k kpq pq

a a c a s a csa

s cs a a csa s a acs

s sc c sa tac

Ob inem astfel: 1 1 .k k k k k k

pp pp pq qq qq pqa a ta a a ta

Propozi ieirul de matrici construite cu algoritmul lui Jacobi converge la o

matrice diagonal 1 2diag[ , , ].n

Demonstra ie. Not m: 2 2 2

1 1 1 1 1, .

n n n n nk k k k k kij ij ii

i j i j ij i

T a S a D a

Datorit faptului c matricea 1kA se ob ine din matricea kA prin înmul ire cu matrici ortogonale vom avea 1 , 0,1,k kT T kDin rela iile:

Page 80: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

79

2 2 2 21 1

2 2 22

2 2 2 22 2

2

2 2 .

2 2. 1

k k k k k kpp qq pp pq qq pq

k k k k k kpp qq pq pq pp qq

k k k kpp qq pq pq

k kpp qq

a a a ta a ta

a a t a t a a a

a a t a a t

a a2 2

2 .kpqa

i2 21 , 1, , , ,k k

ii iia a i n i p qrezult :

21 2

k k

k k kp qD D a .

Din defini ia elementului k k

kp qa rezult :

2

( 1)k k

kk

p qSa

n niar din rela iile:

2 21 1 1 2 2

k k k k

k k k k k k k kp q p qS T D T D a S a

rezult :1

1 02 21 11 1

kk kS S S

n n n nsau

0.k kS

Page 81: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

80

Algoritmul Jacobi pentru valori proprii:

k=0 , k_max – num rul maxim de itera ii admis; max ; 1, , 1, 1, ,pq ija a i n j i n ;

while pqa i k k_max

2

2

;

;

2

sign 11 ; * ;

1

pp qq

pq

a aa

t

c s c tt

;

;

;

;

for 1, , ,

;

pj

pj pj qj

qj qj

jp pj jq qj

j n j p qu aa ca saa su caa a a a

;

;

;0;

max ; 1, 1, 1,

pp pp pq qq qq pq

pq qp

pq ij

a a t a a a t aa a

a a i n j i n

Page 82: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

81

Forma superioar Hessenberg

Defini ieSpunem c o matrice H este în form suprioar Hessenberg dac :

0 , 1, , , 1, , 2ijh i n j iO matrice în form Hessenberg arat astfel:

11 12 13 1 1 1

21 22 23 2 1 2

32 33 3 1 3

43 4 1 4

1

0

0

n n

n n

n n

n n

nn nn

h h h h hh h h h h

h h h hH

h h h

h hNe intereseaz un algoritm care s transforme o matrice p tratic Aoarecare într-o matrice Hessenberg superioar H care s aib acelea ivalori proprii:

1a.î. H , matrice nesingularA H PA P P .

Algoritmul este o adaptare a algoritmului lui Housholder i se desf oarîn (n-1) pa i, folosind matricile de reflexie pentru a transforma matricea.

Pas 1: se efectueaz opera iile 1 1A P AP (matricea 1P se alege astfel ca coloana 1 s fie transformat în form superior Hessenberg)

Pas 2: 2 2 2 1 2= ( )initA P AP P P A P ( 2P transform coloana 2 în formsuperior Hessenberg f r s schimbe coloana 1)

Pas r : 1 1 1 1( )initr r r r r rA P AP P P P A P P P (se transform

coloana r în form superior Hessenberg f r s schimbe primele ( 1)r coloane)

Pasul r (r=1,2,…,n-2)La intrarea în pasul r matricea A are primele (r-1) coloane în

form superior Hessenberg. La ie irea din pasul r matricea A va avea primele r coloane în form superior Hessenberg:

2

,

= 2 ( ) , , || || = 1ies r intr r ies intr

r r T r n rr n

A P A P A AP I v v v R v

Vectorul rv se alege astfel ca matricea iesA s aib coloana r în formsuperior Hessenberg i s nu schimbe primele r-1 coloane ale matricii

intrA .

Page 83: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

82

Calculul matricii rP Pentru simplitate vom nota = , =r

rP P v v . Coloana r a matricii A inoua coloan r au urm toarea form :

1 11

2 22

11= ( ) =

0

0

0

r rr

r rr

rr rrrr

r rr r r r r

ir

nr

a aa

a aa

a aaa kAe a PA e Ae

a

a

Aplicând proprietatea matricilor ortogonale 2 2( , || || )Q x Qx x pentru matricea =Q P i vectorul

= rx Ae avem:

2 2 2 2 22 1 2

2 2 2 2 2 2 21 2 1

|| || = =

|| || =r r r rr

r r r rr r r ir nr

PAe a a a kAe a a a a a a

Din rela ia de mai sus rezult :2 2 2 2 2

1= 1

= = = =n

r r ir nr iri r

k a a a a k

Determinarea vectorului v ce define te matricea P se face astfel: ( ) = ( 2 )( ) = 2( )( ) = 2 ( ( )) =

(2 ) =

T T Tr n r r r r r

r r

PA e I vv Ae Ae vv Ae Ae v v AeAe v Ae u

unde cu i u am notat: 1 1 2 2:= ( ) ( ),T

r r r r ir i nr nv Ae Ae v a v a v a v a v

Page 84: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

83

1 1

1

0

0

:= (2 ) = ( ) = =

0

0

r r

rr rr

rrr rr r

irir

nrnr

a a

a aa ka k

u v Ae PA e

aa

aa Cu aceste nota ii matricea P devine:

22

1 1 1 1= 2( ) ( ) = ( ) cu : 22 2 2

T T Tn n nP I u u I uu I uu

Pentru a cunoa te matricea P trebuie s mai determin m constanta .Din condi ia:

2 2 2 22 2 2 22

1 1|| || = 1 || || = 1 || || 1 2 =|| ||2 4

v u u u

avem:2 2 2 22 1

2 2 2 21 1

1 1

|| || ( ) =

2 =2 = 2( )

r r ir nr

r r ir nr r r

r r r r

u a k a a

a a a ka kka ka

de unde ob inem: 1= r rka

Vom alege semnul constantei k astfel încât s fie cât mai mare posibil deoarce constanta apare în opera ia de împ r ire. Avem:

1 1" " = ( 0) semn = semnr r r rmare ka k a Ce înseamn = 0 ?

2 22 2 1

1= || || = 0 || || = 0 = 0 , , 0, , = 02 r r ir nru u u a k a a

Cum 1r ra k i 1semn = semn r rk a ob inem: = 0, = 1, ,ira i r n

adic avem coloana r în form superior triunghiular , caz în care se trece la pasul urm tor. Descriem mai jos cum se efectueaz opera ia := rA P A f r a face înmul ire matricial . Vom pune în eviden schimb rile în raport cu coloanele.

Page 85: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

84

1 1( ) ( )( ) ( )( )

1 ( ( )) =

T Tj n j j j

jTj j j

PA e I uu Ae Ae uu Ae

Ae u u Ae Ae u

unde1

2

11

1 1

=1 = 1

1 1

00

:= ( ) = ( , ) =

( ) =

=

( = 0, = 1, , , =

j

j

Tj j

r rr j

nrnj

r j r r ij ir nj nr

n n

i ij i iji i r

i r r r i i

aa

u Aea ka

aa

a a k a a a a

u a u a

u i r u a k u a , = 2, , )r i r nNoua coloan j se ob ine din vechea coloan j din care sc dem vectorul u înmul it cu constanta j . Ne intereseaz ca primelor ( 1)r coloane snu li se schimbe forma superior Hessenberg deja ob inut . Pentru

= 1, , 1j r avem:

1

1

2

1

21

1 1 1

00

= 0 0: ( ) ( , )

= 0

= 0

0 0 0( ) 0 0 = 0

j

j j

j jTj j

r r

r rr j

nrnj

j j j r r ir nr

a

aa

u Aea kaa

aa

a a a k a a

Din faptul c = 0 , = 1, , 1j j r rezul c primele 1r coloane ale matricii A nu se schimb ca urmare a în mul irii := rA P A , r mân în form superior Hessenberg. Algoritmul de trecere de la matricea A la matricea rP A este urm torul:

Page 86: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

85

1 2

pentru = 1, , 1

( ) = ( , , , , ,0, ,0) pentru =

pentru = 1, ,

j

Tr j r r rr

jj

Ae j r

P A e a a a k j r

Ae u j r n

cu

= 1

= ( , ) =n

j j i iji r

Ae u u a

1 1= 0, = 1, , , = , = , = 2, ,i r r r i iru i r u a k u a i r nVom descrie în continuare cum se efectueaz opera ia : rA AP f r a face înmul ire matricial (matricea A este cea ob inut mai sus având primele r coloane în form superior Hessenberg). Vom arata c aceastopera ie nu schimb forma superior Hessenberg ob inut . Vom pune în eviden transform rile liniilor matricii A. Pentru 1, ,i n avem:

1( ) noua linie a matricii )( )

1 ( )

T T Ti i n

T T T T Tii i i

e AP i AP e A I uu

e A e A u u e A u

unde1 1( )T

i i ir r in ne A u a u a uElementele liniei i se schimb astfel:

, 1, , , 1, ,iij ij ja a u j r n i n

Din aceast rela ie deducem c opera ia : rA AP nu modific primele rcoloane ale matricii A, ele r mânând în form superior Hessenberg.

Page 87: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

86

Algoritmul de ob inere a formei superior Hessenberg

2

= 1

for 1, , 2construc ia matricii constanta i vectorul

= ;

if ( ) break ; // 1

rn

iri r

r n

r nP u

a

r r P I

1

1

1 1

= ;if ( 0 ) ;

;; , 2, , ;

transformarea coloanelor

r r

r r

r r r i ir

r

ka k k

k au a k u a i r nA P A

= 1

1, ,for 1, ,

( / ) ( , ) / = ( )/ ;

for 1, ,;

transformare

n

j j i iji r

ij ij i

j r nj r n

Ae u u a

i r na a u

1

a coloanei a matricii; 2, , ;

transformarea liniilor 1, ,for 1, ,

r r ir

r

r Aa k a i r nA A P

i ni n

= 1

( / ) (( ) ) / = ( )/ ;

for 1, ,;

nT

i i j ijj r

ij ij j

e A u u a

j r na a u

Page 88: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

87

Algoritmul QR de aproximare a valorilor proprii ale unei matrici oarecare

Prezent m în continuarecel mai folosit algoritm de aproximare a valorilor proprii pentru matrici p tratice oarecare. Spunem c o matrice S este în form Schur real dac matricea S este în form superior Hessenberg i în plus este bloc-diagonal :

11 12 1

22 2

0

p

p

pp

S S SS S

S

Sblocurile iiS sunt astfel ca: - iiS - este valoare proprie real - 2 2

iiS - este bloc corespunz tor valorilor proprii complexe Valorile proprii corespunz toare blocului:

2 2 -a bsunt r d cinile ecua iei -a)( -d)-bc=

-c -dii

a bS

c d

Se presupune c aceast ecua ie de gardul 2 are r d cini complexe. Algoritmul QR de aproximare a valorilor proprii construie te un ir de matrici ( )kA , matrici asemenea cu matricea A, ( ) ,kA A k , ircare converge la o matrice în form Schur real , ( ) ,kA S k .Matricea limitS este asemenea cu matricea A, valorile prorii ale matricii S fiind u or de calculat. irul ( )kA se construie te astfel:

(0) (0) (0)0 0

(1) (1) (1)0 0 1 1

(2)1 1

( )

: , (descompunerea calculat pentru matricea )

: , (descompunerea calculat pentru matricea )

:

(descompunerea calculat pentrukk k

A A A Q R QR A

A R Q A Q R QR A

A R Q

A Q R QR ( )

( 1)

matricea ) ,

: , 0,1,2,

k

kk k

A

A R Q kMatricile kQ sunt matrici ortogonale ( 1 T

k kQ Q ) iar matricile kR sunt superior triunghiulare. Matricile ( )kA i ( 1)kA sunt asemenea:

Page 89: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

88

( ) ( )

( 1) ( ) ( 1) ( )

|

,

T k T kk k k k kk T k k k

k k k k

Q A Q R R Q A

A R Q Q A Q A A kMatricile irului construit sunt toate asemenea prin urmare au acelea ivalori proprii anume cele ale matricii ini iale (0)A A :

(0) (1) ( )kA A A A SDac matricea ( )kA este în form superioar Hessenberg, atunci descompunerea QR realizat cu algoritmul lui Givens se simplific .Reamintim algoritmul lui Givens:

1 1 1 1 1 1 12 12( ) ( ) ( ) ( ) ( )n n n n pn pn pp pp n nR R R R R A RDac matricea A este în form Hessenberg în algoritmul lui Givens, din cele n(n-1)/2 înmul iri cu matrici de rota ie r mân doar (n-1):

1 1 1 1 23 23 12 12( ) ( ) ( ) ( )n n n n pp ppR R R R A R .Problema care se pune este dac pornind cu o matrice în formHessenberg, toate matricile irului r mân în form Hessenberg:

( )

( 1) ( )

(în form Hessenberg) (cu Givens) ?

este tot în form Hessenberg

k

k T k T

A H QR

A H RQ Q A Q Q HQAvem:

12 12 1 1 1 1( ) ( ) ( )T T T Trr rr n n n nH Q HQ R R R R

Not m cu: 12 12( )TR R R

pentru care avem: 1 11 2 1

2 221 2

, 0, 2, , 0, 3, ,0, 3, ,, 0, 3, ,

i ii i i

i iii i

r cr sr i r i n r i nr i nr sr cr i r i n

deci coloana 1 se transform în form Hessenberg iar coloana 2 r mâne in form suprior triunghiular . La pasul p avem:

12 12 1 1 1 1 1 1

12 12 1 1

( ) ( ) ( ) ( ) ,

( ) ( )

T T T Tp p p p pp pp pp pp

T Tp p p p

R R R R R R R

R R R R

matricea R are primele (p-1) coloane în form Hessenberg iar restul coloanelor sunt în form superior triunghiular . Vom arata c la acest pas matricea R va avea primele p coloane în form Hessenberg iar restul coloanelor în form superior triunghiular . Opera ia 1 1( )T

pp ppR R Rpresupune doar schimbarea elementelor coloanelor p i p+1:

Page 90: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

89

1

1 1 1

2

, 0, 1, ,

, 0, 2, ,

0, 2, ,

0, 2, ,

ip ip ip ip

ip ip ip ip

ip

ip

r cr sr i r i p n

r sr cr i r i p n

r i p n

r i p n

.

Observ m din rela ia de mai sus c în matricea R coloana p are formHessenberg iar coloana p+1 r mâne în form superior triunghiular(celelalte elemente din matrice nu se modific ). Prin urmare dup pasul n-1 matricea ( 1)kH A este în form superioarHessenberg. Algoritmul QR de aproximare a valorilor proprii folosind descompunerea Givens p streaz forma Hessenberg.

Algoritmul QR pentru valori propriise aduce matricea la forma Hessenberg

;0;

while ( forma Schur real ); // se ca

T

A

Q A Qk

AA QR lculeaz cu algoritmul Givens

sau AQ;1;

TA RQ Qk k

În practic se presupune c matricea A este în form Hessenberg neredus , adic :

1 0 2, ,iia i nDac matricea nu este în form neredus , problema se decupleaz :

11 12

21 22

, 1sau 2A A p

A p n nA A n pp n p

Page 91: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

90

Varianta algoritmului QR cu deplasare (“shift”) simplAlgoritmul cu deplasare simpl este urm torul:

; aducerea la forma Hessenberg neredus0;

while ( forma Schur real ); // se calculeaz cu

T

k n

Q A Qk

AA d I QR algoritmul Givens

: ;1;

k nA RQ d Ik k

kd sunt constantele de deplasare. Dac nA d I QR ( ( )kA ) i

nA RQ d I ( ( 1)kA ) se pune problema dac cele dou matrici sunt asemenea ( A A) ( irul de matrici construit cu pasul QR cu deplasare simpl au acelea i valori proprii).

( )T T T TnA Q QRQ d Q Q Q QR d I Q Q AQ A A

Varianta cu deplasare se efectueaz pentru a accelera convergen aalgoritmului. Dac 1 , 2 ,…, n sunt valorile proprii ale matricii Aordonate astfel ca:

1 2 nd d dRapiditatea cu care ( )

1 0 ,kp pa k este dat de rata de convergen a a

expresiei 1

k

p

p

dd

. Dac se alege nd convergen a ( )1 0k

n na este

rapid . Avem urm toarul rezultat:

TeoremFie d o valoare proprie a unei matrici Hessenberg nereduse H. Dac

nH RQ d I , unde matricile Q i R sunt provin din descompunerea QRa matricii nH d I QR . Atunci:

1 0 ,nn nnh h d(algoritmul QR cu deplasare simpl g se te valoarea proprie d într-un singur pas).

Euristic s-a constatat c la fiecare pas, cea mai bun aproximare a unei valori proprii este ( )k

nna .

Page 92: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

91

Algoritmul QR cu deplasare simpl; aducerea la forma Hessenberg neredus

0;while ( forma Schur real )

; // se calculeaz cu

T

nn n

Q A Qk

AA a I QR algoritmul Givens

: ;1;

nn nA RQ a Ik k

Varianta algoritmului QR cu deplasare (“shift”) dubl În cazul când valorile proprii a1, a2 corespunz toare blocului:

, 1mm mn

mn nn

a aG m n

a asunt complexe, 1 2,a a , abordarea cu deplasare simpl nu mai asiguraccelerarea convergen ei. Avem:

2 1 2

2 21 2 1 2

1 2 1 2

det( ) ( )( ) ( )( )

( ) ( ),

mm nn mn nm

mm nn mm nn mn nm

mm nn mm nn mn nm

I G a a a a a a

a a a a a a a a a aa a a a a a a a a a

Algoritmul QR cu deplasare dubl const în trecerea de la matricea ( )kA A la matricea ( 1)

2kA A realizând doi pa i cu deplasare simpl ,

A A1 (deplasare simpl a1), A1 A2 (deplasare simpl a2):1 1 1

1 1 1 1

1 2 2 2

2 2 2 2

n

n

n

n

A a I Q RA R Q a I

A a I Q RA R Q a I

Fie matricea: 1 2 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1

1 1 1 1 2 1 1 2 1 1 2 1

21 2 2 1 2 1 1 2 1 2

:

( )

Tn n

Tn n n

n n n

M Q Q R R Q Q R R Q A a I R Q Q AQ a I R

Q Q AQ R a Q R a I Q R a I a I

M Q Q R R a I a I A a a A a a I

Avem urm toarele rela ii de asem nare:

1 1 1 2 2 1 2 2 1 1 2 1 2 1 2

2 1 2 1 2 1 2, :

TT T T T

T T

A A Q AQ A Q AQ Q Q AQ Q Q Q A Q Q

A Q Q A Q Q Q AQ Q Q Q

Page 93: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

92

Matricea Q care asigur trecerea de la matricea A la matricea A2 este matricea ortogonal din descompunerea QR a matricii

2 1n nM a I a I . Pasul QR cu deplasare dubl se face urmând etapele:

(a) se calculeaz matricea 2nM A s pI cu

s=a1+a2=amm+ann, p=a1a2=amm ann-amnanm ; (b) se calculeaz descompunerea QR a matricii M;(c) A2:=QTAQ.

Vectori proprii

Consider m dou matrici asemenea A i B:1 , matrice nesingularA B A PBP P

tim c cele dou matrici au acela i polinom caracteristic, ( ) ( )A Bp p , deci au acelea i valori proprii. Ne intereseaz care este

leg tura între vectorii proprii asocia i aceleia i valori proprii. Fie x vector propriu asociat valorii proprii pentru matricea A i w vector propriu asociat valorii proprii pentru matricea B. Care este rela ia între x i w?

1 1 1 1

1

, ,,

Ax x Bw w A PBP PBP x x BP x P xw P x x Pw

Metoda lui Jacobi de aproximare a valorilor proprii ale unei matrici simetrice poate fi descris astfel:

1 1 1 1 1 1 1 1( ) ( ) ( ) ( )

k k k k k k k k

T Tp q p q p q p q p q p q p q p qR R AR R (1)

unde indicii ( ,k kp q ) sunt ale i la pasul k la care s-a atins precizia dorit :

1 2diag , , , n (2) Not m cu U urm toarea matrice ortogonal :

1 1 1 1 2 2 2 2( ) ( ) ( ) ,

k k k k

T T T T Tp q p q p q p q p q p q nU R R R U U UU I

Din rela ia (1) avem: T TU AU UU AU U AU U

Punem în eviden coloanele matricii U, 1 2, , , nU x x x . Din rela iaAU= U i rela ia (2) ob inem:

1 2 1 21 2, , , , , , diag , , , , 1, ,n n i i

n iA x x x x x x Ax x i n

Prin urmare coloanele matricii U, vectorii xi, sunt aproxim ri ale vectorilor proprii pentru matricea A. Pentru a calcula valorile i vectorii proprii cu metoda Jacobi se procedeaz astfel:

Page 94: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

93

;0;

while ( matrice diagonal )

• : ( ) ( );

• : ( );

• 1;

n

Tpq pq pq pq

Tpq pq

U Ik

A

A R AR

U URk k

La sfâr itul acestui algoritm, în matricea A vom avea matricea care aproximeaz valorile proprii ale matricii A, iar în U se va g si matricea ce aproximeaz vectorii proprii,

1 1 1 1( ) ( ).

k k k k

T Tp q p q p q p qR R

Page 95: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

94

Descompunerea dup valori singulare (Singular Value Decomposition)

TeoremFie m nA . Atunci exist o matrice ortogonal p tratic de dimensiune m, m mU , o matrice ortogonal p tratic de dimensiune n, n nV iconstantele pozitive 1 2 r>0, r min{m,n} astfel ca:

( )

( ) ) ( )

1

, , ,0

, diag , ,

r n rT m n

m r r m r n r

r rr

DA U V

D D

(1)

Constanta r este chiar rangul matricii A, r=rang(A).Constantele 1, 2, , r poart numele de valori singulare ale matricii A.Folosind rela ia (1) avem:

2( )

( ) ( ) ( )

2( )

( )

,

,

0 0

,

0

0

TT T T T

T T T T T T Tm

r m rT m mm

m r r m r m r

T T T T T T Tn

r n rTn

n r r

A U V V U

AA U V V U U U U U

D

A A V U U V V V V V

D

( ) ( )0n n

n r n r

inând cont de ortogonalitatea matricilor U i V, putem rescrie rela iilede mai sus astfel:

2 2 21 2

2 2 21 2

( ) , diag , , , ,0, ,0

( ) , diag , , , ,0, ,0

T m mm m r

T n nn n r

AA U U

A A V V

Din aceste rela ii deducem c 2 2 21 2, , , r sunt valorile proprii strict

pozitive ale matricilor AAT i/sau ATA iar matricile U i V sunt matrici ale c ror coloane sunt vectorii proprii asocia i. Matricile AAT i ATA sunt matrici simetrice:

,T T T TT T T T T T T TAA A A AA A A A A A A

i au toate valorile proprii nenegative: 2

22

2

, ,, , 0

,

TT TT T

A uA u A uAA u u AA u u u u

u u uPentru a g si matricile U, V i valorile singulare 1, 2, , r putem folosi metoda lui Jacobi de aproximare a valorilor i vectorilor proprii pentru

Page 96: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

95

matrici simetrice. Putem folosi descompunerea dup valori singulare pentru a defini pseudo-inversa unei matrici oarecare (n m). Lucrând formal, avem:

1 11 1 1 1? ? ?,T T T TA U V A U V V U V U

R mâne de definit matricea 1? . Urmând acest ra ionament se define te

pseudoinversa Moore-Penrose a unei matrici m nA astfel: 1

( )

( ) ) ( )

1 1

1

, , ,0

1 1, diag , , .

r m rI I T I m I m

n r r n r m r

r r

r

DA V U A

D D

Pseudoinversa definit mai sus satisface urm toarele propriet i:, ; ,

I I TI m n T I m nA A A A A AExist o proprietate care nu mai este satisf cut de psudoinvers de i este respectat de inversa clasic :

, a.î. I I IA B AB B A . Descompunerea dup valori singulare poate fi utilizat i pentru rezolvarea sistemelor liniare cu matrici oarecare (num rul liniilor num rul coloanelor):

, , , :m n IAx b A b x A b .

Page 97: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

96

Rezolvarea ecua iilor neliniare

Fie : ,f a b o func ie continu pe intervalul ,a b astfel ca ( ) ( ) 0f a f b . În aceste condi ii tim c exist ,x a b astfel ca ( ) 0f x . În cele ce urmeaz ne propunem s aproxim m solu ia x a

ecua iei neliniare ( ) 0f x .

Metoda bisec iei (a înjum t irii intervalului)

Pentru a aproxima solu ia x c utat , vom construi un ir de intervale ,k ka b ce satsifac:

1 1

1 1

,

, ,

2

k k

k k k k

k kk k

x a b

a b a bb ab a

Pentru primul interval vom considera: 0 0, , 0a a b b k .Consider m punctul c din mijloc al intervalului ,k ka b :

k ka bc

Avem urm toarele 3 variante: 1. ( ) 0f c - caz în care am g sit solu ia c utat , x c , algoritmul de

opre te;2. ( ) ( ) 0kf a f c ceea ce înseamn c solu ia se g se te în intervalul

,ka c i vom continua procedeul cu intervalul 1 1,k k ka a b c ;3. ( ) ( ) 0kf b f c - solu ia se g se te în intervalul , kx c b

procedeul continu cu intervalul 1 1,k k ka c b a .Dat 0 exist un interval ,k ka b astfel ca ,k kx a b i k kb a

( 2log b ak ). Pentru suficient de mic atât ka cât i kb pot fi

considerate aproxim ri ale solu iei x ( ka x prin lips iar kb x prinadaos).

Page 98: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

97

Metoda tangentei (Newton-Raphson)

Vom presupune c func ia 1 ,f C a b este diferen iabil pe ,a b cu derivata continu în acest interval i c satisface rela ia ( ) ( ) 0f a f b .Pentru a aproxima solu ia x a ecua iei ( ) 0f x vom construi un ir

kx care s convearg la x , , pentrukx x k . Primul element din ir, 0x , consider m c este dat. Urm torul element din ir se construie te ca fiind intersec ia tangentei la graficul func iei f în punctul

0 0, ( )x f x cu axa absciselor. Procedeul se repet cu 1x pentru a-l ob inepe 2x , .a.m.d.

1 0 0

2 1 1

1

O tangenta la graficul func iei în punctul , ( )

O tangenta la graficul func iei în punctul , ( )

O tangenta la graficul func iei în punctul , ( ) , 0,1,2,k k k

x x f x f x

x x f x f x

x x f x f x k

Ecua ia tangentei la graficul func iei f într-un punct , ( )a f a esteurm toarea:

( ) '( )( )y f a f a x aPentru a calcula 1kx din kx vom considera ecua ia tangentei:

( ) '( )( )k k ky f x f x x xunde lu m 0y . Avem:

1 0( ) , 0,1,2, , dat'( )

kk k

k

f xx x k xf x

Formula de mai sus poate fi folosit doar dac la fiecare pas '( ) 0kf x .Dac la un pas avem '( ) 0kf x putem calcula câteva itera ii kx ( k k )folosind 1'( )kf x .

Page 99: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

98

Teorem de convergen Fie 2 ,f C a b , cu ( ) ( ) 0f a f b , '( ) 0 i ''( ) 0 ,f x f x x a b .Dac alegem

0

pentru ( ) ''( ) 0pentru ( ) ''( ) 0

a f a f ax

b f b f batunci irul ; 0kx k construit cu metoda tangentei este monoton, m rginit i convergent la unica solu ie x a ecua iei ( ) 0f x . Ordinul de convergen este mai mare decât 2.

Demonstra ie: Din faptul c '( ) 0, ''( ) 0 ,f x f x x a b icontinuitatea func iilor ' i ''f f rezult c cele dou func ii au semn constant pe intervalul ,a b . Prin urmare func ia f nu- i schimbmonotonia i curbura (convexitatea/concavitatea) în intervalul ,a b . Din condi iile '( ) 0 i ( ) ( ) 0f x f a f b rezult unicitatea solu iei x . Dacprin absurd am presupune c mai exist alt solu ie x x . Conform teoremei lui Rolle, din faptul c ( ) ( ) 0f x f x rezult c exist un punct , ,c x x a b astfel ca '( ) 0f c (absurd).

Vom presupune c ( ) ''( ) 0f a f a ( ( )f a are acela i semn cu func ia ''f ),

0x a . Vom ar ta c irul kx este monoton cresc tor i marginit.Ar t m prin induc ie c , 0kx x k . Pentru 0k avem 0x a x .Presupunem c kx x i ar t m c 1kx x . Avem:

1( ) '( ) ( ) 0'( ) '( )

k kk k k

k k

f x f zx x x xf x f x

1( ) '( )( ) ( )'( ) '( )

k k k kk k

k k

f x f x x x f xx x x xf x f x

Folosind dezvoltarea în serie Taylor avem: 2

2

( )0 ( ) ( ) '( )( ) ''( ) , cu ,2

( )( ) '( )( ) ''( )2

kk k k k k k

kk k k k

x xf x f x f x x x f y y x x

x xf x f x x x f y

Înlocuind în rela ia de mai sus ob inem: 2

1( ) ''( )

2 '( )k k

kk

x x f yx xf x

(1.1)

Dac mai consider m o nou dezvoltare în serie Taylor:

Page 100: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

99

0 ( ) ( ) '( )( ) , cu ,k k k k kf x f x f z x x z x x (1.2) ob inem:

( )'( )

kk

k

f xx xf z

(1.3)

Dac înlocuim (1.1) în (1.3) avem:

1( ) ''( ))

2 '( ) '( )k k

k kk k

f x f yx x x xf x f z

Din faptul c 0 , kx a x x rezult c ( )f a i ( )kf x au acela i semn. Din ( ) ''( ) 0f a f a i faptul c ''f nu- i schimb semnul pe ,a b rezult c( )f a i ''f au acela i semn. Vom avea i c ( )kf x i ''f au acela i semn:

( ) ''( ) 0k kf x f yFunc ia 'f neschimbându- i semnul pe ,a b rezult c :

'( ) '( )k kf x f zFolosind ipoteza inductiv , kx x ob inem:

1 1k kx x x xdeci irul kx este m rginit superior. Folosind formula (1.2) i rela ia kx x avem:

1( ) '( ) ( ) 0 ,'( ) '( )

k kk k k

k k

f x f zx x x x kf x f x

deci irul kx este monoton cresc tor. Din m rginirea i monotonia irului rezult c irul considerat este convergent:

, a.î. ,kl a b x l kTrecând la limit în rela ia de defini ie a irului:

1( ) ( ), ( ) 0'( ) '( )

kk k

k

k

f x f lx x k l l f l l xf x f l

x x kDac ( ) ''( ) 0f b f b , se alege 0x b i se arat analog c

1i ,k k kx x x x k .Dac not m:

2 1max | ''( ) | ; , , min | '( ) | ; ,M f x x a b m f x x a bfolosind rela ia (1.1) ob inem:

21

1

| | |k kx x x xm

de unde deducem c ordinul de convergen este cel pu in 2.

Page 101: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

100

Metoda falsei pozi ii (a coardei)

Presupunem c func ia f este continu , ,f C a b i satisface rela ia ( ) ( ) 0f a f b . Vom construi un ir kx care s convearg la solu ia c utat x , , pentrukx x k . Consider m date primul element din ir, 0x i un lat punct x . Procedeul de construire a irului este urm torul:

1 0 0

2 1 1

1

O dreapta ce une te punctele , ( ) , ( )

O dreapta ce une te punctele , ( ) , ( )

O dreapta ce une te punctele , ( ) , ( ) , 0,1,2,k k k

x x x f x x f x

x x x f x x f x

x x x f x x f x k

Ecua ia dreptei ce trece prin punctele , ( )a f a cu , ( )b f b este: ( )

( ) ( )y f a x a

f a f b a b.

Pentru a-l ob ine pe 1kx din kx avem:

1 0

( ) cu 0( ) ( )

( )( ) ( ) ( ) , 0,1,2, , dat( ) ( ) ( ) ( )

k k

k k

k k k kk k

k k

y f x x x yf x f x x x

f x x x x f x x f xx x k xf x f x f x f x

Teorem de convergen Fie 2 ,f C a b , cu ( ) ( ) 0f a f b , '( ) 0 i ''( ) 0 ,f x f x x a b .Dac alegem

0

0

i pentru ( ) ''( ) 0

i pentru ( ) ''( ) 0

x a x b f a f a

x b x a f b f b atunci irul ; 0kx k construit

cu metoda falsei pozi ii este monoton, m rginit deci convergent la unica solu ie x a ecua iei ( ) 0f x .

Page 102: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

101

Metoda secantei

Presupunem c func ia f este continu , ,f C a b i satisface rela ia ( ) ( ) 0f a f b . Vom construi un ir kx care s convearg la solu ia c utat x , , pentrukx x k . Consider m date primele douelemente din ir, 0x i 1x . Procedeul de construire a irului este urm torul:

2 0 0 1 1

3 1 1 2 2

1 1 1

O dreapta ce une te punctele , ( ) , , ( )

O dreapta ce une te punctele , ( ) , , ( )

O dreapta ce une te punctele , ( ) , ( ) , 1,2,k k k k k

x x x f x x f x

x x x f x x f x

x x x f x x f x k

Ob inem elementul 1kx din kx i 1kx astfel:

1 1

1 1 11 0 1

1 1

( ) cu 0( ) ( )

( )( ) ( ) ( ) , 1,2, , , da i( ) ( ) ( ) ( )

k k

k k k k

k k k k k k kk k

k k k k

y f x x x yf x f x x x

f x x x x f x x f xx x k x xf x f x f x f x

Teorem de convergen Fie x o solu ie a ecu iei ( ) 0f x . Presupunem c

2 ,f C x r x r , '( ) 0 i ''( ) 0 ,f x f x x x r x r . Atunci

exist 00 r r pentru care, dac 0 1 0 0, [ , ]x x x r x r atunci

0 0[ , ], 2kx x r x r k i , pentrukx x k . Ordinul de

convergen este 1 5 1.618032

q .

Page 103: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

102

Sisteme de ecua ii neliniare

Consider sistemul neliniar: 1 1 2 1 1

2 1 2 2 2

1 2

( , , , ) 0( , , , ) 0

( ) 0 ,

( , , , ) 0

n

n

n nn n

f x x x f xf x x x f x

F X F X

f xf x x xFie matricea jacobian asociat func iei F (presupunem c func iile ifsunt diferen iabile):

1 1 1

1 2

2 2 2

1 2 1 2

1 2

( ) ( , , , )

n

n n

n n n

n

f f fx x xf f fx x xF X x x x

f f fx x x

Pentru a g si solu ia X a sistemului de ecua ii neliniare ( ) 0F X se construie te un ir de vectori ( )kX astfel:

1(0) ( 1) ( ) ( ) ( ) ( ) ( )

1( ) ( ) ( )

dat , ( ) ( ) , 0,1,

( ) ( )

k k k k k k

k k k

X X X F X F X X k

F X F X

Vectorul de corec ie ( )k poate fi calculat i ca solu ie a sistemului liniar: ( ) ( )( ) ( )k kF X F X

unde matricea sistemului este chiar matricea jacobian calculat în punctul ( )kX iar vectorul termenilor liberi este ( )( )kF X . Metoda descris mai sus poart numele de metoda Newton. Pentru n=1 metoda Newton este chiar metoda tangentei descris anterior.

Page 104: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

103

Metoda Bairstow de aproximare a r d cinilor complexe ale polinoamelor

Fie polinomul cu coeficien i reali: 1

0 1 1 0( ) , 0, , , 4n n n kk n n iP x a x a x a x a x a a a i n

Vom presupune c polinomul P are doar r d cini complexe. Vom identifica factorii de gradul 2 din P corespunz tori perechilor de r d cini complex conjugate. Avem:

2 2 30 1 3 2 0 1( ) ( )( n n

n nP x x px q b x b x b x b r x r (1) Dorim s identific m variabilele p i q pentru care 0 1 0r r . Avem urm torul sistem neliniar :

0 0 0

1 1 1

( , ) 0( ) 0 cu 2, ,

( , ) 0r r p q r p

F X n F Xqr r p q r

Pentru a g si func iile 0 1( , ) i ( , )r p q r p q vom g si coeficien ii necunoscu ide ecua ia (1) prin identificarea coeficien ilor lui kx din membrul stâng imembrul drept:

0 0

11 1 0

1 2

1 0 2 3

01 2

:

:

: , 2,3, , 2:

:

n

n

n ii i i i

n n n

n n

x a bx a b pbx a b pb qb i nx a r pb qbx a r qb

Rearanjând rela iile de mai sus avem: 0 0 1 1 0

1 2

1 1 2 3 1 2

0 1 2 3 1

1 2 1 2 1 1

,, 2,3, , 2

( 1), ( )i i i i

n n n n n n n n

n n n n

n n n n n n n n

b a b a pbb a pb qb i nb a pb qb i n b a pb qb i nr a pb qb br a qb a pb qb pb b pb

(2)

Pentru sistemul neliniar de mai sus jacobianul este: 1 1

0 1

1 1 1 11

( , )( , ) ( , )

n n

n

n n n n n nn

b br b p q p q

Fr b p q pb p q b b b bb p p

p p q q

Page 105: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

104

Vom aplica metoda lui Newton: k+1( 1) ( ) ( ) (0)

0 0k+1

, dat , , da ik kk k k

k k

p p yX X X p q

q q z

Corec iile ( ) kk

k

yz

se g sesc ca solu ie a sistemului:

( , ) ( , ).k k k k

yF p q F p q

z (3)

Pentru a ob ine derivatele par iale ii ib bp q

vom deriva în rela iile (2):

0 1 00

1 21

0 ,

, 2, ,i i ii

b b bb pp p pb b bb p q i np p p

0 1 0

1 22

0 ,

, 2, ,i i ii

b b bpq q qb b bb p q i nq q q

Not m cu:

: ( , ) , : ( , ) , 0, ,i ii k k i k k

b bp q p q i np q

pentru care avem urm toarele rela ii de recuren :0 1 0 0 1 1 2

0 1 2 1 2

0 , ,2, ,

0 , 0 ,k i i k i k i

i i k i k i

b p b p qi n

b p qSe poate ar ta c aceste ultime dou recuren e se reduc la una singur :

0 0 1 1 0 1 2

1 2

, , , 2, ,,

k i i k i k i

i i i i

c b c b p c c b p c q c i nc c i

Pentru aceasta se verific : 1 0 2 1,c c i faptul c 1i ( )i icsatisfac aceea i rela ie de recuren (analog pentru i : 2 0 3 1,c c ,

2i ( )i ic satisfac aceea i rela ie de recuren ). Cu aceste nota ii avem:

2 3

1 1 2 2 3

( , ) n nk k

n n k n n k n

c cF p q

c b p c c p cSistemul (3) devine:

2 3 1

1 1 2 2 3 1( ) ( )n n n

n n k n n k n n k n

c y c z bc b p c y c p c z b p b

Page 106: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

105

Acest sistem se simplific prin înmul irea primei ecua ii cu ( )kp i se adun cu ecua ia a doua:

2 3 1

1 1 2( )n n n

n n n n

c y c z bc b y c z b

Solu ia sistemului este: 1 2 3 2 1 1 1

2 22 3 1 1 2 3 1 1

( ),( ) ( )

n n n n n n n n nk k

n n n n n n n n

b c b c b c b c by zc c c b c c c b

Algoritmul se opre te atunci când diferen a dintre dou itera ii succesive devine suficient de mic - ( 1) ( )|| ||k kX X - de exemplu, dac folosim norma euclidian avem:

1( 1) ( ) 2 2 2 22 2

1

|| || || ||k kk kk k

k k

p pX X y z

q qMetoda lui Bairstow poate fi descris astfel:

0 0 1 1 0

1 2

0 0 1 1 0

1 2

22 3 1 1

1 2

0; 0;do

; ;, 2, , ;

; ;, 2, , ;

det ( ) ;

i i i i

i i i i

n n n n

n n

p q k

b a b a pbb a p b qb i nc b c b pcc b p c qc i n

c c c bb cy 3

2 1 1 1

2 2max

det( ) ;

det;

;1;

while ( i )

n n

n n n n n

b c

b c b c bz

p p yq q zk k

y z k k

( - precizia de calcul dorit , maxk - num r maxim de itera ii ce pot fi efectuate)

Page 107: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

106

Metoda lui Laguerre

Fie polinomul: 0 1 2 0( ) ( )( ) ( ) , 0nP x a x x x x x x a

Metoda lui Laguerre propune construirea unui ir de numere care sconvearg la una din r d cinile polinomului P.Consider m derivata polinomului P:

1 2

1 1 1'( ) ( )n

P x P xx x x x x x

Avem:0 1 2ln | ( ) | ln | | ln | | ln | | ln | |nP x a x x x x x x

1 2

1 1 1 '( )ln | ( ) | ( )( )n

d P xP x G xdx x x x x x x P x

2

2 2 2 21 2

2

2

1 1 1ln | ( ) |( ) ( ) ( )

'( ) ( ) ''( )( )

( )

n

d P xdx x x x x x x

P x P x P xH x

P xFie 1x r d cina pe care vrem s-o aproxim m i ky valoarea aproximativcurent . Not m cu 1ka y x i facem presupunerea c ky se afl la acceea i distan de toate celelalte r d cini, adic , 2, ,k ib y x i n .Prin urmare avem:

2

2 2 2

'( ) 1( )( )

'( ) ( ) ''( ) 1( )( )

kk

k

k k kk

k

P y nG yP y a b

P y P y P y nH ya bP y

Rezolv m acest sistem în raport cu a i ob inem:

2max ( ) ( 1) ( ) ( )k k k

naG y n nH y G y

Semnul la numitor este ales astfle ca expresia s aib magnitudine maxim . Dac inem cont de expresiile pentru G i H ob inem pentru a iurm toarea expresie:

22

( )

max '( ) ( 1) '( ) ( 1) ( ) ''( )k

k k k k

n P yaP y n P y n n P y P y

Urm torul element din ir va fi:

Page 108: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

107

12

1 22

max ( ) ( 1) ( ) ( )

( )

max '( ) ( 1) '( ) ( 1) ( ) ''( )

k k k

k k k

kk k

k k k k

ny y a yG y n nH y G y

n P yy yP y n P y n n P y P y

Procedeul se opre te când a devine suficient de mic. Metoda lui Laguerre se poate aplica i pentru g sirea r d cinilor complexe ale polinoamelor ide asemenea pentru polinoame cu coeficien i complec i.

Page 109: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

108

Interpolare numeric

Presupunem c despre o func ie f cunoa tem doar valorile într-un num r finit de puncte. Pornind de la aceste date, dorim s aproxim mfunc ia f într-un alt punct.

x x0 x1 x2 ... xn-1 xnf y0 y1 y2 ... yn-1 yn

În tabelul de mai sus f(xi)=yi, i=0,1,…,n i xi xj pentru i j. Dat un punct x xi, i=0,1,…,n dorim s aproxim m f(x) cunoscând cele (n+1) perechi(xi,yi),i=0,…,n. Punctele xi se numesc noduri de interpolare.

Polinomul de interpolare Lagrange

Not m cu n mul imea polinoamelor de grad cel mult n. Dimensiunea acestui spa iu este n+1, baza uzual fiind dat de polinoamele 1, x, x2,…,xn. Vom considera o alt baz în acest spa iu. Se consider polinoamele pi:

0 pentruastfel ca ( ) 0, , , 0, ,

pentrui n i j

j ip p x j n i n

j iDin rela ia pi(xj)=0, j i i faptul c pi este polinom de gard n rezult cx0, x1,…,xi-1, xi+1,…,xn sunt cele n r d cini ale polinomului pi. Avem:

0 1 1( ) ( ) ( )( ) ( ), , 0, ,i i i i n ip x c x x x x x x x x c i nConstanta ci se determin din faptul c pi(xi)=1:

0 1 1

0 1 1

( ) 1 ( ) ( )( ) ( )1

( ) ( )( ) ( )

i i i i i i i i i n

ii i i i i i n

p x c x x x x x x x x

cx x x x x x x x

Polinoamele pi au forma: 0 1 1

00 1 1

( ) ( )( ) ( )( ) ( ) , 0, ,( ) ( )( ) ( )

nji i n

iji i i i i i n i jj i

x xx x x x x x x xp x i nx x x x x x x x x x

Propozi ie Polinoamele p0, p1,…, pn formeaz o baz în n.

Demonstra ie: Vom ar ta c cele n+1 polinoame sunt liniar independente: 0 0 1 1 0 1( ) ( ) ( ) ( ) 0 , 0n n nq x a p x a p x a p x x a a a

Vom face pe rând x=x0, x=x1,…, x=xn în polinomul q:0 0 0 0 1 1 0 0 0 1 0 0( ) ( ) ( ) ( ) 1 0 0 0 0n n nq x a p x a p x a p x a a a a a

Page 110: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

109

1 1 1( 0x x q x a

0 0

0

( ) ( ) ( ) ( )0 0 0 0

k k k k k n n k

k n k k

q x a p x a p x a p xa a a a a

( 0n n nx x q x aToate constantele ai sunt nule deci polinoamele ; 0, ,ip i n formeazo baz în n. Pentru a aproxima func ia f pronind de la tabelul de mai sus, vom construi un polinom ln n astfel ca s îndeplineasc condi iile de interpolare:

, ( ) , 0, ,n n n i il l x y i n (1) Odat construit acest polinom, vom aproxima f(x) prin ln(x).Vom scrie polinomul ln în raport cu noua baz ; 0, ,ip i n , deci exist constantele reale a0, a1,…,an astfel ca:

0

( ) ( )n

n i ii

l x a p x

Constantele ak se determin astfel: 0 0

0

( ) ( ) ( ) ( )0 1 0

k n k k k k k n n k

k n k k k

y l x a p x a p x a p xa a a a a y

Prin urmare un polinom de grad n care îndeplinesc condi iile de interpolare (1) este:

0 1 1

0 0 0 1 1

0 0

( ) ( )( ) ( )( ) ( )( ) ( )( ) ( )

( )

n ni i n

n i i ii i i i i i i i n

nnj

ii j i j

j i

x x x x x x x xl x y p x yx x x x x x x x

x xy

x x

(2)

Polinomul din formula (2) se nume te polinomul de interpolare Lagrange.

Propozi ie Polinomul ln dat de formula (2) este unicul polinom de grad n care îndepline te condi iile de interpolare (1).

Demonstra ie: Presupunem c mai exist un polinom q n care îndepline te condi iile (1):

, ( ) , 0, ,n i iq q x y i nFie polinomul p(x)=ln(x)-q(x) n. Acest polinom are proprietatea c :

( ) ( ) ( ) 0 , 0, ,k n k k k kp x l x q x y y k n

Page 111: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

110

Polinomul p are ca r d cini toate nodurile de interpolare. Polinomul peste polinom de grad cel mult n i are (n+1) r d cini distincte (xi xj , ij). Acest polinom nu poate fi decât polinomul identic nul:

( ) ( ) ( ) 0 , ( ) ( )n np x l x q x x l x q x xPolinomul ln este unicul care satisface (2).

Fie wn+1 polinomul de grand (n+1) care are ca r d cini nodurile de interpolare:

1 0 1 1( ) ( )( ) ( )n n nw x x x x x x xAvem:

1 10 0 0

( ) ( ) ; ( ) ( )n nn

n j n k k ji j j

j i j k

w x x x w x x x

Putem rescrie polinomul ln i astfel: 1

0 1

( ) 1( ) [ ]( ( )) '

nn

n ii i n i

w xl x yx x w x

Fie a=min{x0, x1,…, xn}, b=max{x0, x1,…, xn}.

Teorema restului Fie 1 ,nf C a b i , , , 0, , .ix a b x x i n Atunci exist un punct 0 1, , ( , , , , )ny a b y y x x x x (punctul y depinde de nodurile de interpolare xi i de punctul x ) astfel c eroarea la interpolarea numericeste dat de:

( 1)

1( )( ) ( ) ( )

( 1)!

n

n nf yf x l x w x

n (3)

Demonstra ie: Consider m func ia F:1( ) : ( ) ( ) ( )n nF x f x l x cw x

Constanta real c este aleas astfel ca ( ) 0F x adic :

11

( ) ( ) , ( ) 0 )( )

ni n

n

f x l xc x x i w xw x

(4)

Func ia f fiind de clas Cn+1 pe intervalul [a,b] rezult c i func ia F este din Cn+1[a,b]. Avem:

1( ) ( ) ( ) ( ) 0 0 , 0, ,i i n i n i i iF x f x l x cw x y y c i nFunc ia F are (n+2) zerouri, 0 1, , , ,nx x x x . Aplicând succesiv Teorema lui Rolle rezult c F’ are (n+1) zerouri, F’’ are n zerouri,…, F(n+1) are 1 zero în intervalul [a,b]. Vom nota aceast r d cin a lui F(n+1) cu y.

Page 112: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

111

Punctul y depinde de zerourile ini iale 0 1, , , ,nx x x x i:( 1)

0 1( , , , , ) , a.î. ( ) 0.nny y x x x x a b F y (5)

Derivata de ordinul (n+1) a func iei F se calculeaz astfel: ( 1) ( 1) ( 1) ( 1)

1

( 1) ( 1)

( ) ( ) ( ) ( )

( ) 0 ( 1)! ( ) ( 1)!

n n n nn n

n n

F x f x l x c w x

f x c n f x c n (6)

(derivata de ordin (n+1) a polinomului de grad n ln este 0). Din rela iile(4), (5) i (6) rezult c :

( 1) ( 1)

11

( ) ( ) ( ) ( )( ) ( ) ( )( 1)! ( 1)!( )

n nn

n nn

f y f x l x f yc f x l x w xn nw x

adic am ob inut rela ia (3).

Forma Newton a polinomului de interpolare Lagrange

Fie lk(x,x0,x1,…,xk,f) polinomul de interpolare Lagrange pentru func ia f pe sistemul de noduri {x0,x1,…,xk} (xi xj pentru i j).

Propozi ie Fie lk-1(x,x0,x1,…,xk-1,f), lk-1(x,x1,x2,…,xk,f) k-1 polinoamele de interpolare Lagrange pentru func ia f pe sistemele de noduri {x0,x1,…,xk-1}i respectiv {x1,x2,…,xk}. Atunci:

0 1

1 0 1 1 0 1 1 2

0

( , , , , , )( ) ( , , , , , ) ( ) ( , , , , , )

k k

k k k k k

k

l x x x x fx x l x x x x f x x l x x x x f

x x (7)

Demonstra ie: Exerci iu.Consider m urm toarele probleme de interpolare pentru func ia f:

0 0 1 1 1 1 1 0 1 1

0 0 1 1 0 1

( , ),( , ), ,( , ) ( , , , , , )

( , ),( , ), ,( , ) ( , , , , , )k k k k

k k k k

x y x y x y l x x x x f

x y x y x y l x x x x fNe intereseaz s g sim o formul de trecere rapid de la polinomul de interpolare pe k noduri la cel care are un nod în plus. Deoarece polinomul de grad cel mult k:

0 1 1 0 1 1( ) ( , , , , , ) ( , , , , , )k k k k kq x l x x x x f l x x x x fare drept r d cini punctele x0,x1,…,xk-1 (q(xi)=yi-yi=0, i=0,…,k-1) avem rela ia:

1

0 1 1 0 1 10

( , , , , , ) ( , , , , , ) ( )k

k k k k jj

l x x x x f l x x x x f A x x (8)

în care A este dat de rela ia:

Page 113: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

112

0 1 1 0 1 11

0

( , , , , , ) ( , , , , , )

( )

k k k k k kk

k jj

l x x x x f l x x x x fAx x

(9)

11

0 0 1

1 1 1 10

0 0 0 0

( )

( ) ( ) ( ) ( ) ( )

kkk j

ii j ki j

j ik k ik k k k

ik j k j k j k i i j

j j j jj i

x xy

x xy y yAx x x x x x x x x x

0

0

( )

ki

ki

i jjj i

yAx x

(10)

Dac consider m i problemele de interpolare pentru func ia f:1 1 2 2 1 1 2

0 0 1 1 0 1

( , ),( , ), ,( , ) ( , , , , , )

( , ),( , ), ,( , ) ( , , , , , )k k k k

k k k k

x y x y x y l x x x x f

x y x y x y l x x x x fvom avea, analog ca mai sus:

0 1 1 1 21

( , , , , , ) ( , , , , , ) ( )k

k k k k jj

l x x x x f l x x x x f B x x (11)

Dac înmul im rela ia (8) cu (x-xk) iar rela ia (11) cu (x-x0) i sc demaceste rela ii ob inem:

0 0 1 1 0 1 1

0 1 1 20

( ) ( , , , , , ) ( ) ( , , , , , )

( ) ( , , , , , ) ( ) ( )

k k k k k kk

k k jj

x x l x x x x f x x l x x x x f

x x l x x x x f A B x x

inând seama de rela ia (7) rezult c :

0

( ) ( ) 0 adick

jj

A B x x A B

Vom nota în cele ce urmeaz :0 1, , , k f

A x x xnumit diferen divizat de ordin k a func iei f pe nodurile

0 1, , , kx x x .Vom înlocui în formula (8) lk-1(x,x0,…,xk-1,f) cu:

1

1 0 1 2 1 1 0 1 11

( , , , , ) ( , , , , ) , , , ( )k

k k k k k jfj

l x x x f l x x x f x x x x x

iar în formula (11) lk-1(x,x1,…,xk,f) cu:

Page 114: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

113

1

1 1 2 1 1 1 21

( , , , , ) ( , , , , ) , , , ( )l

k k k k k lfl

l x x x f l x x x f x x x x x

i apoi sc dem membru cu memebru cele dou rela ii. Ob inem: 1 1

0 1 01 0

1

1 01 1

, , ( ) , , ( )

, , ( ) , , ( ) 0

k k

k j k jf fj j

k k

k l k lf fl l

x x x x x x x x

x x x x x x x x

Putem scrie: 1

0 1 11

1

0 00

( ) , , , ,

, , ( )

k

j k kf fj

k

k j nfj

x x x x x x

x x x x x x x x

rela ie din care ob inem: 0 1 1 1 2

0 10

, , , , , ,, , , k kf f

k fk

x x x x x xx x x

x x (12)

Rela ia (12) justific denumirea de diferen divizat . Se introduce ino iunea de diferen divizat de ordinul 0:

( ) ,k k kfx y f x k (13)

Diferen ele divizate se pot ob ine folosind defini ia direct (10) sau folosind defini ia recursiv (13), (12). Cele dou defini ii sunt echivalente:

Propozi ie

0 10 0 1

0

, , ,( ) '( )

k ki i

k kfi i n k

i jjj i

y yx x xw xx x

(14)

pentru orice sistem de noduri 0 1, , , kx x x i orice k.Demonstra ie: Se face prin induc ie. Pentru k=1 avem:

0 10 10 1

0 1 1 0 0 1

, fff

x xy yx xx x x x x x

Presupunem c rela ia (14) este valabil pentru orice k i pentru orice sistem de noduri 0 1, , , kx x x . Pentru k+1 folosim rela ia de recuren iapoi aplic m ipoteza inductiv :

Page 115: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

114

0 1 1 2 10 1 1

0 1

1

10 10 1

0 1

, , , , , ,, , ,

( )( ) ( )

k kf fk f

kk k

i ik k

i iki j i j

j jj i j i

x x x x x xx x x

x xy y

x x x x x x

0 11

0 10 1

0 10 1

1 1 0

1

( ) ( )

1 1[ ( )]}( )

kk k

kj k j

j jj j k

ki

ki i k i

i jjj i

y yx x x x x x

yx x x xx x

0 11 1 1

10 1

0 0 00 1

1

10

0

( ) ( ) ( )

( )

kk i

k k ki

j k j i jj j jj j k j i

ki

ki

i jjj i

y y y

x x x x x x

y

x x

Induc ia este complet .

Din aceast Propozi ie se observ c diferen a divizat 0 1, , , k fx x x nu

depinde de ordinea nodurilor 0 1, , , kx x x .Vom nota în continuare cu lk(x) polinomul de interpolare Lagrange pe nodurile 0 1, , , kx x x pentru func ia f. Avem:

0 1 0 1 1

0 0 1 0 0 1 0 1

0 1 0 1

( ) ( ) ( ) ( )] ( ) ( )] ( ) ( )], ( ) , , , ( ) ( )

, , , ( ) ( )

n k k n n

k kf f

n nf

l x l x l x l x l x l x l x l xy x x x x x x x x x x x

x x x x x x xAm ob inut astfel forma Newton a polinomului de interpolare Lagrange:

0 0 1 0 0 1 2 0 1

0 1 0 1

( ) , ( ) , , ( )( )

, , , ( ) ( )n f f

n nf

l x y x x x x x x x x x x x

x x x x x x x

Page 116: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

115

Schema lui Aitken de calcul a diferen elor divizate

Ne propunem s calcul m diferen ele divizate 0 1,f

x x ,

0 1 2, ,f

x x x ,…, 0 1, , , n fx x x necesare construirii polinomului de

interpolare Lagrange în forma Newton. Procedeul folose te defini iarecursiv a diferen elor divizate i se desf oar în n pa i. La pasul 1 se calculeaz numai diferen e divizate de ordinul 1: 0 1,

fx x , 1 2,

fx x ,…,

1,n n fx x . În general, la pasul k se calculeaz diferen e divizate de ordin

k:0 1, , , k f

x x x , 1 2 1, , , k fx x x ,…, 1, , ,n k n k n f

x x x .La pasul n se calculeaz o singur diferen divizat de ordin n i anume

0 1, , , n fx x x .

0 0

1 1 0 1

2 2 1 2

1

Pas1 Pas Pas

,

,

,

f

f

k k k k f

k nx yx y x x

x y x x

x y x x 0 1

1 1 2 1 1 1

1

, , ,

, , ,

,

k f

n n n n n k nf f

n n n n f

x x x

x y x x x x

x y x x 1 0 1, , , ,n k n nf fx x x x x

Not m dd[k,i]= 1, , ,i i i k fx x x diferen e divizate de ordin k, i=0,…,n-

k, k=1,…,n, cu dd[0,i]=yi, i=0,…,n. Schema lui Aitken se implementeazastfel:

[0, ] , 0, , ;for 1, ,

for 0, ,[ 1, ] [ 1, 1][ , ]

i

i i k

dd i y i nk n

i n kdd k i dd k idd k i

x xPutem face acelea i calcule folosind un singur vector, de exemplu rescriind vectorul y astfel:

Page 117: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

116

1

for 1, ,for , ,

i ii

i k i

k ni n k

y yyx x

La finalul acestei secven e de program vectorul y va con ine elementele: y0, 0 1,

fx x , 0 1 2, ,

fx x x ,…, 0 1, , , n f

x x x

( 0 1, , , , 0, , .k k fy x x x k n

Polinomul de interpolare Hermite

Presupunem c despre o func ie f cunoa tem pe lâng valorile func iei i ale primei derivate într-un num r finit de puncte. Pornind de la aceste date, dorim s aproxim m func ia f într-un alt punct. Cunoa tem:

x x0 x1 x2 ... xn-1 xnf y0 y1 y2 ... yn-1 yn

F’ z0 z1 z2 ... zn-1 zn

În tabelul de mai sus f(xi)=yi, f’(xi)=zi, i=0,1,…,n cu xi xj pentru i j. Dat un punct x xi, i=0,1,…,n dorim s aproxim m f( x ) cunoscând valorile (xi,yi,zi),i=0,…,n.Fie polinoamele:

0

22 1

22 1

( ) ( ) , 0, ,

( ) 1 2( ) '( ) ( ) , 0, ,

( ) ( ) ( ) , 0, ,

nj

i nj i jj i

i i i i i n

i i i n

x xq x i n

x x

r x x x q x q x i n

r x x x q x i nTeorem

Fie polinomul de grad cel mult 2n+1:

2 1 2 10 0

( ) ( ) ( )n n

n i i i i ni i

H x y r x z r x . (15)

H2n+1 este unicul polinom de gard cel mult 2n+1 care satisface rela iile de interpolare:

'2 1 2 1( ) , ( ) 0, ,n i i n i iH x y H x z i n (16)

Dac , 0, ,ix x i n i f C2n+2[a,b] atunci: (2 2)

22 1 1

( )( ) ( ) ( )(2 2)!

n

n nf yf x H x w x

n (17)

Page 118: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

117

unde 0( , , , ) , ( min{ }, max{ })n i iy y x x x a b a x b x .

Polinomul H2n+1 se nume te polinomul de interpolare Hermite.

Demonstar ie: Se arat c (exerci iu!):0 pentru

( ) , , 0, ,1 pentrui j

j ir x i j n

j i' ( ) 0 , 0, ,i j i jr x r x i j n

' 0 pentru( ) , , 0, ,

pentrui j

j ir x i j n

j iFolosind aceste rela ii rezult (16). Pentru a ar ta unicitatea polinomului (15) vom presupune c mai exist un polinom P 2n+1 care satisface rela iile (16):

( ) , '( ) 0, ,j j j jP x y P x z j n .Fie Q(x)=H2n+1(x)-P(x) 2n+1 . Pentru acest polinom avem:

( ) '( ) 0 0, , ; 0, , } r d cini duble pentruj j jQ x Q x j n x j n QPolinomul Q nu poate fi decât polinomul identic nul (polinom de grad 2n+1 cu 2n+2 r d cini!!!). Pentru a demonstra formula restului (17) se adapteaz demonstra ia de la teorema restului pentru polinomul de interpolare Lagrange.

Vom considera în continuare un nou tip de abordare a problemei de interpolare i anume interpolarea polinomial pe por iuni folosind func iile spline

Page 119: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

118

Func ii spline

Fie nodurile 0 1 2 1, , 0,1, , ,i n nx a b i n a x x x x x b .Se consider func ia continu fragmentar polinomial :

0 0 1

1 1 2

2 2 3

2 2 1

1 1

( ) , [ , ],( ) , [ , ],( ) , [ , ],

( )

( ) , [ , ],( ) , [ , ] .

n n n

n n n

P x x x xP x x x xP x x x x

S x

P x x x xP x x x x

în care 0, , sunt polinoame.iP x i n O asemenea func ie poartnumele de func ie spline.

Func ii spline liniare continue

Defini ie Func ia S(x) se nume te func ie spline liniar continu dacpolinoamele , 0, , 1iP x i n sunt polinoame de gradul 1 i

( ) [ , ] , adicS x C a blim lim( ) ( ) 1, , 1.

i ii i

x x x xx x x x

S x S x i n

Fie func ia :[ , ]f a b pentru care se cunosc valorile:, 0, ,i iy f x i n .

Func ia spline liniar de interpolare S pentru func ia f îndepline tecondi iile de interpolare:

( ) , 0, , .i iS x y i ninând seam c polinoamele Pi(x) sunt polinoame de gradul 1 i S(x)

este continu vom avea condi iile :

1 1

( ) ,( ) 0, , 1,( ) polinom de gradul1.

i i i

i i i

i

P x yP x y i nP x

Page 120: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

119

Din aceste condi ii rezult :1

11 1

( ) , 0, ,i ii i i

i i i i

x x x xP x y y i nx x x x

i1

0 0 0 0 1

( ) , 1, , 1,

( ) , .k k k k k k

n n n n

S x P x P x y k n

S x P x y S x P x y

Func ii spline cubice de clas C2

Se consider sistemul de noduri distincte din intervalul [a,b]:0 1 1{ }n na x x x x b

Func ia S(x) asociat diviz rii care îndepline te condi iile : 2( ) [ , ] ,

polinoamele ( ) au gradul 0, , 1,i

S x C a bP x i n

se nume te func ie spline cubic .Dat fiind o func ie :[ , ]f a b cu valorile , 0, ,i iy f x i n , se consider func ia spline cubic S(x) de interpolare ce satisface

( ) , 0, , .i iS x y i nPentru determinarea func iei spline cubice de interpolare observ m cpolinoamele:

3 21( ) , [ , ] , 0, , 1,i i i i i i iP x a x b x c x d x x x i n

implic determinarea a 4n necunoscute { , , , : 0, , 1}i i i ia b c d i n pentru care se impun:

' ''

1condi ii din rela iile de interpolare ( ) , 0, , ,

3( 1) condi ii de continuitate pentru ( ), ( ) i ( )în nodurile , 1, , 1,

i i

i

n S x y i nn S x S x S x

x i nîn total 4n-2 condi ii.Se pot avea în vedere pentru ad ugarea a dou condi ii suplimentarea urm toarele abord ri :

fixarea pantelor în extremit ile intervalului [a,b]. Se presupune cfunc ia f este derivabil i se cunosc valorile ' '( ) , ( )f a f b Se impun condi iile:

' ' ' ' ' '0 0 0 1( ) ( ) ( ) , ( ) ( ) ( );n n nS x P x f a S x P x f b

periodicitatea primelor dou derivate:' ' ' ' " " " "

0 0 0 1 0 0 0 1( ) ( ) ( ) ( ) , ( ) ( ) ( ) ( )n n n n n nS x P x P x S x S x P x P x S x ;

Page 121: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

120

anularea derivatei secunde în capetele intervalului: " " " "

0 0 0 10 , 0.n n nS x P x S x P xFunc iile spline care îndeplinesc aceste condi ii se numesc func iispline cubice normale. derivata de ordinul al treilea ale func iei S este continu în punctele x1 i xn-1 Aceasta înseamn c polinoamele

0 1,P P respectiv 2 1,n nP P coincid. Acest tip de spline se nume te„not – a – knot” i este utilizat în MATLAB.

Ne vom ocupa în continuare de determinarea func iei spline de interpolare în cazul în care sunt cunoscute valorile derivatei func iei

( ) în i .f x a bRecapitulând vom avea urm toarele condi ii :

1

1

' '1

" "1

( ) , 0, , 1, ( ) interpolare ,( ) ( ) , 1, , 1, continuitatea func iei ,

( ) ( ) , 1, , 1, continuitatea primei derivatei,

( ) ( ) , 1, ,

i i i n n n

i i i i

i i i i

i i i i

P x y i n P x yP x P x i n SP x P x i nP x P x i n

' '0 0 1

1, continuitatea derivatei secunde,

( ) '( ), ( ) ' .n nP x f a P x f bVom nota ''( ) , 0, .i iS x A i n inând seama de faptul c func ia

'' ,S C a b este o func ie liniar pe fiecare din intervalele 1,i ix xrezult c , notând cu 1 , 0, 1i i ih x x i n , vom avea:

" 11 1( ) , [ , ] , 1, , 1i i

i i i ii i

x x x xS x A A x x x i nh h

iar din ' " '( ) ( ) , ( ) ( )S x S x dx S x S x dx rezult :2 2

' 11 1( ) , [ , ] , , 0, 1,

2 2i i

i i i i i ii i

x x x xS x A A x x x i n

h h

3 31

1 1( ) , [ , ] , , , 0, 1,6 6

i ii i i i i i i i

i i

x x x xS x A A x x x x i n

h h

3 31

1( ) , , , 0, 1,6 6

i ii i i i i i i

i i

x x x xP x A A x i n

h hImpunând condi iile de interpolare i de continuitate vom ob ine:

Page 122: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

121

2

2

1 1 1 1

( ) ,6

( ) 0, 1.6

ii i i i i i i

ii i i i i i i

hP x A x y

hP x A x y i n

Din aceste rela ii determin m 1 1i în func ie de , , ,i i i i i iA A y y :

11

1 11 1

,6

, 0, 1.6

i i ii i i

i

i i i i ii i i i i

i

y y h A Ah

x y x y h x A x A i nh

Din condi ia:2 2

' ' ' 0 10 0 0 1 0 0

0 0

( ) ( ) , inând seam de ( )2 2

x x x xP x f a P x A A

h hrezult

'1 00 0 0 1

0

2 6 ( )y yh A h A f ah

(18)

Din condi ia de continuitate a primei derivate a func iei spline cubice ' '1( )i i i iP x P x inând seama de:

2 2' 11 1 1

1 1

( ) ,2 2

i ii i i i

i i

x x x xP x A A

h h2 2

' 11( ) ,

2 2i i

i i i ii i

x x x xP x A A

h hrezult , utilizând valorile pentru 1 ii i deduse mai sus:

' 1 1 11 1

1

' 11

( )2 6

( )2 6

i i i ii i i i i

i

i i i ii i i i i

i

h y y hP x A A Ah

h y y hP x A A Ah

sau

1 11 1 1 1

1

2( ) 6 ,

1, , 1.

i i i ii i i i i i i

i i

y y y yh A h h A h Ah h

i n (19)

În final, din condi ia:2 2

' ' ' ' 11 1 1 1

1 1

( ) ( ) ( ) din ( )2 2

n nn n n n n n

n n

x x x xS b P x f b P x A A

h h

Page 123: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

122

ob inem: ' '1 1 1

1 11

( ) ( ) ,2 6n n n n

n n n n nn

h y y hP x A A A f bh

sau

' 11 1 1

1

2 6 n nn n n n

n

y yh A h A f bh

(20)

Sistemul liniar (18), (19), (20) cu necunoscutele 0 1, , , nA A A are forma:

( 1) ( 1) 1, cu ,n n nHA f H f

0 0

0 0 1 1

1 1 2 2

2 2 1 1

2 0 02( ) 0

n n n n

h hh h h h

h h h hH

h h h h

1 12n nh h

'1 0

0

1 1

1

' 1

1

6 ( )

6 1, , 1

6 ( )

i i i i

i i

n n

n

y y f ah

y y y yf i nh h

y yf bh

Observând c matricea H este diagonal dominant atât pe linii cât i pe coloane rezult c putem utiliza metoda Gauss-Seidel pentru rezolvarea sistemului HA=f.

inând seam c matricea H este simetric i pozitiv definit rezult de asemenea i convergen a metodei relax rii.

În cazul func iei spline naturale avem 0 0nA A iar pentru determinarea valorilor 1 1, nA A intervin numai condi iile (19) . Sistemul liniar pentru aceste valori are forma:

1( 1) ( 1) 1

1

, , ,n n n

n

AH A f f A

A

Page 124: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

123

în care matricea H se ob ine din matricea H din care se suprim prima iultima linie respectiv prima i ultima coloan , iar f se ob ine din vectorul f eliminând primul i ultimul element. Matricea H are acelea ipropriet i ca i matricea H.

Page 125: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

124

Integrare numeric

Fie f : [a,b] , integrabil i p : [a,b] o func ie pondere:

( ) 0 , , , 0,b

a

p x x a b p x dx .

Ne propunem s aproxim m .b

a

p x f x dx

Rela ia

1( ) ( ) ( ) , 1, , ,

b n

i i n iia

p x f x dx c f x R f x a b i n (1)

se nume te formul de cuadratur / integrare numeric .Punctele ix sunt nodurile formulei de cuadratur , ic sunt coeficien iisau ponderile formulei.

Ordinul de exactitate al formulei (1)Fie m mul imea polinoamelor de grad cel mult m. Se nume te ordin de exactitate al formulei de cuadratur (1) num rul natural m N pentru care:

1( ) 0 , i astfel î ncâ t ( ) 0.n m m nR P P Q R Q

Tipuri de formule de cuadratur

Fie o clas de func ii integrabile pe intervalul [a,b]. Se determinii ic x astfel ca:

( ) 0 , .nR f fAlegerea clasei de referin conduce la ob inerea diverselor tipuri de formule de cuadratur .

Formule interpolative Se consider interpolarea Lagrange pe nodurile 1 2, , , nx x x :

1( ) ( ) ( )n nf x L x r x .Integrând de la a la b în ambii membrii ob inem:

1( ) ( ) ( ) ( ) ( ) ( ) .b b b

n na a a

p x f x dx p x L x dx p x r x dx

inând seam de:

Page 126: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

125

1 '1 1

( )( ) , ( ) ( )( ) ( )

nnn

n i n ji ji n i

w xL x f x w x x xx x w x

,

rezult c :

1

1

1 ( ) ( ) ,( )

( ) ( ) ( )

b n

i jnjaj ii j

jj i

b

n na

c p x x x dxx x

R f p x r x dx

Observa ie. Dac 1, ,nf P P inând seam de restul în interpolarea

Lagrange pentru func ii de clas [ , ]nC a b ,( ) ( )( ) ( ) 0

!

n

n nPr x w x

nrezult ( ) 0.nR P Rezult c pentru formulele de cuadratur de tip interpolativ ordinul de exactitate este cel pu in n-1. În formulele de tip interpolativ ,i ix c se aleg asfel încât ordinul de exactitate s fie maxim. O alt clasificare a formulelor de cuadratur se face în raport cu dispunerea nodurilor 1 i în intervalul [ , ].nx x a b

formule de tip închis : 1 , ,nx a x bformule de tip deschis : 1 , ,nx a x bformule de tip închis – deschis : 1 , ,nx a x bformule de tip deschis – închis : 1 , .nx a x b

Formule iterateSe consider o divizare 1 2 Na X X X b i descompunerea:

1 2

0 1 1

( ) ( ) ( ) ( )N

N

XX Xb

a X X X

f x dx f x dx f x dx f x dx .

Pentru fiecare integral1

( )k

k

X

X

f x dx se utilizeaz o formul simpl de

cuadratur .

Page 127: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

126

Formule de cuadratur NEWTON-CÔTES

Se consider func ia pondere ( ) 1, [ , ]p x x a b i nodurile 1 2 na x x x b

fixate. Pentru calculul integralei ( )b

a

f x dx , :[ , ] ,f a b integrabil

pe intervalul [a,b], vom face schimbarea de variabil2 2

a b b ax t

astfel ca: 1 1

1 1

( ) ( ) ( ) .2 2 2 2

b

a

b a a b b a b af x dx f t dt g t dt

Construim polinomul de interpolare Lagrange pentru func ia1( ) ( ) ( )n ng t L t r t în care:

11 1

( ) ( ) , , ( ) ( ).2 2

nnj

n i i i i ii j i j

j i

t t a b b aL t g t x t g t f xt t

In ipoteza [ , ]nf C a b , restul în interpolarea Lagrange este:( )

, 1,1 ,!

n

n ng

r t w tn

cu 1

,n

n jj

w t t t

, , .2 2 2

nnn n

nt

d a b b a b ag f t f a bdt

Rezult :11 1

1 11 12 2 !

nnb nnj

i ni j i ja

j i

f tt tb a b af x dx f x dt w t dtt t n

Not m: 1 1

'11 1

1 12 2

nn j n

ij i j n i ij i

t t w tI dt dt

t t w t t t .

1 1

12 !

nn

n n

f tb aR f w t dtn

Am ob inut formula de cuadratur Newton-Côtes :

1( )

b nn

i i nia

f x dx I f x R f (2)

Page 128: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

127

Observa ii1.Coeficien ii n

iI nu depind de func ia f, prin urmare pot fi calcula i itabela i pentru o reparti ie dat a nodurilor xi.2. Dac utiliz m formula (2) pentru 1f , în formula de interpolare vom

avea1

( ) 0 (1) 0 , astfel c 1 ( ) .1b n

nn n i

ia

r x R b a dx b a I din

care rezult :

1

1n

ni

iI

3.Pentru restul în formula de cuadratur , în ipoteza [ , ]nf C a b , se poate ob ine majorarea:

1

1

1

, în care2

1!

sup ; [ , ]

nn

n n

n n

n n

b aR f c f

c w t dtn

f f x x a b

4. Presupunem c nodurile xi sunt simetrice dou câte dou fa de

mijlocul intevalului [a,b]. Aceata implic 11, 1,2, , .

2i n int t i

Avem:

11 1 1

1 1 1 ( )n n n

n n nn i i n i n

i i i

w t t t t t t t w t

i 1' '( ) 1 .nn nw t w t

În integrala prin care se determin niI facem schimbarea de variabil

t i ob inem: 1 1

' '1 1

1 12 2

n n ni

i n i i n i

w t wI dt d

t t w t t w tînlocuind în ultima integral 1cui n it t ob inem:

1

11 '1 1 1

112 ( ) 1

nn nn

i n inn i n n i

wI d I

t w tDeci în ipoteza simetriei nodurilor fa de mijlocul intervalului avem:

111,2, .

2n n

i n inI I i

Page 129: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

128

Avem urm torul tabel cu coeficien i:

Gradul=> 1 2 3 4 5 6 7 8 9 10

K 2 3 8 45 288 140 17280 14175 89600 299376

I1 1 1 3 14 95 41 5257 3956 25713 80335

I2 1 4 9 64 375 216 25039 23552 141669 531500

I3 1 9 24 250 27 9261 -3712 9720 -242625

I4 3 64 250 272 20923 41984 174096 1362000

I5 14 375 27 20923 -18160 52002 -1302750

I6 95 216 9261 41984 52002 2136840

I7 41 25039 -3712 174096 -1302750

I8 5257 23552 9720 1362000

I9 3956 141669 -242625

I10 25713 531500

I11 80335

Formula de cuadratur Newton Cotes se ob ine utilizând tabelul de mai sus astfel:

1

( )( ) ( ) ( ) ,

, ( 1) , 1, ,1

b n

i i nia

i

b af x dx I f x R fK

b ah x a i h i nn

Remarc m faptul c pentru n=8 i n=10 apar i coeficien i negativi. Pentru n > 10 vor exista întotdeauna coeficien i negativi.

Observa ie Pentru n = 10 printre ponderile metodei Newton–Cotes 4 sunt negative. Pentru intervalul [-1,1] nodurile de cuadratur sunt

1 0.2 , 0, ,10kx k k iar ponderile:

10 10 10 10 10 100 10 1 9 2 8

10 10 10 10 103 7 4 6 5

16067 26575 -16175,299376 74844 99792

5675 - 4825 17807, ,6237 5544 12474

I I I I I I

I I I I I

Consider m func ia : 1,1f fragmentar liniar :

Page 130: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

129

10

10 101 1 1

sign( ) , 0, ,10 ,( )

( )sign( ) sign( ), , , 0, ,9.i i

i i i i i i

I x x if x

x x I x x I x x x i

cu graficul:

-1 -0.5 0.5 1

-1

-0.5

0.5

1

Avem1

1

0,4.f x dx

Aplicând metoda Newton Cotes pentru aproximarea integralei vom ob ine:

10 1010 10

0 0j j j

j jI f x I 6.1259

cu eroarea absolut :1 10

10

01j j

jf x dx I f x 5.7259.

Din acest exemplu rezult c m rirea ordinului de exactitate polinomialnu conduce în orice situa ie la îmbun t irea aproxim rii integralei definite.

Formulele NEWTON – CÔTES pe noduri echidistante de tip închis

Formula trapezului Pentru n = 2 vom avea 1 2 1 2, , 1, 1.x a x b t tDin rela iile:

2 21 2

2 21 2

1,I I

I Irezult :

2 21 1

1 ,2

I I

Page 131: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

130

ob inând formula de cuadratur a trapezului:

22

b

a

b af x dx f a f b R f (3)

în care pentru 2 ,f C a b avem: 3

2

'''' , , .

2 12

b

a

f x b aR f x a x b dx f a b

Interpretarea geometric :

Aria cuprins între axa X –segmentul [a,b], segmentele AA’, BB’ i

graficul curbei y=f(x) a c rei valoare este dat de ( )b

a

f x dx este

aproximat prin 2

b a f a f b care reprezint aria trapezului

AA’B’B.

Formula de cuadratur a lui SIMPSON

În metoda Newton – Côtes pentru n=3 pentru nodurile:

1 2 3 1 2 3, , , 1, 0, 12

a bx a x x b t t t ,

folosind rela iile:

Page 132: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

131

3 3 31 2 3

3 31 3

13 3

1 31

1,

11 12 1 0 1 1 6

I I I

I I

t tI dt I

rezult 32

2 .3

I

În ipoteza 4 ,f C a b se ob ine formula de cuadratur a lui Simpson: 5 4 ( )4

6 2 2 90

b

a

b a a b b a ff x dx f a f f b (4)

Formula de cuadratur a lui SIMPSON (3/8)

Pentru n=4 nodurile echidistante sunt:

1 2 3 4 1 2 3 42 2 1 1, , , 1, , 1

3 3 3 3a b a bx a x x x b t t t t ,

Not m cu 3

b ah i ob inem astfel formula lui Simpson (3/8) pentru 4 ,f C a b :

452 3

3 3 38

b

a

f x dx h f a f x f x f b h f (5)

Formula de cuadratur a lui BOOLE

Pentru n=5 considerând nodurile:

( 1) , 1, ,5 cu4i

b ax a i h i h ,

în ipoteza 6 ,f C a b ob inem formula de cuadratur a lui Boole :

2 3 4

67

2 7 32 12 32 745

b

a

hf x dx f a f x f x f x f b

h f

Page 133: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

132

Formule iterate

Se consider o divizare a intervalului [a,b] în N subintervale de lungime b aH

Nprin nodurile , 0,1, , .ix a iH i N În rela ia:

11

0

i

i

xb N

ia x

f x dx f x dx

pentru fiecare din integralele 1i

i

x

x

f x dx aplic m formula trapezului:

31 1"11

10 0

31 1"

1 0

2 12

22 12

b N Ni ii i

i i ii ia

N N

i ii i

x xx xf x dx f x f x f

H Hf a f x f b f

Se ob ine asfel formula trapezelor sau formula iterat a trapezului: 1

2 "

12

2 12

b N

iia

H b af x dx f a f x f b H f

Consider m divizarea intervalului [a,b] în 2N subintervale de lungime

2b aH

N prin nodurile , 0,1, ,2 .ix a iH i N În rela ia:

2 2

2

1

0

i

i

xb N

ia x

f x dx f x dx

pentru fiecare din integralele din sum aplic m formula lui Simpson ob inând:

12 2 2

2 2 1 2 20

5142 2 2

0

46

190 2

b Ni i

i i iia

Ni i

ii

x xf x dx f x f x f x

x x f

sau1 1

2 1 20 1

44

4 2 ( )3

.180

b N N

i ii ia

Hf x dx f a f x f x f b

H b a f

(6)

Formula (6) poart numele de formula lui Simpson iterat .

Page 134: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

133

Biblioteci de calcul numeric

ASA – Advanced Scientific Applications

Biblioteca de programe SciMath V.7.1 este realizată de ASA, Inc. SciMath se prezintă sub forma de fişier .lib astfel încât pentru utilizare este necesară legarea aplicaţiei scrise în C sau C++ cu fişierul bibliotecă SciMath.

Algebră liniară

mtlsbs: Rezolvarea sistemelor liniare gjmtxl: Rezolvarea sistemelor liniare utilizând metoda Gauss-Jordan mtudec: Factorizarea LU a unei matrici bandă nesimetrice mtvmul: Produs matrice vector lbacks: Rezolvarea sistemelor liniare cu metoda substituţiei inverse mtcond: Estimarea numărului de condiţionare pentru factorizarea LDL lnchol: Factorizarea Cholesky

Rădăcinile polinoamelor. Rezolvarea sitemelor de ecuaţii neliniare

czerop: Zerourile polinoamelor complexe rsreal: Determinarea unei rădăcini reale rzernl: Rezolvarea sistemelor neliniare rzrnlj: Rezolvarea sistemelor neliniare utilizând Jacobianul rtller: Calculul rădăcinilor reale/complexe ale unei funcţii rterop: Calculul zerourilor polinoamelor cu coeficienţi reali.

Cuadraturi

qsjacw: Cuadratura Gauss-Jacobi qgausq: Coeficienţii şi nodurile în cuadratura Gauss qsexaw: Cuadratura Gauss-Hermite quslog: Cuadratura Gauss

Page 135: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

134

Aproximare /Interpolare /Extrapolare ctsqls: Ecuaţii liniare complexe. Soluţie în sensul celor mai mici patrate intplt: Interpolarea polinomială bidimensională intpol: Interpolarea polinomială sinteg: Integrare cu funcţii spline csplit: Aproximare cu funcţii spline cubice chbfit: Aproximare Lagrange chbint: Integrarea unei funcţii aproximate Lagrange. Sistemul autovalorilor

mtigen: Vectori şi valori proprii pentru matrici reale eighes: Valorile proprii ale unei matrici Hessenberg mtgenc: Rezolvarea problemei generale a valorilor proprii eigsmt: Calculul valorilor şi vectorilor proprii ale unei matrici simetrice

Page 136: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

135

NUMERICAL ALGORITHM GROUP(NAG)

Colec ie de func ii C (NAGC.DLL) Din categoria algoritmilor pentru algebra liniar :f01 – Factorizarea Matricilor

Numele rutinei

Realizeaz

f01bnc nag_complex_choleskyFactorizarea UUH a unei matrici complexe Hermitiene pozitiv definite

f01mcc nag_real_cholesky_skylineFactorizarea LDLT a unei matrici reale simetrice pozitiv definite, band

f01qcc nag_real_qrFactorizarea QR a unei matrici reale m n (m n)

f01qdc nag_real_apply_qCalculeaz QB sau QT B dup factorizarea realizat cu f01qcc

f01rcc nag_complex_qrFactorizarea QR a unei matrici complexe m n (m n)

f01rdc nag_complex_apply_qCalculeaz QB sau QH B dup factorizarea realizat cu f01rcc

f02 – Valori i vectori proprii

Numele rutinei

Realizeaz

f02aac nag_real_symm_eigenvaluesToate valorile proprii ale unei matrici reale simetrice.

f02abc nag_real_symm_eigensystemToate valorile proprii i to i vectorii proprii pentru matrici reale simetrice.

Page 137: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

136

f02afc nag_real_eigenvaluesToate valorile proprii ale unei matrici reale.

f02agc nag_real_eigensystemToate valorile proprii i to i vectorii proprii pentru matrici reale

f02awc nag_hermitian_eigenvaluesToate valorile proprii ale unei matrici complexe hermitiene.

f02axc nag_hermitian_eigensystemToate valorile proprii i to i vectorii proprii pentru matrici complexe hermitiene

f02ecc nag_real_eigensystem_selCalculul unor valori proprii selectate i a vectorilor proprii pentru o matrice real general .

f02gcc nag_complex_eigensystem_selCalculul unor valori proprii selectate i a vectorilor proprii pentru o matrice complex general .

f02wec nag_real_svdSVD pentru matrici reale (Descompunerea dup valorile singulare)

f02xec nag_complex_svdSVD pentru matrici complexe

f03 – Determinan i

Numele rutinei

Realizeaz

f03aec nag_real_choleskyFactorizare LLT i determinantul unei matrici reale, simetrice , pozitiv definite .

f03afc nag_real_luFactorizare LU i determinantul unei matrici reale

f03ahc nag_complex_luFactorizare LU i determinantul unei matrici complexe

Page 138: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

137

f04 – Sisteme de ecua ii liniare

Numele rutinei

Realizeaz

f04adc nag_complex_lin_eqn_mult_rhsSolu ia aproximativ a sistemelor liniare complexe cu membri drep i multipli .

f04agc nag_real_cholesky_solve_mult_rhsSolu ia unui sistem cu matrice real , simetric , pozitiv definit .

f04ajc nag_real_lu_solve_mult_rhsSolu ia unui sistem real de ecua ii liniare

f04akc nag_complex_lu_solve_mult_rhsSolu ia unui sistem complex de ecua ii liniare.

f04arc nag_real_lin_eqnSolu ia unui sistem real de ecua ii liniare.

f04awc nag_hermitian_lin_eqn_mult_rhsSolu ia unui sistem de ecua ii liniare cu matrice complexhermitian , pozitiv definit

f04mcc nag_real_cholesky_skyline_solveSolu ia unui sistem cu matrice real , simetric , pozitiv definit . Matricea coeficien ilor factorizat în prelabil cu f01mcc.

f07 – Ecua ii Liniare (LAPACK)

Numele rutinei

Realizeaz

f07adc nag_dgetrfFactorizarea LU a unei matrici reale de tip (m,n)

f07aec nag_dgetrsRezolvarea unui sistem liniar de ecua ii reale cu membrii drep i multipli utilizând factorizarea f07adc

Page 139: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

138

f – Algebra Liniar

nag real lu (f03afc)

1. Obiectiv nag real lu (f03afc) calculeaz factorizarea LU a unei matrici reale , cu pivotare par ial i evaluarea determinantului

2. Specificare #include <nag.h> #include <nagf03.h>

void nag_real_lu(Integer n, double a[], Integer tda, Integer pivot[], double *detf, Integer *dete, NagError *fail)

3. Descriere Aceast func ie calculeaz factorizarea LU a unei matrici reale A cu pivotare par ial PA = LU, în care P este o matrice de permutare , L este inferior triunghiular iar U este superior triunghiular cu 1 pe diagonal . Determinantul lui A este produsul elementelor de pe diagonala lui P cu semnul determinat de schimbarile de linii.

4. Parametri n

Intrare : n, ordinul matricii A.Restric ie: n 1.

a[n][tda]Intrare matricea A de tip n n . Ie ire : A con ine în partea triunghiular inferior matricea L , în partea strict triunghiular superior matricea U f r elementele de pe diagonala acesteia care sunt = 1..

tda Intrare: dimensiunea dominant a matricii a a cum a fost declarat în func ia care apeleaz nag real lu Restric ie : tda n.

pivot[n]Ie ire : pivot[i 1] con ine indicele de linie al pivotilui i .

detf , dete Ie ire determinantul lui A este dat de detf × 2.0dete . Se utilizeaz aceast form pentru a evita dep irileinferioare/superioare ..

Page 140: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

139

fail Parametru de eroare NAG5. Mesaje de eroare i avertizare

NE SINGULARMatricea A este singular eventual datorit erorilor de rotunjire . Factorizarea nu poate fi realizat , detf = dete = 0.

NE INT ARG LT <value> In intrare n nu poate fi mai mic dec t 1 : n = value NE 2 INT ARG LT <value> In intrare tda trebuie s fie tda n. : n = value NE ALLOC FAIL Alocarea memoriei e uat

6. Timpul de execu ie este aproximativ propor inal cu n3

7 Referin eWilkinson J H and Reinsch C (1971) Handbook for Automatic

Computation (Vol II, Linear Algebra) Springer-Verlag pp 93 – 110..

8. Exemplu Se consider matricea

33 16 7224 10 578 4 17

Page 141: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

140

8.1. Textul programului/* nag_real_lu(f03afc) Exemplu **/

#include <nag.h> #include <math.h> #include <stdio.h> #include <nag_stdlib.h> #include <nagf03.h>

#define NMAX 8 #define TDA NMAX

main(){

double detf, two=2.0; Integer i, dete, j, n; static NagError fail; double a[NMAX][TDA]; Integer pivot[NMAX];

Vprintf("f03afc Example Program Results\n"); /* Skip heading in data file */ Vscanf("%*[^\n]"); Vscanf("%ld",&n);

if (n>0 && n<=NMAX) {for (i=0; i<n; i++) for (j=0; j<n; j++) Vscanf("%lf",&a[i][j]);

fail.print = TRUE;f03afc(n,(double *)a,(Integer)TDA,pivot,&detf,&dete,&fail);

if (fail.code!=NE_NOERROR) exit(EXIT_FAILURE);

else { Vprintf("Matricea A dupa factorizare\n");

for (i=0; i<n; i++) for (j=0; j<n; j++) Vprintf("%9.4f%s",a[i][j],(j%8==7 || j==n-1) ? "\n" : " ");

Page 142: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

141

Vprintf("\nPermutare P\n"); for (i=0; i<n; i++)

Vprintf("%3ld%s",pivot[i],(i%8==7 || i==n-1) ? "\n" : " "); Vprintf("\ndetf = %9.4f dete = %2ld\n", detf, dete);

detf = detf * pow(two, (double)dete); Vprintf("\nValoarea determinantului = %9.4f\n", detf);

} }exit(EXIT_SUCCESS);}

8.2. Date de intraref03afc Example Program Data

3

33 16 72 -24 -10 -57 -8 -4 -17

8.3. Rezultatef03afc Example Program Results Matricea A dup factorizare

-8.0000 0.5000 2.1250 -24.0000 2.0000 -3.0000 33.0000 -0.5000 0.3750

Permutare P 323

detf = 0.3750 dete = 4Valoarea determinantului = 6.0000

Page 143: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

142

f – Algebra liniar

nag real symm eigenvalues (f02aac)

1. Obiectiv nag real symm eigenvalues (f02aac) calculeaz toate valorile

proprii ale unei matrici reale simetrice.

2. Specificare #include <nag.h> #include <nagf02.h> void nag_real_symm_eigenvalues(Integer n, double a[], Integer tda, double r[], NagError *fail)

3. Descriere Func ia reduce matricea real simetric A la o matrice real simetrictridiagonal prin metoda lui Householder. Valorile proprii ale matricii tridiagonale sunt determinate prin algoritmul QL.

4. Parametri

nIntrare : n, ordinul matricii A.Restric ie: n 1.

a[n][tda]Intrare: partea inferior triunghiular a matricii simetrice A . Elementele situate deasupra diagonalei nu sunt ini ializate . Ie ire : elementele lui A situate sub diagonal sunt modificate restul matricii r mâne neschimbat. .

tda Intrare: a doua dimensiune a matricii a a cum a fost declarat în func ia care apeleaznag real symm eigenvaluesRestric ie : tda n.

r[n]Ie ire : valorile proprii în ordine cresc toare.

Page 144: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

143

fail Parametru de eroare NAG

5. Mesaje de eroare i avertizareNE TOO MANY ITERATIONS <value>

Sunt necesare mai mult de value itera ii pentru a izola toate valorile proprii.

NE INT ARG LT <value> In intrare n nu poate fi mai mic dec t 1 : n = value

NE 2 INT ARG LT <value> In intrare tda trebuie s fie tda n. : n = value NE ALLOC FAIL Alocarea memoriei e uat

6. Timpul de execu ie este aproximativ propor inal cu n3

7 Referin eWilkinson J H and Reinsch C (1971) Handbook for Automatic

Computation (Vol II, Linear Algebra) Springer-Verlag pp 212–226 and 227–240.

8. Exemplu Se consider matricea simetric

0.5 0.0 2.3 2.60.0 0.5 1.4 0.72.3 1.4 0.5 0.02.6 0.7 0.0 0.5

Page 145: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

144

8.1. Program /* nag_real_symm_eigenvalues(f02aac) Exemplu **/

#include <nag.h> #include <stdio.h> #include <nag_stdlib.h> #include <nagf02.h>

#define NMAX 8 #define TDA NMAX main()

{Integer i, j, n; double a[NMAX][TDA], r[NMAX];

Vprintf("f02aac Resultate \n"); /* Skip heading in data file */ Vscanf("%*[^\n]"); Vscanf("%ld",&n); if (n<1 || n>NMAX)

{Vfprintf(stderr, "N este in afara domeniului: N = %5ld\n", n); exit(EXIT_FAILURE);

}for (i=0; i<n; i++) for (j=0; j<n; j++) Vscanf("%lf",&a[i][j]); f02aac(n, (double *)a, (Integer)TDA, r, NAGERR_DEFAULT);Vprintf("Valori proprii\n"); for (i=0; i<n; i++) Vprintf("%9.4f%s",r[i],(i%8==7 || i==n-1) ? "\n": " "); exit(EXIT_SUCCESS);}

Page 146: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

145

8.2. Date de intraref02aac Date

4

0.5 0.0 2.3 -2.60.0 0.5 -1.4 -0.72.3 -1.4 0.5 0.0 -2.6 -0.7 0.0 0.5

8.3. Rezultate Valori proprii

-3.0000 -1.0000 2.0000 4.0000

c02 – Zerourile Polinoamelor

Numele func iei

Scop

c02afc nag_zeros_complex_polyZerourile unui polinom cu coeficien i complec i

c02agc nag_zeros_real_polyZerourile unui polinom cu coeficien i reali

c02akc nag_cubic_rootsZerourile unui polinom de gradul 3 cu coeficien ireali

c02alc nag_quartic_rootsZerourile unui polinom de gradul 4 cu coeficien ireali

Page 147: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

146

IMSL – Visual Numerics International Mathematical and Statistical Library

Con ine programe din urm toarele domenii: valori i vectori proprii, sisteme algebrice liniare, interpolare,integrare i derivare numeric ,ecua ii diferen iale ordinare i cu derivate par iale,transform ri,ecua ii neliniare, optimiz ri,statistic .

LSARG/DLSARG (Single/Double precision)

Rezolvarea unui sistem de ecua ii algebrice liniare reale.

Utilizare (FORTRAN) CALL LSARG (N, A, LDA, B, IPATH, X) Argumente N — Num rul ecua iilor (Intrare)A — Matrice N N con inând coeficien ii sistemului liniar (Intrare) LDA — Dimensiunea dominant prev zut în declara ia de dimensiune din programul apelant (Intrare) B — Vector N-dimensional con inând termenii liberi (Intrare)

IPATH (Intrare)IPATH = 1 se rezolv sistemul AX = B .IPATH = 2 se rezolv sistemul ATX = B.X — Vector N-dimensional con inând solu ia sistemului liniar (Ie ire)

Commentarii 1. Utilizarea spa iului de lucruLSARG N2 + 2N unit i,DLSARG 2N2 + 3N unit i.

Spa iul de lucru poate fi stabilit explicit prin utilizarea subprogramelorL2ARG/DL2ARG. Apelul este de forma: CALL L2ARG (N, A, LDA, B, IPATH, X, FAC, IPVT, WK) În care argumentele adi ionale sunt :

Page 148: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

147

FAC — vector de lucru de dimensiune N2 con inând factorizarea LU amatricii A (Ie ire)IPVT —vector de întregi de dimensiune N con inând informa ii privind pivotarea în factorizarea LU (Ie ire)WK — vector de lucru de dimensiune N.

LFCRG/DLFCRG (Single/Double precision)

Calculeaz factorizarea LU a unei matrici reale i estimeaz num rul de condi ionare

Utilizare CALL LFCRG (N, A, LDA, FAC, LDFAC, IPVT, RCOND)

LFDRG/DLFDRG (Single/Double precision)

Calculeaz determinantul unei matric dat fiind factorizarea LU a matricii.

Utilizare CALL LFDRG (N, FAC, LDFAC, IPVT, DET1, DET2) det(A) = DET1 * 10^DET2.

LINRG/DLINRG (Single/Double precision)

Calculeaz inversa unei matrici reale.

Utilizare CALL LINRG (N, A, LDA, AINV, LDAINV) AINV – inversa

LSLRT/DLSLRT (Single/Double precision)

Rezolvarea unui sistem triunghiular de ecua ii liniare .

Utilizare CALL LSLRT (N, A, LDA, B, IPATH, X)

LFCDS/DLFCDS (Single/Double precision)

Calculeaz factorizarea Cholesky RTR a unei matrici reale, simetrice ipozitiv definite i estimeaz num rul de condi ionare.

Page 149: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

148

Utilizare CALL LFCDS (N, A, LDA, FAC, LDFAC, RCOND)

IMSL – Aproximare spline

CSCON/DCSCON (Simpla/Dubla precizie)

Calculeaz interpolantul spline cubic consistent cu concavitatea datelor.

Utilizare CALL CSCON (NDATA, XDATA, FDATA, IBREAK, BREAK, CSCOEF)

Argumente NDATA — Num rul datelor de intrare . (Intrare) (NDATA este cel pu in3)XDATA — Vector de lungime NDATA con inând valorile nodurilor . (Intrare) (Nodurile sunt distincte ) FDATA — Vector de lungime NDATA con inând valorile func iei.(Intrare)IBREAK — Num rul punctelor de racord pentru func ia fragmentar cubic . (Iesire) IBREAK < 2 * NDATA. BREAK — Vector de lungime IBREAK con inând pt. de racord ale reprezent rii fragmentar cubice (Iesire) (Dimensiunea lui BREAK este cel pu in 2 * NDATA.) CSCOEF — Matrice de dimensiune (4 ,N ) în care N este dimensiunea lui BREAK. (Iesire) (Con ine, pe coloane, coeficien ii func iilor cubice pe subintervale.) Comentarii1. Utilizarea automat a spa iului de lucru esteCSCON 11 * NDATA 14 unit i, sau DCSCON 21 * NDATA 28 unit i.

Spa iul de lucru poate fi precizat explicit prin utilizarea subprogramelor C2CON/DC2CON.Apelarea este de formaCALL C2CON (NDATA, XDATA, FDATA, IBREAK, BREAK,CSCOEF, ITMAX, XSRT, FSRT, A, Y, DIVD,ID, WK) In care argumentele suplimentarea au urm toarea semnifica ie:ITMAX - Num rul maxim de itera ii pentru metoda lui Newton (Intrare) XSRT- Vector de lucru de lungime NDATA în care se p streaz valorile XDATA sortate.

Page 150: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

149

FSRT —Vector de lucru de lungime NDATA în care se p streazvalorile FDATA sortate. A —Vector de lucru de lungime NDATA. Y — Vector de lucru de lungime NDATA 2.DIVD — Vector de lucru de lungime NDATA 2.ID —Vector de întregi de lungime NDATA. WK — Vector de lucru de lungime 5 * (NDATA 2).

CSVAL/DCSVAL (Simpla/Dubla precizie)

Evaluarea unui spline cubic .

Utilizare CSVAL(X, NINTV, BREAK, CSCOEF) Argumente X —Punctul în care func ia spline se evalueaz . (Intrare) NINTV —Num rul intervalelor. (Intrare) BREAK — Vector de lungime NINTV + 1 con inând punctele de racord în reprezentarea fragmentar cubic a func iei spline . (Intrare) Elementele din BREAK trebuie s fie în ordine strict cresc toareCSCOEF — Matrice de dimensiune (4 , NINTV + 1 ) care con ine , pe coloane, coeficien ii func iilor cubice pe subintervale. (Intrare) CSVAL — Valoarea func iei spline în X. (Iesire)

CSINT/DCSINT (Simpla/Dubla precizie)

Calculeaz interpolantul spline cubic

Utilizare CALL CSINT (NDATA, XDATA, FDATA, BREAK, CSCOEF) Argumente NDATA — Num rul datelor de intrare . (Intrare) NDATA este cel pu in 2. XDATA — Vector de lungime NDATA con inând valorile absciselor . (Intrare)Abscisele sunt distincte . FDATA — Vector de lungime NDATA con inând valorile ordonatele. (Intrare)BREAK — Vector de lungime NDATA con inând punctele de racord ale reprezent rii fragmentar cubice . (Iesire) Dimensiunea lui BREAK este cel pu in 2 * NDATA. CSCOEF — Matrice de dimensiune (4 ,NDATA ). (Iesire) Con ine , pe coloane, coeficien ii func iilor cubice pe subintervale .

Page 151: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

150

MATLABprodus al companiei The MathWorks Inc.

Interpolare polinomialFunc ia interp1 utilizeaz tehnici de aproximare polinomial pentru aproximarea valorilor unei func ii

yi = interp1(x,y,xi,metoda)

x – vector con inând nodurile de interpolare; y – vector con inând valorile func iei în noduri; xi – vector con inând punctele în care se interpoleaz func iametoda – ir de litere prin care se precizeaz metoda de interpolare: `nearest’ – se atribuie valoarea func iei corespunz toare celui mai apropiat nod de interpolare `linear’ – pe nodurile de interpolare se construie te o func ie spline liniar pentru care se calculeaz valorile yi corespunz tor punctelor de intrare xi (metoda implicit );`spline’ – se utilizeaz aproximarea spline cubic pe nodurile x , y Dac un element xi se afl în afara intervalului nodurilor de interpolare xse aplic metoda specificat pentru extrapolare sau se utilizeaza func iainterpl sub forma:

yi = interp1(x,Y,xi,method,extrapval) în care yi pentru xi din afara intervalului de interpolare se atribuie valoarea extrapval .

Exemplu 1. Metoda implicita : `linear’ x = 0:10;y = sin(x);xi = 0:.25:10;yi = interp1(x,y,xi);plot(x,y,'o',xi,yi)

Page 152: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

151

Exemplu 2 . Metoda `spline’

x = 0:20;y = cos(x);xi = 0:.2:20;yi = interp1(x,y,xi,’spline’);plot(x,y,'o',xi,yi)

Page 153: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

152

Cuadraturi numerice

Pentru aproximarea integralei definite

( )b

a

f x dx

se utilizeaz func ia quad ; q = quad(fun,a,b)

aproximeaz integrala func iei fun de la a la b cu o eroare de ordinul lui10-6 utilizând metoda de cuadratura a lui Simpson adaptiv .

Exemplu >> P = quad('cos(x)',0,pi/4);P = 0.7071

Sub forma q = quad(fun,a,b,tol)

se utilizeaz eroarea de aproximare tol în locul celei implicite care este 1.0e-6.

Page 154: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

153

O alt form q = quad(fun,a,b,tol,trace)

realizeaz afisarea la fiecare pas a valorilor [nr_evaluari_ale_functiei a , b-a, q]>>SS = quad('sin(x)',0.0,10.0,0.01,1);

NR_EV a b-a q 5 0.0000000000 1.00000000e+001 3.7613187551 7 0.0000000000 5.00000000e+000 0.6970411903 9 0.0000000000 2.50000000e+000 1.8008605052

11 2.5000000000 2.50000000e+000 -1.0846352873 13 5.0000000000 5.00000000e+000 1.0924896452 15 5.0000000000 2.50000000e+000 -0.0629632340 17 7.5000000000 2.50000000e+000 1.1855204732

SS = 1.8388

>>SS = quad('sin(x)',0.0,10.0,0.001,1);

5 0.0000000000 1.00000000e+001 3.7613187551 7 0.0000000000 5.00000000e+000 0.6970411903 9 0.0000000000 2.50000000e+000 1.8008605052

11 0.0000000000 1.25000000e+000 0.6846762159 13 1.2500000000 1.25000000e+000 1.1164636596 15 2.5000000000 2.50000000e+000 -1.0846352873 17 2.5000000000 1.25000000e+000 0.0194157015 19 3.7500000000 1.25000000e+000 -1.1042192499 21 5.0000000000 5.00000000e+000 1.0924896452 23 5.0000000000 2.50000000e+000 -0.0629632340 25 7.5000000000 2.50000000e+000 1.1855204732 27 7.5000000000 1.25000000e+000 1.1274786602 29 8.7500000000 1.25000000e+000 0.0582257246

SS = 1.8391

Se observ diferen ele între valorile ob inute i num rul evaluarilor func iei corespunz tor toleran elor specificate.

Page 155: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

154

Mathematica

Mathematica este un produs software realizat de WOLFRAM Research Inc. Informa ii se gasesc pe site-ul www.wolfram.com. Prima versiune a ap rut în 1988. Versiunea actuala Mathematica 5.1

Pentru interpolarea polinomiala Mathematica utilizeaza: InterpolatingPolynomial[ ] In primul caz valorile X sunt {1,2,3} iar cele ale lui Y {1,4,9}: In[1]:=InterpolatingPolynomial[{1, 4, 9}, x] Out[1]=1 + (-1 + x) (1 + x)

In al doilea exemplu se prezinta explicit nodurile de interpolare : In[2]:=InterpolatingPolynomial[{{1, 7}, {1.5, 3}, {3, 3}, {4, 1}}, x] Out[2]=7 + (-8. + (4. - 1.6 (-3 + x)) (-1.5 + x)) (-1 + x) Polinomul de interpolare este prezentat în forma Newton.

Pentru metoda de cuadratur Newton-Cotes Mathematica prezintfunc iile NewtonCotesWeights[Num r_noduri, a, b]returneaz perechile {xi , Ii}Se ini ializeaz pachetul NumericalMath`NewtonCotes` In[1]:= <<NumericalMath`NewtonCotes` In[2]:= NewtonCotesWeights[5,-3,7] Out[2]= ({{ -3 , 7/ 9}, { - 1 /2 , 32 /9}, {2, 4 /3}, {9 /2, 32 /9}, {7, 7 /9}} ) In[3]:= NewtonCotesError[5,f,-3,7]

Out[3]= (6)156253024

f

Func ia NewtonCotesError[Num r_noduri, f, a, b] – în care f este func ia de integrat de clas (Num r_noduri+1) returneaz o evaluare pentru eroarea de aproximare a integralei

Pentru integrarea unei functii interpolante se ini ializeaz pachetul NumericalMath`NIntegrateInterpolatingFunct

In[7]:= << NumericalMath`NIntegrateInterpolatingFunct`

Se interpoleaz func ia Sin[x] pe nodurile echidistante din intervalul [0,4] cu pasul h=0.5;

Page 156: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

155

In[10]:= f = Interpolation[Table[{x, Sin[x]}, {x, 0, 4, .5}]] Out[10]= InterpolatingFunction[{{0., 4.}}, "<>"]

O evaluare a interpolantei f în x=1.25

In[11]:= r = f[1.25] Out[11]= 0.947623 // Sin[1.25]= 0.948985

Se calculeaz integrala pe intervalul [0,2] a func iei [f(x2)]2

In[12]:= NIntegrateInterpolatingFunction[f[x^2]^2, {x, 0, 2}] Out[12]= 0.715792

m ={{1,1},{2,2}} {r,q}=QRDecomposition[m]Eigenvalues[m]CholeskyDecomposition[h] {u,sigma,v} = SingularValues[N[h]]{l,r}=LUDecomposition[h]

m = {{a,b},{c,d}} {{a,b},{c,d}} m . {x,y} == {1,1} {a x+b y,c x+d y}=={1,1} Solve[ %,{x,y}] {{ x -> - b d

bc ad, y-> - a c

bc ad}}

LinearSolve[m, {p,q}] { dp bq

bc ad, cp aq

bc ad}

n=Inverse[m] {{ d

bc ad, b

bc ad},{ c

bc ad, a

bc ad}}

f=m.n {{ bc

bc ad+ ad

bc ad, 0},{0, bc

bc ad+ ad

bc ad}}

Solve[x^2==0.5,x] {{x ->0.707107},{x->0.707107}}

Page 157: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

156

Multe din bibliotecile de mai sus sunt scrise în FORTRAN. Exist un program f2c care transform fi ierele FORTRAN în fi iere C. Prezent mîn continuare un exemplu de utilizare a acestui program. In stânga este prezentat programul FORTRAN care calculeaz produsul scalar a doi vectori iar în dreapta avem ‘traducerea’ lui în C.

Utilizarea programului f2c

FORTRAN C FUNCTION DOT(N,X,Y) INTEGER N REAL X(N),Y(N) DOT = 0 DO 10 I = 1, N 10 DOT = DOT + X(I)*Y(I)END

/* dot.f -- translated by f2c (version 19950314).You must link the resulting object file with the libraries: -lf2c -lm (in that order) */#include "f2c.h" doublereal dot_(n, x, y) integer *n; real *x, *y; {/* System generated locals */ integer i__1; real ret_val; /* Local variables */ static integer i; /* Parameter adjustments */ --y;--x;/* Function Body */ ret_val = (float)0.; i__1 = *n; for (i = 1; i <= i__1; ++i) { /* L10: */ ret_val += x[i] * y[i]; }return ret_val; } /* dot_ */

http://www.weihenstephan.de/~syring/f2c/f2c.htmlhttp://cm.bell-labs.com/netlib/f2c/mswin/

Page 158: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

157

Bibliografie

1. C. Ignat, C. Ilioi, T. Jucan, Elemente de informatic i calcul numeric, vol. 1, Ed. Universit ii “Al.I.Cuza”, Ia i, 1987.

2. C. Ilioi, Analiz numeric , vol. 1 i 2, Ed. Universit ii“Al.I.Cuza”, Ia i, 1983.

3. T.A. Beu, Calcul numeric în C, Ed. Albastr , Cluj, 2000. 4. D. Larionescu, Metode numerice, Ed. Tehnic , Bucure ti, 1989. 5. C. Berbente, S. Mitran, S. Zancu, Metode numerice, Ed.

Tehnic , Bucure ti, 1997. 6. G. Dahlquist, Å. Björk, Numerical Methods, Prentice-Hall, 1974. 7. G. Golub, C.F. Van Loan, Matrix Computation, J. Hopkins Univ.

Press, 1986. 8. V. Ionescu, A. Varga, Teoria sistemelor, Ed. ALL, Bucure ti,

1994.9. I. Dragot , Metode de calcul numeric, Ed. Didactic i

Pedagogic , Bucure ti,199810. B. Dumitrescu, C. Popeea, B. Jora, Metode de calcul numeric

matriceal. Algoritmi fundamentali, Ed. ALL, Bucure ti, 1998. 11. P.G. Ciarlet, Introduction á l’analyse numérique matricielle et á

l’optimisatio, Masson, Paris, 1982. 12. W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery,

Numerical Recipes in C - The art of scientific computing,Cambridge University Press, 2002, edi ia online.

Page 159: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Teme de laborator

Laboratorul nr. 1

1. Sa se gaseasca cel mai mic numar pozitiv u > 0, de forma u = 10−m,astfel ca:

1.0⊕ u 6= 1.0

unde prin ⊕ am notat operatia de adunare efectuata de calculator.Numarul u poarta numele de precizia masina.

2. Fie numerele a = 1.0, b = u, c = u, unde u este precizia masinacalculata anterior. Sa se verifice ca operatia de adunare efectuata decalculator nu este asociativa, i.e.:

(a⊕ b)⊕ c 6= a⊕ (b⊕ c)

3. Aproximarea functiilor sin si cos cu ajutorul dezvoltarii ın serie Taylor:

sin x =∞∑

n=0

(−1)nx2n+1

(2n + 1)!=

∞∑

n=0

sn , sn =(−1)nx2n+1

(2n + 1)!(1)

cos x =∞∑

n=0

(−1)nx2n

(2n)!=

∞∑

n=0

tn , tn =(−1)nx2n

(2n)!(2)

Sumele de mai sus se folosesc doar pentru valori ale lui x ∈ [0, 2π).Pentru x 6∈ [0, 2π) se foloseste periodicitatea functiilor sin si cos:

x = 2kπ + z , k ∈ Z , z ∈ [0, 2π) , sin x = sin z , cos x = cos z

In continuare vom presupune ca x ∈ [0, 2π). Functiile sin si cos seaproximeaza astfel:

sin x ≈ SN =N

n=0

sn , cos x ≈ TN =N

n=0

tn

158

Page 160: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Termenii sn si tn se calculeaza folosind formulele de recurenta:

s0 = x , sn+1 = − x2

(2n + 2)(2n + 3)sn n = 0, 1, . . . , N − 1

t0 = 1 , tn+1 = − x2

(2n + 1)(2n + 2)tn n = 0, 1, . . . , N − 1

Cum alegem limita superioara de sumare, numarul N? Tinand contde primul exercitiu, vom opri sumarea atunci cand termenul sn / tndevine suficient de mic:

|sn| ≤ ε , |tn| ≤ ε , ε = 10−p ≥ u

ε reprezinta precizia cu care vrem sa aproximam functiile sin si cos sieste un numar citit de la tastatura si/sau este parametru de intarare afunctiilor sin si cos:double sin(double x, double ε), double cos(double x,double ε).

4. Proceduri de citire a vectorilor si a matricilor de la tastatura, din fisiersi automat (folosind functia rand) si proceduri de afisare a vectorilor sia matricilor.

159

Page 161: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 2

Tema1) Date n dimensiunea sistemului, ε - precizia calculelor, matricea A ∈

Rn×n triunghiulara inferior sau superior, vectorul termenilor liberi b ∈ Rn:- sa se rezolve sistemul liniar Ax = b folosind metoda substitutiei (sa se

scrie cele doua proceduri care implementeaza metoda substitutiei directe siinverse)

- sa se scrie procedurile de calcul a inversei matricilor triunghiulare.2) Date n dimensiunea matricilor, matricile A, B ∈ Rn×n sa se scrie

proceduri de adunare, scadere, ınmultire a matricilor.

Observatie Precizia calculelor ε, este un numar pozitiv de forma ε =10−m (cu m = 5, 6, ..., 10, ... la alegere) care este data de intrare ın program(se citeste de la tastatura sau din fisier) la fel ca si dimensiunea n a datelor.Acest numar se foloseste atunci cand testam daca o variabila este 0 saunu ınaintea unei operatii de ımpartire. Daca vrem sa efectuam operatia deımpartire s = 1/v unde v ∈ R nu vom scrie:

if(v! = 0) s = 1/v;else printf(” nu se poate face impartirea”);

ci vom scrie ın program:if(fabs(v) > eps) s = 1/v;else printf(” nu se poate face impartirea”);

Metoda substitutiei

Fie sistemul liniar:Ax = b (1)

unde matricea sistemului A este triunghiulara. Pentru a gasi solutia unica asistemului (1), trebuie ca matricea sa fie nesingulara. Determinantul matri-cilor triunghiulare este dat de folrmula:

det A = a11a22 · · ·ann

Prin urmare pentru rezolvarea sistemului (1) vom presupunem ca:

det A 6= 0⇐⇒ aii 6= 0 ∀i = 1, 2, . . . , n

160

Page 162: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Vom considera ıntai cazul cand matricea A este inferior triunghiulara.Sistemul (1) are forma:

a11x1 = b1

a21x1 + a22x2 = b2...ai1x1 + ai2x2 + · · · + aiixi = bi...an1x1 + an2x2 + · · · + anixi + · · · + annxn = bi

Necunoscutele x1, x2, ..., xn se deduc folosind ecuatiile sistemului de laprima catre ultima.

Din prima ecuatie se deduce x1:

x1 =b1

a11(2)

Din a doua ecuatie, folosind (2), obtinem x2:

x2 =b2 − a21x1

a22

Cand ajungem la ecuatia i:

ai1x1 + ai2x2 + · · ·+ aii−1xi−1 + aiixi = bi

folosind variabilele x1, x2,...,xi−1 calculate anterior, avem:

xi =bi − ai1x1 − · · · − aii−1xi−1

aii

Din ultima ecuatie se deduce xn astfel:

xn =bn − an1x1 − an2x2 − · · · − ann−1xn−1

ann

Algoritmul de calcul a solutiei sistemelor (1) cu matrice inferior triunghi-ulara este urmatorul:

xi =

(bi −i−1∑

j=1aijxj)

aii, i = 1, 2, . . . , n− 1, n (3)

161

Page 163: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Acest algoritm poarta numele de metoda substitutiei directe.Vom considera, ın continuare sistemul (1) cu matrice superior triunghiu-

lara:

a11x1 + · · · + a1ixi + · · · + a1n−1xn−1 + a1nxn = b1

. . .

aiixi + · · · + ain−1xn−1 + ainxn = bi

. . .

an−1n−1xn−1 + an−1nxn = bn−1

annxn = bn

Necunoscutele x1, x2,...,xn se deduc pe rand, folosind ecuatiile sistemului dela ultima catre prima.

Din ultima ecuatie gasim xn:

xn =bn

ann(4)

Folosnd valoarea lui xn dedusa mai sus, din penultima ecuatie obtinem:

xn−1 =bn−1 − an−1nxn

an−1n−1

Cand ajungem la ecuatia i:

aiixi + aii+1xi+1 + · · ·+ ainxn = bi

se cunosc deja xi+1,xi+2,..., xn si deducem:

xi =bi − aii+1xi+1 − · · · − ainxn

aii

Din prima ecuatie gasim valoarea lui x1:

x1 =b1 − a12x2 − · · · − a1nxn

a11

Procedeul descris mai sus poarta numele de metoda substitutiei inverse pentrurezolvarea sistemelor liniare cu matrice superior triunghiulara:

xi =

(bi −n∑

j=i+1aijxj)

aii, i = n, n− 1, . . . , 2, 1 (5)

162

Page 164: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Calculul inversei unei matrici triunghiulare

Pentru orice matrice A nesingulara pentru care avem o metoda de re-zolvare a sistemului Ax = b, inversa se calculeaza astfel:

coloana j (1 ≤ j ≤ n) a matricii A−1 se obtine rezolvand sistemul:

Ax = ej (6)

unde ej este vectorul ej = (0, ...0, 1, 0, ..., 0)T unde 1 este plasat pe pozitiaj din vector. Prin urmare, pentru a gasi inversa unei matrici triunghiularevom aplica metoda substitutiei de n ori.

Se va observa ca inversele matricilor triunghiulare sunt de asemenea ma-trici triunghiulare.

163

Page 165: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 3

TemaDate: n - dimensiunea sistemului, ε - precizia calculelor, matricea sistemu-

lui A ∈ Rn×n,vectorul termenilor liberi b ∈ Rn, sa se decida daca matricea Aeste singulara sau nu si ın caz ca matricea A este nesingulara sa se aproximezesolutia sistemului:

Ax = b. (1)

folosind algoritmul de eliminare Gauss cu pivotare partiala.Fie xGauss solutia aproximativa calculata. Sa se verifice solutia afisand :

|AinitxGauss − binit|

Ainit si binit sunt datele initiale nu cele modificate pe parcursul algoritmului.

Algoritmul de eliminare Gauss

Ideea de rezolvare este de a transforma succesiv sistemul (1) folosindoperatii elementare (ce nu modifica solutia sistemului) si a aduce matricea Ala o forma superior triunghiulara . Algoritmul se desfasoara in (n− 1) pasi.La un pas l oarecare se transforma coloana l a matricii A ın formasuperiortriunghiulara fara a modifica forma triunghiulara a primelor (l− 1) coloane.

Pas l: Presupunem ca elementul de pe pozitia (l, l) numit si elementpivot este nenul, all 6= 0. Pentru i = l+1, ..., n se inmulteste linia l a matriciiA cu (−ail/all) si se aduna la linia i. Schimbare se face si asupra componentei a vectorului b. Matricea A si vectorul b se modifica astfel:

a′ij = aij −

ail

all

alj , i = l + 1, n , j = l + 1, n (2)

b′i = bi −ail

allbl , i = l + 1, n , (3)

a′il = 0 , i = l + 1, n , (4)

a′ij = aij , b′i = bi pentru restul indicilor i, j

164

Page 166: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Alegerea pivotului all 6= 0Pentru a aduce pe pozitia (l, l) un element nenul avem trei posibilitati:

1. Varianta fara pivotareSe alege primul indice i0 ∈ {l, l+1, · · · , n} astfel ca ai0l 6= 0. Se interschimbaliniile i0 si l ale matricii A si componentele i0 si l ale vectorului b.

2. Varianta cu pivotare partialaSe alege indicele i0 ∈ {l, l + 1, · · · , n} astfel ca

|ai0l| = max{|ail|, i = l, n}.

Se interschimba liniile i0 si l ale matricii A si componentele i0 si l ale vec-torului b.

3. Varianta cu pivotare totalaSe aleg indicii i0, j0 ∈ {l, l + 1, · · · , n} astfel ca

|ai0j0| = max{|aij|, i = l, n, j = l, n}.

Se interschimba liniile i0 si l , coloanele j0 si l ale matricii A si componentelei0 si l ale vectorului b.

Daca dupa efectuarea pivotarii (indiferent de varianta ) elementul pivoteste nul (all = 0) atunci matricea A este singulara .

Obesrvatii:1)In pasul Gauss l (2)+(3)+(4) calculele se pot efectua in matricea a

initiala (a′ = a).2) Daca pentru memorarea matricii A si a vectorului b se foloseste o

matrice cu n linii si (n + 1) coloane - vectorul b fiind memorat ın coloana(n + 1) a matricii a calculele (3) sunt incluse in (2) pentru j = n + 1 ; sesimplificasi interschimbarea liniilor i0 si l.

3) Daca pivotul se alege folosind varianta 3., ın final trebuie sa avem grijasa restabilim ordinea initiala a componentelor vectorului solutie (tinand contde coloana j0 a pivotului de la fiecare pas).

165

Page 167: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Algoritmul :l = 1;cauta pivot;interschimba linii; (daca e cazul)while (l ≤ n− 1) and (all) 6= 0) do

begin(2)+(3)+(4);l = l + 1;cauta pivot;interschimba linii; (daca e cazul)

endif all = 0 then ’matrice singulara’else

beginrezolva sistem superior triunghiular; (formulele (2))verifica solutie;

endVerificarea solutieiFolosind datele initiale (nu cele modificate pe parcursul algoritmului) se

calculeaza si se afiseaza |AinitxGauss− binit| unde Ainit si binit sunt matricea sivectorul introduse initial iar xGauss este solutia calculata folosind algoritmulde mai sus. In general |AinitxGauss − binit| trebuie sa fie de ordinul 10−p cup > 4 daca s-a lucrat corect (p depinde de n dimensiunea sistemului).

x ∈ Rn, A ∈ Rn×n, y := Ax ∈ Rny = (yi)ni=1, yi =

n∑

j=1

aijxj , ∀i = 1, . . . , n

z ∈ Rn , z = (zi)ni=1 , |z| =

n∑

i=1

|zi|2

166

Page 168: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 4

TemaDate: n - dimensiunea sistemului, ε - precizia calculelor, matricea sis-

temului A ∈ Rn×n, vectorul termenilor liberi b ∈ Rn, sa se calculeze, candeste posibil, o descompunere LU a matricii A (A = LU). Folosind aceastadescompunere sa se calculeze determinantul matricii A (det A = det L det U)si xLU o solutie aproximativa a sistemului Ax = b.

Pentru verificarea solutiei sa se afiseze norma:

|AinitxLU − binit|

Ainit si binit sunt datele initiale nu cele modificate pe parcursul algoritmului.

Descompunere LU

TeoremaFie A ∈ Rn×n o matrice reala patratica de dimensiune n astfel ıncat

det Ak 6= 0, ∀k = 1, . . . , n, unde Ak = (aij)i,j=1,...,k. Atunci exista o unicamatrice inferior triunghiulara L = (lij)i,j=1,...,n cu lii = 1, i = 1, . . . , n si ounica matrice superior triunghiulara U = (uij)i,j=1,...,n astfel ıncat

A = LU (1)

(demonstratia se face prin inductie dupa n dimensiunea matricii A)

Algoritmul Doolittle de calcul al descompunerii LU

Fie A ∈ Rn×n o matrice reala patratica de dimensiune n care satisfaceipotezele teoremei de mai sus. Algoritmul de calcul al matricilor L si U aren etape. La fiecare pas se determina cate o linie din matricea U si cate ocoloana din matricea L.

Pasul p (p = 1, 2, . . . , n)Se determina elementele liniei p ale matricii U , upi, i = p, . . . , n, si ele-

mentele coloanei p ale matricii L, lip, i = p + 1, . . . , n lpp = 1.Sunt cunoscute de la pasii anteriori elementele primelor p− 1 linii din U

(elemente ukj cu k = 1, . . . , p− 1) si elementele primelor p− 1 coloane din L(elemente lik cu k = 1, . . . , p− 1).

167

Page 169: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Calculul elementelor liniei p din matricea U : upi i = p, . . . , n(upi = 0, i = 1, . . . , p− 1)

api =n∑

k=1lpkuki = (lpk = 0, k = p + 1, . . . , n) =

=p∑

k=1lpkuki = lppupi +

p−1∑

k=1lpkuki

Pentru i = p, . . . , n avem:

upi = api −p−1∑

k=1

lpkuki , i = p, . . . , n (2)

(lpp = 1 , lpk, uki k = 1, . . . , p − 1 sunt elemente de pe coloane din L silinii din U calculate la pasii anteriori)

Calculul elementelor coloanei p din matricea L: lip , i = p + 1, . . . , n(lip = 0 , i = 1, . . . , p− 1 , lpp = 1)

aip =n∑

k=1likukp = (ukp = 0, k = p + 1, . . . , n) =

=p∑

k=1likukp = lipupp +

p−1∑

k=1likukp

Daca upp 6= 0 putem calcula elementele nenule ale coloanei p a matricii Lastfel:

lip = (aip −p−1∑

k=1

likukp)/upp , i = p + 1, . . . , n (3)

(elementele lpk, uki k = 1, . . . , p − 1 sunt cunoscute deja la pasul p fiindcalculate anterior)

Daca upp = 0, calculele se opresc, descompunerea LU nu poate fi calculata- matricea A are un minorant Ap cu determinantul 0.Observatii:

1. Pentru memorarea matricilor L si U se poate folosi matricea A initiala .Vom folosi partea superior triunghiulara a matricii A pentru a memoraelementele uij ale matricii U pentru i = 1, 2 . . . , n , j = i, i + 1 . . . , nsi partea strict inferior triunghiulara a matricii A pentru a memoraelementele lij ale matricii L , i = 2, 3 . . . , n , j = 1, 2 . . . , i − 1. Seobserva ca nu am memorat nicaieri elementele lii = 1 ∀i = 1, . . . , n.Vom tine cont de acest lucru ın calculele ulterioare. Calculele (2) si (3)se pot face direct ın matricea A.

168

Page 170: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

2. Daca pentru o matrice A avem descompunerea LU , rezolvarea sistemu-lui Ax = b se reduce la rezolvarea a doua sisteme triunghiulare:

Ax = b←→ LUx = b←→{

Ly = b,Ux = y.

Se rezolva ıntai sistemul inferior triunghiular Ly = b. Apoi se rezolvasistemul superior triunghiular Ux = y unde y este solutia obtinutadin rezolvarea sistemului precedent Ly = b. Vectorul x rezultat dinrezolvarea sistemului Ux = y este si solutia sistemului initial Ax = b.

169

Page 171: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 5

TemaDate: n - dimensiunea sistemului, ε - precizia calculelor, matricea sis-

temului A ∈ Rn×n,vectorul termenilor liberi b ∈ Rn, sa se calculeze descom-punerea QR a matricii A si daca matricea sistemului A este nesingulara sase aproximeze solutia sistemului:

Ax = b. (1)

folosind algoritmul Givens.Sa se afiseze norma:

||Ainit −QR||unde Ainit este matricea initiala iar Q ∈ Rn×n este matricea ortogonala siR ∈ Rn×n este matricea triunghiulara superior din descompunerea QR amatricii A calculate cu algoritmul lui Givens.

Fie A o matrice reala patratica de dimensiune n. Presupunem ca pentrumatricea A avem o descompunere de forma:

A = Q ∗R (2)

unde Q este o matrice ortogonala (QT ∗Q = I) iar R este o matrice superiortriunghiulara. Avand o asemenea descompunere rezolvarea sistemului liniarAx = b se reduce la rezolvarea sistemului superior triunghiular Rx = QT bastfel:

Ax = b ←→ QRx = b ←→ QT QRx = QT b ←→ Rx = QT b

Algoritmul lui Givens

Pentru a aduce sistemul Ax = b la forma Rx = QT b se folosesc matricile de

170

Page 172: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

rotatie. O matrice de rotatie R(p, q) = (rij)i,j=1,n are urmatoarea forma :

R(p, q) =

1 0 · · · 0 · · · 0 · · · 00 1 · · · 0 · · · 0 · · · 0...0 0 · · · c · · · s · · · 0...0 0 · · · −s · · · c · · · 0...0 0 · · · 0 · · · 0 · · · 1

rij =

1 pentru i = j, i 6= p si i 6= qc pentru i = j, i = p si i = qs pentru i = p, j = q−s pentru i = q, j = p0 pentru restul indicilor i, j

unde p, q ∈ {1, . . . , n} iar c si s sunt doua numere reale care satisfac relatiac2 + s2 = 1 (c si s pot fi alesi astfel incat c = cos t, s = sin t). Dupa cumse observa , matricea R(p, q) nu depinde doar de p si q ci depinde si deparametrul t pe care l-am omis pentru a simplifica notatia.

Daca inmultim la dreapta o matrice oarecare A cu o matrice de rotatieR(p, q), B = R(p, q)A, matricea rezultat se obtine din matricea A astfel:Notam cu Ai, Bi - linia i a matricii A respectiv a matricii B. Matricea Bare urmatoarele linii:

Bi = Ai liniile i = 1, . . . , n , i 6= p , i 6= qBp = cAp + sAq linia pBq = −sAp + cAq linia q

Algoritmul se desfasoara ın (n−1) pasi - la pasul p se transforma coloanap a matricii A ın forma superior triunghiulara .

Pasul pLa acest pas se transforma matricea A astfel:

A′ = R(p, n) · · ·R(p, p + 2)R(p, p + 1)Ab′ = R(p, n) · · ·R(p, p + 2)R(p, p + 1)b

171

Page 173: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

unde elementele c = ci si s = si din R(p, i), i = p + 1, . . . , n se aleg astfel cadupa ınmultirea cu R(p, i) elementul aip sa devina 0.

c = app/√

a2pp + a2

ip

s = aip/√

a2pp + a2

ip

Daca a2pp+a2

ip = 0 acest lucru implica faptul ca app = aip = 0 , deci elementul

aip este deja nul. In acest caz putem lua c = 1, s = 0 - matricea de rotatiecoincide cu matricea unitate I - nu se face nici o schimbare in matricea A.

a′ = a; b′ = b;for i = p + 1, . . . , n

begin

r =√

a2pp + a2

ip;

if r = 0 then c = 1, s = 0 (sau next i)else c = app/r , s = aip/r;(se efectueaza transformarea R(p, i) ∗ A )(se modifica doar liniile p si i din matricea A)for j = p + 1, . . . , n

begina′

pj = c apj + s aij;a′

ij = −s apj + c aij;end

aip = 0, app = r;b′p = c bp + s bi;b′i = −s bp + c bi;a = a′; b = b′;

end

Matricea Q din factorizarea QR pentru A este:

Q = RT (1, 2)RT (1, 3) · · ·RT (1, n)RT (2, 3) · · ·RT (2, n) · · ·RT (n− 1, n)

In algoritmul Givens se poate calcula transpusa matricii Q:

QT = R(n− 1, n) · · ·R(2, n) · · ·R(2, 3)R(1, n) · · ·R(1, 2)

astfel:

172

Page 174: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

la ınceput se initializeaza QT = Ila fiecare pas p se efectueaza asupra matricii QT aceleasi transformari ca

siasupra matricii A;

Pasul p se modifica astfel:

a′ = a; b′ = b; q = qT ;for i = p + 1, . . . , n

begin

r =√

a2pp + a2

ip;

if r = 0 then c = 1, s = 0 (sau next i)else c = app/r , s = aip/r;for j = p + 1, . . . , n

begina′

pj = c apj + s aij;a′

ij = −s apj + c aij;end

(se efectueaza transformarea R(p, i) ∗QT )for j = 1, . . . , n

beginqpj = c qT

pj + s qTij;

qij = −s qTpj + c qT

ij;end

a′ip = 0, a′

pp = r;b′p = c bp + s bi;b′i = −s bp + c bi;a = a′; b = b′; qT = q;

end

Dupa ce s-a adus matricea A la forma superior triunghiulara , se verificadaca nu este singulara (aii 6= 0, i = 1, . . . , n) si apoi se rezolva sistemulsuperior triunghiular.

Verificarea descompunerii se face astfel:Se aplica algoritmul lui Givens astfel ca sa fie construitasi matricea QT

apoi se calculeaza matricea:

C = Ainit −QR

173

Page 175: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

si se afiseaza norma matricii C:

C ∈ Rn×n , C = (cij)ni,j=1 , ||C|| = max{

n∑

i=1

|cij| ; j = 1, . . . , n}

A, B ∈ Rn×n , P := A ∗B ∈ Rn×n P = (pij)ni,j=1 , pij =

n∑

k=1

aikbkj

174

Page 176: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 6

TemaDate: n - dimensiunea sistemului, ε - precizia calculelor, matricea A ∈

Rn×n sa se aproximeze inversa matricii A (daca este nesingulara!!) utilizandmetoda Gauss-Jordan.

Sa se afiseze norma:||AinitA−1

GJ − In||unde Ainit este matricea initiala iar A−1

GJ este inversa calculata cu metodaGauss-Jordan. Pentru norma matriciala de mai sus se foloseste norma definitaın laboratorul 4.

C ∈ Rn×n , C = (cij)ni,j=1 , ||C|| = max{

n∑

i=1

|cij| ; j = 1, . . . , n}.

Algoritmul Gauss-Jordan de inversare a unei matrici

Fie A o matrice reala patratica de dimensiune n.

Ax = y ∼ (Gauss-Jordan) ∼ x = A−1y

y1 = a11x1 + · · ·+ a1nxn (1)y2 = a21x1 + · · ·+ a2nxn (2)...

yn = an1x1 + · · ·+ annxn (n)

In algoritmul Gauss-Jordan se procedeaza astfel: se scoate x1 dintr-una dinrelatiile de la (1) la (n) si se ınlocuieste ın toate celelalte. Relatia din cares-a scos x1 se aduce pe prima pozitie. Se scoate x2 din una din relatiile dela (2) la (n), se aduce aceasta relatie pe pozitia a doua si se ınlocuieste x2

ın toate celelate relatii. ... Se repeta aceste operatii pana s-au ınlocuit toatevariabilele xi. Se ajunge la un sistem de forma:

x = Byτ unde yτ = Pτy =⇒ A−1 = BPτ (1)

(Pτ este o matrice de permutari care reflecta schimbarile de linii facute)Pasul p (p = 1, 2, . . . , n)

175

Page 177: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Vectorul τ reflecta schimbarile de linii facute pana la acest pas. Initial(p = 1) τi = i, i = 1, . . . , n. La acest pas sistemul are urmatoarea forma :

xi =p−1∑

j=1aijyτj

+ aipxp +n∑

j=p+1aijxj , i = 1, . . . , p− 1

yτp=

p−1∑

j=1apjyτj

+ appxp +n∑

j=p+1apjxj

yτi=

p−1∑

j=1aijyτj

+ aipxp +n∑

j=p+1aijxj , i = p + 1, . . . , n

La acest pas se scoate xp dintr-una din relatii si se ınlocuieste ın toate celelate.Pentru stabilitatea algoritmului, se cauta i0 ∈ {p, . . . , n} astfel ıncat:

|ai0p| = max{|aip| ; i = p, . . . , n}

Daca ai0p = 0 (|ai0p| ≤ ε) atunci matricea A este singulara, inversa nu poatefi calculata.Daca ai0p 6= 0 (|ai0p| > ε), se interschimba linia p cu linia i0 si se actualizeazavectorul τ (τi0 ↔ τp). Sistemul ramane ın continuare ın aceeasi forma ca maisus. Avem:

xp = (−p−1∑

j=1

apjyτj+ yτp

−n

j=p+1

apjxj)/app

Inlocuind xp ın celelalte (n− 1) relatii obtinem:

xi(i = 1, . . . , p− 1) sau yτi(i = p + 1, . . . , n) =

=p−1∑

j=1aijyτj

+n∑

j=p+1aijxj + aip(−

p−1∑

j=1apjyτj

+ yτp−

n∑

j=p+1apjxj)/app =

=p−1∑

j=1(aij − aipapj/app)yτj

+ (aip/app)yτp+

n∑

j=p+1(aij − aipapj/app)xj

Sistemul a devenit :

xi =p−1∑

j=1(aij −

aip

appapj)yτj

+aip

appyτp

+n

j=p+1

(aij −aip

appapj)xj , i = 1, . . . , p− 1

xp = −p−1∑

j=1

apj

appyτj

+1

appyτp−

n∑

j=p+1

apj

appxj

yτi=

p−1∑

j=1(aij −

aip

app

apj)yτj+

aip

app

yτp+

n∑

j=p+1

(aij −aip

app

apj)xj , i = p + 1, . . . , n

176

Page 178: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

La pasul p matricea A se transforma ın matricea A′ astfel:Pentru i = 1, . . . , n , i 6= p

a′ij = aij −

aip

appapj , j = 1, . . . , n , j 6= p

a′ip =

aip

app

Pentru i = p

a′pj = −apj

app, j = 1, . . . , n , j 6= p

a′pp =

1

app

Calculele se pot face la fiecare pas p ın matricea A, fara a mai folosi matriceaauxiliara A′. La final (dupa efectuarea pasului n) ın matricea A vom aveamatricea B din formula (1).Matricea Pτ are forma:

Pτ =

eTτ1

eTτ2

...

eTτn

= (eσ1eσ2· · · eσn

)

unde eTτi

= (0, 0, . . . , 1, . . . , 0) (1 este pe pozitia τi). Permutarea σ este inversapermutarii τ , σ = τ−1.

Pentru a obtine matricea A−1 trebuie sa facem operatia BPτ . Nu estenevoie sa se faca o ınmultire matriciala ci pentru a obtine matricea A−1 se’amesteca’ coloanele matricii B conform cu permutarea σ.

A−1 = BPτ = (Beσ1Beσ2

· · · Beσn)

unde Beσieste coloana σi a matricii B si ın acelasi timp coloana i a matricii

A−1.

177

Page 179: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 7

TemaDate n dimensiunea sistemului, n ≥ 500, ε - precizia calculelor, vectorul

termenilor liberi b ∈ Rn:- sa se construiasca o matrice rara A ∈ Rn×n si sa se memoreze folosind

una din cele 2 variante economice de memorare. Presupunem ca matricea Aare 5 elemente nenule pe fiecare linie cu exceptia celui diagonal iar elementuldiagonal este suma acestor elemente nenule de pe fiecare linie:

aii =n

j = 1aij 6= 0

aij , i = 1, . . . , n

- cu aceasta memorare economicaa matricii A, sa se aproximeze solutiasistemului liniar:

Ax = b (1)

folosind metodele Jacobi si Gauss-Seidel.- sa se verifice solutia afisand :

|AxJ − binit| sau |AxGS − binit|

unde xJ si xGS sunt aproximarile solutiei obtinute cu algoritmul Jacobi re-spectiv Gauss-Seidel.

Presupunand ca detA 6= 0. Vom nota solutia exacta a sistemului (1) cux∗.

x∗ := A−1b

Metode iterative de rezolvare a sistemelor liniare

Metodele iterative au fost deduse pentru sisteme liniare de dimensiuni”mari” (n ”mare”) iar matricea sistemului, A, este matrice rara (are putineelemente aij nenule). In cazul metodelor iterative matricea A nu se trans-forma (ca ın cazul algoritmului de eliminare Gauss sau descompunerilor LUsau a factorizarilor QR) ci sunt folosite doar elementele nenule ale matricii

178

Page 180: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

pentru aproximarea solutiei x∗ (pentru matricile rare se folosesc scheme dememorare economice specifice).

Pentru a aproxima solutia x∗ se construieste un sir de vectori {x(k)} ⊆ Rn

care (ın anumite conditii) converge la solutia exacta x∗ a sistemului (1).

x(k) −→ x∗ , pentru k →∞

.

Metode de constructie a sirului x(k)

Vom presupune catoate elementele diagonale ale matricii A sunt nenule:

aii 6= 0 , i = 1, . . . , n.

Sirul {x(k)} se construieste pornind de la un vector initial dat x(0) iar apoix(k+1) se obtine din vectorul precedent x(k):

Vectorul x(0) se obisnuieste sa se initializeze cu 0:

x(0)i = 0 , i = 1, . . . , n

Se descompune matricea A astfel:

A = B − C, cu B matrice usor inversabila

Sistemul devine:

Ax = b←→ Bx− Cx = b←→ Bx = Cx + b←→ x = B−1Cx + B−1b

Se considera sirul:

x(k+1) = Mx(k) + d, unde M = B−1C si d = B−1b , x(0) ales arbitrar

Sirul x(k) astfel construit converge (atunci cand converge, limita este chiar x∗

solutia sistemului (1)) daca si numai daca raza spectrala a matricii M estestrict mai mica decat 1. Raza spectrala a unei matrici, ρ(M), se defineste cafiind cea mai mare valoare proprie in modul:

ρ(M) = max{|λi|; λi valoare proprie a matricii M, i = 1, . . . , n}

179

Page 181: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Metoda lui Jacobi

Presupunem ca aii 6= 0, i = 1, . . . , n. In acest caz, matricea B este matricediagonala, B = diag[a11, a22, . . . , ann], C = B − A.

Pentru i = 1, . . . , n

x(k+1)i = (bi −

n∑

j=1,j 6=i

aijx(k)j )/aii

Metoda Gauss-Seidel

Presupunem ca aii 6= 0, i = 1, . . . , n. Matricea B este matrice inferiortriunghiulara, B = partea inferior triunghiulara a matricii A = (bij), bij = 0pentru j > i , bij = aij, pentru j ≤ i , C = B − A = (cij), cij = 0 pentruj ≤ i, cij = −aij, pentru j > i.

Pentru i = 1, . . . , n

x(k+1)i = (bi −

i−1∑

j=1

aijx(k+1)j −

n∑

j=i+1

aijx(k)j )/aii

Daca matricea A are diagonala dominanta ın raport cu liniile matricii:

|aii| >n

j=1,j 6=i

|aij| , pentru toti i = 1, . . . , n

sirul {x(k)} converge la solutia x∗. Pentru metodele iterative convergenta saudivergenta sirului x(k) nu depinde de alegerea iteratiei initiale x(0).

Pentru a aproxima x∗ trebuie sa calculam un x(k) cu k suficient de mare.Se stie ca, daca diferenta dintre doua iteratii succesive este suficient de ”mica”atunci ultimul vector calculat este ”aproape” de solutia exacta cautata:

|x(k) − x(k−1)| ≤ ε −→ |x(k) − x∗| ≤ cε , c ∈ R (2)

Pentru a aproxima x∗ nu este nevoie sa memoram tot sirul de vectori x(k)

ci doar pe ultimul, cel care satisface relatia (2). Prin urmare nu avem nevoieın program decat de doi vectori, xc si xp:

xc; x(k+1) , xp

; x(k)

Pentru metodele de la 1) la 9) se poate folosi un singur vector x = xc = xp.

180

Page 182: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Schema de implementarea a unei metode iterative

xc = xp = 0 ; k = 0 ;do{xp = xc ;calculeaza noul xc (cu una din formulele de mai sus) ;calculeaza ∆ x = |xc − xp| ;k=k+1;}

while (∆ x ≥ ε si k ≤ kmax si ∆ x ≤ 108)if ( ∆ x < ε ) xc ≈ x∗ ;else divergenta ;

Memorarea/stocarea matricilor rare

Pentru matricile rare se memoreaza doar elementele nenule ale matriciiA si informatii privind indicii de linie si coloana ale respectivelor elementeastfel ıncat sa putem reface matricea ın forma clasica.Vom nota cu NN numarul de elemente nenule ale matricii A. Vom memoraseparat diagonala matricii A ıntr-un vector diag:

diag i = aii , i = 1, . . . n

Prezentam ın continuare doua variante de memorare rara a matricilor cuputine elemente nenule. In ambele cazuri, elementele nenule se vor memoraın ordinea liniilor.

Varianta 1:

Matricea A se memoreaza folosind 4 vectori:diag (cu n elemente, memoreaza diagonala matricii A),valori (cu NN − n componente numere reale nenule),indici coloana (cu NN − n componente numere naturale),inceput linie (cu n + 1 componente numere naturale)

valori - contine valorile nenule ale matricii A ın ordinea liniilor (cu exceptiaelementelor diagonale)indici coloana - contine indicii de coloana ai elementelor corespunzatoare dinvalori

181

Page 183: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

inceput linie - pozitia (indicele) ın vectorul valori a primului element nenulde pe linia i(Vom pune inceput linie[n + 1] = NN − n + 1)inceput linie[i+1] - inceput linie[i] = numarul de elemnte nenule de pe liniai (cu exceptia celui diagonal)

Varianta 2:

Matricea A se memoreaza folosind 3 vectori:diag (cu n elemente, continand diagonala matricii A),valori, indici coloana

valori - contine valorile aij nenule ale matricii A ın ordinea liniilor + elementefalse (egale cu 0)care marcheaza sfarsitul/ınceputul unei noi linii.indici coloana - contine indicii de coloana ai elementelor corespunzatoare dinvalori + elemente false care marcheaza sfarsitul/ ınceputul unei noi liniivalori[k] = 0 marcheaza sfarsitul unei linii si ınceputul liniei care ıncepe lapozitia k + 1 ın vectorul valoriind col[k] = indicele liniei care ıncepe de la pozitia k + 1

ExempluFie matricea A ∈ R5:

A =

15.3 0 3.2 0 0

1.4 10.2 1.05 0 0.33

0 0 20.3 0 0

0 1.3 0 2.45 0

0.73 0 0 1.5 25.4

Varianta 1 de memorare:

diag = {15.3 , 10.2 , 20.3 , 2.45 , 25.4}

valori = {3.2 , 1.4 , 1.05 , 0.33 , 1.3 , 0.73 , 1.5}

indici coloana = {3 , 1 , 3 , 5 , 2 , 1 , 4}

inceput linie = {1 , 2 , 5 , 5 , 6 , 8}

182

Page 184: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Varianta 2 de memorare:

diag = {15.3 , 10.2 , 20.3 , 2.45 , 25.4}

valori = {0.0 , 3.2 , 0.0 , 1.4 , 1.05 , 0.33 , 0.0 , 0.0 , 1.3 , 0.0 ,0.73 , 1.5}

indici coloana = {1 , 3 , 2 , 1 , 3 , 5 , 3 , 4 , 2 , 5 , 1 , 4}

Fie:

x(0) =

1.02.03.04.05.0

, b =

5.04.03.02.01.0

Vom calcula x(1)1 si x

(1)2 cu varianta 1, varianta 2 si varianta clasica pentru

metoda Gauss-Seidel (metoda 9)).

x(1)1 = varianta clasica

= (5.0− 0.0 ∗ 2.0− 3.2 ∗ 3.0− 0.0 ∗ 4.0− 0.0 ∗ 5.0)/15.3

= varianta 1

= (b1 − valori[1] ∗ x(0)indici coloana[1])/diag 1

= (5.0− 3.2 ∗ 3.0)/15.3

= varianta 2

= (b1 − valori[2] ∗ x(0)indici coloana[2])/diag 1

= (5.0− 3.2 ∗ 3.0)/15.3

183

Page 185: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

x(1)2 = varianta clasica

= (4.0− 1.4 ∗ x(1)1 − 1.05 ∗ 3.0− 0.0 ∗ 4.0− 0.33 ∗ 5.0)/10.2

= varianta 1

= (b2 − valori[2] ∗ x(1)indici coloana[2] − valori[3] ∗ x

(0)indici coloana[3]−

−valori[4] ∗ x(0)indici coloana[4])/diag 2

= (4.0− 1.4 ∗ x(1)1 − 1.05 ∗ 3.0− 0.33 ∗ 5.0)/10.2

= varianta 2

= (b2 − valori[4] ∗ x(1)indici coloana[4] − valori[5] ∗ x

(0)indici coloana[5]−

−valori[6] ∗ x(0)indici coloana[6])/diag 2

= (4.0− 1.4 ∗ x(1)1 − 1.05 ∗ 3.0− 0.33 ∗ 5.0)/10.2

184

Page 186: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 8

TemaDate n dimensiunea matricii A, ε - precizia calculelor, matricea simetrica

A ∈ Rn×n, A = AT , sa se aproximeze valorile proprii ale matricii A folosindmetoda Jacobi.

Metoda lui Jacobi pentru aproximarea valorilor proprii alematricilor simetrice

Fie A ∈ Rn×n o matrice reala de dimensiune n. Se numesc valori pro-prii asociate matricii A, numerele complexe λ ∈ C, radacinile polinomuluicaracteristic:

pA(λ) = det(λI − A) = 0

Pentru a aproxima valorile proprii ale unei matrici se foloseste relatia deasemanare. Doua matrici A si B se numesc asemenea (A ∼ B) daca existao matrice nesingulara P astfel ıncat A = PBP−1 (←→ B = P−1AP ). Seobserva ca daca A ∼ B atunci si B ∼ A. Relatia de asemanare se folosesteın algoritmii de aproximare a valorilor proprii deoarece matricile asemeneaau acealasi polinom caracteristic (pA(λ) ≡ pB(λ)) si ın consecinta au aceleasivalori proprii.

Fie A ∈ Rn×n o matrice simetrica (A = AT ) . Matricile simetrice autoate valorile proprii reale.

Ideea algoritmului lui Jacobi este de a construi un sir de matrici simetrice,asemenea cu matricea initiala , sir care convearge la o matrice diagonala.Matricea diagonala limita va fi asemenea cu matricea initiala A si prin urmarepe diagonala acestei matricii limita vom gasi valorile proprii cautate.

Constructia sirului de matrici

Sirul de matrici {A(k)} ⊆ Rn×n se construieste stfel:

A(0) = A , A(k+1) = Rpq(θ)A(k)RT

pq(θ)

unde Rpq(θ) sunt matrici de rotatie.

185

Page 187: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

• indicii (p, q) sunt alesi ca fiind indicii celui mai mare element nediag-onal luat ın valoare absoluta din matrice:

|a(k)pq | = max{|a(k)

ij |; i = 1, . . . , n , j = 1, . . . , n , i 6= j} = (A = AT ) =

= max{|a(k)ij |; i = 2, . . . , n , j = 1, . . . , i− 1}

(1)(din cauza simetriei sirului de matrici, se poate cauta elementul a(k)

pq de

mai sus doar ın partea strict inferior triunghiulara a matricii A(k))

• unghiul θ (c = cos θ, s = sin θ, t = tgθ) este ales astfel ca elementele(p, q) si (q, p) ale matricii A(k+1) sa devina zero, i.e.,

a(k+1)pq = a(k+1)

qp = 0.

Schema algoritmului

k = 0;calculeaza indicii p si q (vezi (1)) ;calculeaza unghiul θ, adica c, s si t;while (A 6= matrice diagonala si k ≤ kmax)

{A = Rpq(θ) A RT

pq(θ) ;( a se vedea formulele (5) de mai jos )calculeaza indicii p si q (vezi (1));calculeaza unghiul θ, adica c, s si t ;( a se vedea formulele (3) si (4) de mai jos )k = k + 1;}

186

Page 188: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Pasul k al algoritmului

La acest pas se constrieste matricea B pornind de la matricea A astfel:

B = Rpq(θ) A RTpq(θ)

Trecerea de la matricea A la matricea B se face dupa urmatoarele formule:

bpj = bjp = c apj + s aqj , j = 1, 2, . . . , n, j 6= p, j 6= qbqj = bjq = −s apj + c aqj , j = 1, 2 . . . , n, j 6= p, j 6= qbpp = c2 app + s2 aqq + 2 c s apq

bqq = s2 app + c2 aqq − 2 c s apq

bpq = bqp = (c2 − s2) apq + c s (aqq − app)bij = aij ın rest

(2)

Pentru a deduce unghiul θ se impune conditia bpq = bqp = 0, adica :

(c2 − s2)apq + c s (aqq − app) = 0

de unde rezulta :

α = cotg(2θ) =(app − aqq)

2apq

Daca notam cu t = tgθ avem:

cotg(2θ) =(1− t2)

2t

rezulta ca t satisface ecuatia:

t2 + 2α t− 1 = 0

decit = −α + (α2 + 1)1/2 sau t = −α − (α2 + 1)1/2.

Dintre cele doua valori de mai sus ale lui t se alege radacina de modulminim (θ ∈ [0, π/4]):

t = −α + semn(α)√

α2 + 1 =

−α +√

α2 + 1 daca α ≥ 0

−α−√

α2 + 1 daca α < 0

(3)

187

Page 189: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Avem

c =1√

1 + t2, s =

t√1 + t2

(4)

Cazul apq = 0

Tinand cont ca apq este cel mai mare element nediagonal ın valoare ab-soluta, cazul apq = 0 ınseamna ca matricea A la care s-a ajuns, este matricediagonala, algoritmul oprindu-se ın aceasta situatie - pe diagonala matriciiA se gasesc aproximarile valorilor proprii cautate. Prin urmare testul:

A 6= matrice diagonala

din schema algoritmlui de mai sus se poate ınlocui cu testul:

|apq| > ε

unde ε este precizia calculelor.Se observa ca:

bpp − app = s2(aqq − app) + 2c s apq = 2s (c− α s)apq == 2s [c− (c2 − s2)s/(2c s)]apq = t apq

La fel se deduce ca :bqq − aqq = −t apq

La pasul k operatia A = Rpq(θ) A RTpq(θ) se poate face astfel astfel:

apj = c apj + s aqj , j = 1, 2, . . . , n , j 6= p , j 6= q,

aqj = ajq = −s ajp + c aqj , j = 1, 2 . . . , n , j 6= p , j 6= q,

ajp = apj , j = 1, 2 . . . , n , j 6= p , j 6= q,

app = app + t apq

aqq = aqq − t apq

apq = aqp = 0

(5)

188

Page 190: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Observatie: Matricea A fiind simetrica se poate memora ıntr-un vector

v de dimensiunen(n + 1)

2. In acest fel se memoreaza doar partea inferior

triunghiulara a matricii. Vectorul v va contine elementele:

v : a11, a21, a22, . . . , ar1, ar2, . . . , arr, . . . , an1, an2, . . . , ann

restul elementelor din matricea A se regasesc din relatia de simetrie:

aij = aji

Exemple

A =

0 0 10 0 11 1 1

are valorile proprii λ1 = −1 , λ2 = 0 , λ3 = 2

A =

1 1 21 1 22 2 2

are valorile proprii λ1 = 0 , λ2 = 2(1−√

2) , λ3 = 2(1+√

2)

A =

1 0 1 00 1 0 11 0 1 00 1 0 1

are valorile proprii λ1 = λ2 = 0 , λ3 = λ4 = 2

A =

1 2 3 42 3 4 53 4 5 64 5 6 7

are valorile proprii λ1 = λ2 = 0 , λ3,4 = 2(4±√

21)

189

Page 191: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 9

TemaDate n - gradul polinomului, ε - precizia calculelor, polinomul P de grad n:

P (x) = a0xn + a1x

n−1 + · · ·+ akxn−k + · · ·+ an−1x+ an , ai ∈ R ∀i , a0 6= 0

(pentru polinomul P se dau cei n + 1 coeficienti reali ai, i = 0, . . . , n) sa seaproximeze toate radacinile reale folosind metoda lui Laguerre. De cate orieste necesara calcularea valorii unui polinom ıntr-un punct oarecare se vafolosi schema lui Horner.

Metoda Laguerre de aproximare a radacinilor reale ale unuipolinom

Fie P un polinom de grad n:

P (x) = a0xn + a1x

n−1 + · · ·+ an , (a0 6= 0) (1)

Toate radacinile reale ale polinomului P se afla ın intervalul [−R, R] unde Reste dat de:

R =|a0|+ A

|a0|, A = max{|ai| ; i = 1, n} (2)

Schema lui Horner de calcul a valorii P (x0)

Un mod eficient de a calcula valoarea polinomului P ıntr-un punct x0 ∈ Roarecare este dat de metoda lui Horner:

b0 = a0 ,bi = ai + bi−1x0 , i = 1, n

(3)

In sirul de mai sus:P (x0) := bn

iar ceilalti termeni bi calculati, sunt coeficientii polinomului cat, Q, dinımpartirea cu rest:

P (x) = (x− x0)Q(x) + r ,Q(x) = b0x

n−1 + b1xn−2 · · ·+ bn−2x + bn−1 ,

r = bn = P (x0).(4)

190

Page 192: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Pentru a calcula P (x0) (bn) cu formulele (3) se poate folosi o singuravaloare reala b ∈ R si nu un vector b ∈ Rn.

Metoda Laguerre

Pentru a aproxima o radacina reala x∗ (din intervalul [-R, R]) a polinomuluiP definit de (1), se construieste un sir de numere reale, {xk}, care convergela radacina x∗ ∈ [−R, R] cautata (xk −→ x∗ pentru k →∞) .

Pornind cu x0 o valoare reala data, sirul {xk} se construieste astfel (xk+1

se calculeaza din xk):

xk+1 = xk −n P (xk)

P ′(xk) + semn( P ′(xk) )√

H(xk), k = 0, 1, . . .

xk+1 = xk −∆ xk (∆ xk =n P (xk)

P ′(xk) + semn( P ′(xk) )√

H(xk))

H(xk) = (n− 1)2 [P ′(xk)]2 − n(n− 1)P (xk)P

′′(xk)

(5)

Prin P ′ si P ′′ am notat prima si respectiv a doua derivata a polinomului P .Pentru x ∈ R functia semn(x) se defineste astfel:

semn(x) =

{

1 daca x ≥ 0−1 daca x < 0

Observatie importanta: Alegerea iteratiei initiale, x0, poate determinaconvergenta sau divergenta sirului xk la x∗. De obicei, o alegere a iteratieiinitiale x0 ın vecinatatea lui x∗ asigura convergenta xk −→ x∗ pentru k →∞.

Nu este nevoie de memorat ıntreg sirul {xk} ci doar ’ultimul’ element xk0

calculat. Se considera ca o valoare xk0≈ x∗ (este ’ultimul’ element calculat)

atunci cand diferenta dintre doua iteratii succesive devine suficient de mica,i.e.,

|xk0− xk0−1| < ε

191

Page 193: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

unde ε este precizia cu care vrem sa aproximam solutia x∗. Prin urmare,o schema posibila de aproximare a solutiei x∗ cu metoda lui Laguerre esteurmatoarea:

Metoda lui Laguerre

x = (x0) = ales aleator ; k=0 ;(pentru convergenta sirului {xk} este de preferat de

ales iteratia initiala x0 ın vecinatatea solutiei cautate )do

{calculeaza ∆ x din formula (5) ;

if ( H(x) < 0 ) EXIT;(se poate ıncerca schimbarea iteratiei initiale x0)

if ( numitorul din ∆ x este ın [-ε, ε ]) EXIT;(se poate ıncerca schimbarea iteratiei initiale x0)x = x−∆ x;

k=k+1;}

while (|∆ x| ≥ ε si k ≤ kmax si |∆ x| ≤ 108)if ( |∆ x| < ε ) xk ≈ x∗ ;else divergenta ; (de ıncercat schimbarea lui x0)

Gasirea altor radacini reale ale polinomului P

Dupa ce a fost gasita o aproximare x (ultimul xk calculat ın schemadescrisa mai sus) a unei radacini x∗ a polinomului P , se ımparte polinomulP la (x − x) (vezi formula (4)) si se reia procedeul Laguerre cu P := Q(Q fiind restul ımpartirii lui P la (x − x)). Coeficientii polinomului Q secalculeaza folosind formulele (3).

192

Page 194: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Exemple

P (x) = (x− 1)(x− 2)(x− 3) = x3 − 6x2 + 11x− 6 ,

a0 = 1.0 , a1 = −6.0 , a2 = 11.0 , a3 = −6.

P (x) = (x− 2

3)(x− 1

7)(x + 1)(x− 3

2)

=1

42(42x4 − 55x3 − 42x2 + 49x− 6)

P (x) = (x− 1)(x− 1

2)(x− 3)(x− 1

4)

=1

8(8x4 − 38x3 + 49x2 − 22x + 3)

P (x) = (x− 1)2(x− 2)2

= x4 − 6x3 + 13x2 − 12x + 4

193

Page 195: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 10

TemaDate n + 1 puncte, x0, x1, . . ., xn (xi ∈ R ∀i) si cele n + 1 valori ale

unei functii necunoscute f ın aceste puncte, y0 = f(x0), y1 − f(x1), . . .,yn = f(xn), sa se aproximeze f(x) pentru un x dat, x 6= xi , i = 0, . . . , n,folosind polinomul de interpolare Lagrange forma Newton (diferentele di-vizate se calculeaza folosind schema lui Aitken) si functiile spline cubice declasa C2 (cunostem ın plus despre functia f valorile u = f ′(a) si v = f ′(b)).

Interpolare numerica

Cunoscand valorile unei functii ıntr-un numar finit de puncte, x0, x1, . . . , xn

sa se aproximeze valoarea functiei respective ıntr-un alt punct x 6= xi, i = 0, n.

x x0 x1 · · · xn

f y0 y1 · · · yn

Dat x 6= xi sa se aproximeze f(x). Pentru a aproxima f(x) se construieste ofunctie elementara S(x) care satisface S(xi) = yi, i = 0, n. Valoarea aprox-imativa pentru f(x) este S(x). Consideram doua moduri de constructie afunctiei S: polinom de grad n (polinomul de interpolare Lagrange) si functiepolinomiala de grad 3 pe portiuni (functie spline cubica).

Polinomul de interpolare Lagrange

Unicul polinom de grad n, Ln, ce satisface relatia de interpolare:

Ln(xi) = yi , i = 0, n

poate fi scris ın mai multe feluri. O prima forma este urmatoarea:

Ln(x) =n

i=0

(

yi

n∏

j=0,j 6=i

x− xj

xi − xj

)

O a doua forma este forma Newton a polinomului de interpolare Lagrange:

Ln(x) = y0 + [x0, x1]f (x− x0) + [x0, x1, x2]f(x− x0)(x− x1) + · · ·

+[x0, . . . , xn]f (x− x0)(x− x1) · · · (x− xn−1)

194

Page 196: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Aceasta forma are avantajul ca daca se mai adaugam un nod (xn+1, yn+1)valoarea polinomului Lagrange Ln+1 se calculeaza simplu din Ln astfel:

Ln+1(x) = Ln(x) + [x0, . . . , xn+1]f (x− x0)(x− x1) · · · (x− xn)

Coeficientii:

[x0, x1, ..., xk]f =k

i=0

yi

k∏

j=0,j 6=i(xi − xj)

se numesc diferente divizate de ordin k ale functiei f pe nodurile x0, . . . , xk.Calculul diferentelor divizate este mai economic din punct de vedere numericdaca se foloseste definitia recursiva:

[x0, x1]f =y1 − y0

x1 − x0, [x0, x1, x2]f =

[x2, x1]f − [x1, x0]fx2 − x0

[x0, ..., xk+1]f =[xk+1, . . . , x1]f − [xk, . . . , x0]f

xk+1 − x0

Schema lui Aitken de calcul a diferentelor divizate:Schema lui Aitken este un procedeu rapid, ın n pasi, de calcul a diferentelor

divizate necesare construirii polinomului Lagrange ın forma Newton. Modulde calcul este ilustrat ın tabelul de mai jos:

Pas 1 Pas 2 Pas n

x0 y0

x1 y1 [x0, x1]fx2 y2 [x1, x2]f [x0, x1, x2]fx3 y3 [x2, x3]f [x1, x2, x3]f...xn−1 yn−1 [xn−2, xn−1]f [xn−3, xn−2, xn−1]fxn yn [xn−1, xn]f [xn−2, xn−1, xn]f · · · [x0, ..., xn]f

La pasul k se calculeaza diferentele divizate de ordin k:

[x0, x1, . . . , xk]f , [x1, x2, . . . , xk+1]f , . . . , [xn−k, . . . , xn]f

195

Page 197: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

folosind doar diferentlele divizate de la pasul anterior si nodurile xi. La fiecarepas, calculele se pot face ın acelasi vector y. Dupa calcularea diferentelordivizate de ordin k (pasul k) vectorul y are urmatoarea structura:

y = (y0, [x0, x1]f , [x0, x1, x2]f , . . . , [x0, x1, . . . , xk]f , . . . , [xn−k, . . . , xn]f)

Dupa pasul n vectorul y va contine toate diferemtele divizate de care avemnevoie pentru a calcula Ln:

y = (y0, [x0, x1]f , [x0, x1, x2]f , . . . , [x0, x1, . . . , xn−1]f , [x0, x1, . . . , xn]f )

Valoarea functiei f ın punctul x se va aproxima prin Ln(x).

Functii spline cubice de clasa C2

Fie a = x0 < x1 < · · · < xn = b. Dat x ∈ [a, b] sa se aproximeze f(x)cunoscand ın afara celor n + 1 valori yi si valorile u,v, ale derivatei functieif ın a si b:

f ′(a) = u , f ′(b) = v.

Se cauta o functie Sf de clasa C2 pe [a, b] astfel ıncat:

Sf(x) = aix3 + bix

2 + cix + di , pentru x ∈ [xi, xi+1], i = 0, n− 1

Sf(xi) = yi , i = 0, n , S ′f(a) = f ′(a) = u , S ′

f(b) = f ′(b) = v

Functia Sf cu proprietatile de mai sus are urmatoarea forma:

Sf(x) =(x− xi)

3Ai+1

6hi+

(xi+1 − x)3Ai

6hi+αix+βi , x ∈ [xi, xi+1], i = 0, n− 1

undehi = xi+1 − xi

αi =yi+1 − yi

hi− hi(Ai+1 − Ai)

6

βi =xi+1yi − xiyi+1

hi

− hi(xi+1Ai − xiAi+1)

6

196

Page 198: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

pentru i = 0, n− 1 , iar constantele {Ai, i = 0, n} sunt solutia sistemuluiliniar:

2h0A0 + h0A1 = 6(y1 − y0

h0− u)

hi−1Ai−1 + 2(hi−1 + hi)Ai + hiAi+1 = 6(yi+1 − yi

hi

− yi − yi−1

hi−1

) ,

i = 1, . . . , n− 1

hn−1An−1 + 2hn−1An = 6(v − yn − yn−1

hn−1)

(1)

Sistemul de mai sus este un sistem liniar de dimensiune n + 1:

HA = f

unde:

H =

2h0 h0 0 0 . . . 0 0 0h0 2(h0 + h1) h1 0 . . . 0 0 00 h1 2(h1 + h2) h2 . . . 0 0 0...0 0 0 0 . . . hn−2 2(hn−2 + hn−1) hn−1

0 0 0 0 . . . 0 hn−1 2hn−1

f =

6(y1 − y0

h0

− u)

6(y2 − y1

h1− y1 − y0

h0)

6(y3 − y2

h2− y2 − y1

h1)

...

6(yn − yn−1

hn−1− yn−1 − yn−2

hn−2)

6(v − yn − yn−1

hn−1)

, A =

A0

A1

A2...

An−1

An

197

Page 199: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Sistemul de mai sus se rezolva folosind una din metodele de rezolvare asistemelor liniare.

Valoarea functiei f ın x, f(x), se aproximeaza prin Sf(x) (x trebuie safie din [a, b]). Se cauta i0 astfel ca x ∈ [xi0 , xi0+1]. Avem:

f(x) ≈ Sf (x) =(x− xi0)

3Ai0+1

6hi0

+(xi0+1 − x)3Ai0

6hi0

+ αi0 x + βi0

198

Page 200: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Laboratorul nr. 11

TemaDate f o functie continua, f ∈ C[a, b] si a, b, −∞ < a < b < ∞, doua

constante reale finite. Sa se aproximeze integrala functiei f pe intervalul[a, b]:

∫ b

af(x) dx

Functia f se declara clasic ın program (double f(double x)). De asemenea,se declara ın program si primitiva F a functiei f (F ′ = f), daca aceasta estecunoscuta.

Exemple:

f(x) = 3.0 ∗ x3 − 5.0 ∗ x2 + cos(x) , F (x) =3.0

4.0x4 − 5.0

3.0x3 + sin(x) ;

f(x) = ex − 2.0 ∗ cos(x) ∗ sin(x) , F (x) = ex + 0.5 ∗ cos(2 ∗ x) ;

f(x) = cos(ex) ∗ ex , F (x) = sin(ex) ;

Aproximarea integralelor

Cu ajutorul metodei de aproximare a integralelor se va calcula o valoareaproximativa pentru integrala cautata Iaprox. Folosind F , primitiva functieif , se calculeaza valoarea exacta a integralei, Iexact si se verifica cat de bunaeste aproximarea facuta comparand cele doua valori.

∫ b

af(x) dx = Iexact = F (b)− F (a) ;

∫ b

af(x) dx ≈ Iaprox = se calculeaza cu metodele de mai jos

Se afiseaza:Iaprox , Iexact , |Iaprox − Iexact|

199

Page 201: CALCUL NUMERIC - read.pudn.comread.pudn.com/downloads152/doc/667094/calculnumericID.pdf · 2 Descompunerea după valori singulare 94 Rezolvarea ecuaţiilor neliniare 96 Metoda bisecţiei

Metode de aproximare a integralelor

Se ımparte intervalul [a, b] ın N subintervale de lungime h:

a = x1 < x2 < · · · < xN−1 < xN = b

xi = a + (i− 1)h , fi = f(xi) , i = 1, N , h =b− a

N − 1

O prima metoda de aproximare a integralelor este:

∫ b

af(x) dx ≈ Iaprox = h[

5

12f1 +

13

12f2 + f3 + f4 + · · ·+

+fN−3 + fN−2 +13

12fN−1 +

5

12fN ]

Ordinul de aproximare al metodei (eroarea) esteb− a

N3.

O a doua metoda este data de formula:

∫ b

af(x) dx ≈ Iaprox = h[

3

8f1 +

7

6f2 +

23

24f3 + f4 + f5 + · · ·+

+fN−4 + fN−3 +23

24fN−2 +

7

6fN−1 +

3

8fN ]

iar eroarea este ın acest caz de ordinulb− a

N4.

200