Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si...

42
Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru ecuat ¸ia f (x)=0. Date de intrare: - Funct ¸ia f - Aproximat ¸ia init ¸ial˘ a x - Eroarea admis˘ a ε - Num˘ arul maxim de iterat ¸ii ITMAX Date de ies ¸ire: - Ultima aproximat ¸ie calculat˘ a x - Num˘ arul de iterat ¸ii efectuate n n =1 while |f (x)| s ¸i n ITMAX do x = x - f (x) f (x) n = n +1 end while if n > ITMAX then ˆ In ITMAX iterat ¸ii nu a fost realizat˘ a aproximarea dorit˘ a else Aproximarea obt ¸inut˘ a este x end if Exemplul 1.1 Pentru ecuat ¸ia: xe x - 1=0 cu algoritmul descris anterior se obt ¸in rezultatele din tabelul urm˘ ator, tabel ˆ ın care ultima coloan˘ a cont ¸ine 1

Transcript of Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si...

Page 1: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Ecuatii si sisteme de ecuatii neliniare

1 Metoda lui Newton

Algorithm 1 Metoda lui Newton pentru ecuatia f(x) = 0.Date de intrare:

- Functia f

- Aproximatia initiala x

- Eroarea admisa ε

- Numarul maxim de iteratii ITMAX

Date de iesire:

- Ultima aproximatie calculata x

- Numarul de iteratii efectuate n

n = 1while |f(x)| > ε si n ≤ ITMAX do

x = x− f(x)

f ′(x)n = n+ 1

end whileif n > ITMAX then

In ITMAX iteratii nu a fost realizata aproximarea doritaelse

Aproximarea obtinuta este xend if

Exemplul 1.1 Pentru ecuatia:xex − 1 = 0

cu algoritmul descris anterior se obtin rezultatele din tabelul urmator, tabel ın care ultima coloana contine

1

Page 2: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

valorile absolute ale functiei f(x) = xex − 1 (erorile de aproximare):

n xn |f(xn)|0 0 11 1 1, 71828182845902 0, 6839397205857 0, 35534255099473 0, 5774544771544 0, 02873388682924 0, 5672297377301 0, 00023889012355 0, 5671432965302 0, 00000001691236 0, 5671432904097 0, 0000000000000

In Algoritmul 2 se aplica metoda lui Newton pentru aproximarea radicalului de ordin p dintr-un numarreal pozitiv a, cu o eroare data ε, ıntr-un numar de iteratii dat ITMAX.

Algorithm 2 Metoda lui Newton pentru p√a.

Date de intrare:

- Numarul real, pozitiv a

- Ordinul radicalului p

- Aproximatia initiala x

- Eroarea admisa ε

- Numarul maxim de iteratii ITMAX

Date de iesire:

- Ultima aproximatie calculata x

- Numarul de iteratii efectuate n

n = 1

while |xp − a| > ε si n ≤ ITMAX do

x =1

p

[(p− 1)x+

a

xp−1

]n = n+ 1

end whileif n > ITMAX then

In ITMAX iteratii nu a fost realizata aproximarea doritaelse

Aproximarea obtinuta este xend if

In tabelul urmator sunt date aproximatiile numerelor√2 si −

√2, luand x0 = 2, respectiv x0 = −2,

calculate cu formula

xn+1 =1

p

[(p− 1)xn +

a

xp−1n

], n ≥ 0.

2

Page 3: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

n√2 −

√2

0 2 −21 1, 5 −1, 52 1, 4166666667 −1, 41666666673 1, 4142156863 −1, 41421568634 1, 4142135624 −1, 4142135624

In Algoritmul 3 se aplica metoda secantei pentru aproximarea solutiei ecuatiei f(x) = 0 cu o eroare dataε, ıntr-un numar de iteratii dat ITMAX.

xn+1 = xn − f(xn)(xn − xn−1)

f(xn)− f(xn−1).

Pentru ecuatia din exemplul 1.1 se obtin urmatoarele rezultate:

n xn |f(xn)|0 0 11 1 1, 71828182845902 0, 3678794411714 0, 46853639461333 0, 5033143321329 0, 16742007618244 0, 5786158630519 0, 03200074865795 0, 5665323438586 0, 00168733693876 0, 5671375717285 0, 00001580191657 0, 5671432932720 0, 0000000079090

3

Page 4: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algorithm 3 Metoda secantei pentru ecuatia f(x) = 0.Date de intrare:

- Functia f

- Aproximatiile initiale x0, x1

- Eroarea admisa ε

- Numarul maxim de iteratii ITMAX

Date de iesire:

- Ultima aproximatie calculata x

- Numarul de iteratii efectuate n

n = 2while |f(x1)| > ε si n ≤ ITMAX do

x = x1 −f(x1)(x1 − x0)

f(x1)− f(x0)x0 = x1

x1 = xn = n+ 1

end whileif n > ITMAX then

In ITMAX iteratii nu a fost realizata aproximarea doritaelse

Aproximarea obtinuta este xend if

4

Page 5: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

2 Metoda aproximatiilor succesive

Algorithm 4 Metoda aproximatiilor succesive pentru ecuatia x = f(x).Date de intrare:

- Functia f

- Aproximatia initiala x

- Eroarea admisa ε

- Numarul maxim de iteratii ITMAX

Date de iesire:

- Ultima aproximatie calculata x

- Numarul de iteratii efectuate n

n = 1while |x− f(x)| > ε si n ≤ ITMAX do

x = f(x)n = n+ 1

end whileif n > ITMAX then

In ITMAX iteratii nu a fost realizata aproximarea doritaelse

Aproximarea obtinuta este xend if

Exemplul 2.1 Pentru ecuatia:x = e−x

ın tabelul urmator sunt prezentate rezultatele aplicarii metodei aproximatiilor succesive. In ultima coloanasunt valorile absolute ale erorilor de aproximare xn − f(xn), unde f(x) = e−x.

n xn |xn − f(xn)|0 0 15 0, 6062435350855 0, 060847749110510 0, 5648793473910 0, 003549377638015 0, 5672762321755 0, 000208333784720 0, 5671354902062 0, 000012224053825 0, 5671437480994 0, 000000717265130 0, 5671432635541 0, 0000000420865

5

Page 6: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Ecuatii si sisteme de ecuatii neliniare

1 Metoda lui BairstowExemplul 1.1 Pentru ecuatia:

x3 − 3x+ 1 = 0,

luand ca aproximatii initiale p0 = q0 = 0, 1 si oprind iteratiile atunci cand:

max {|R| , |S|} < 10−3,

se obtine descompunerea:

x3 − 3x+ 1 = (x+ 1, 87939)(x2 − 1, 87939x+ 0, 53209)

Radacinile ecuatiei sunt:

x1 = −1, 87939, x2 = 1, 53209, x3 = 0, 34730.

Exemplul 1.2 Pentru ecuatia:

x4 + x3 − 10x2 − 34x− 26 = 0,

luand ca aproximatii initiale p0 = 0, 1, q0 = 0 si oprind iteratiile atunci cand:

max {|R| , |S|} < 10−3,

se obtine descompunerea:

x4 + x3 − 10x2 − 34x− 26 =

=(x2 − 2, 86831x− 4, 58061

) (x2 + 3, 86831x+ 5, 6761

)Radacinile ecuatiei sunt:

x1 = 4, 01047, x2 = −1, 14216, x3, 4 = −1, 93415± 1, 3911i.

1

Page 7: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algorithm 1 Metoda lui Bairstow.Date de intrare:

- Gradul ecuatiei n

- Coeficientii ecuatiei: a0, a1, . . . , an

- Pentru fiecare n ≥ 3 aproximatiile initiale p, q si eroarea ε

Date de iesire:

- Pentru fiecare n ≥ 3 radacinile ecuatiei x2+px+q = 0, iar ın final radacinileunei ecuatii de gradul doi (pentru n = 2) sau radacina unei ecuatii de gradulıntai (pentru n = 1)

while n ≥ 3 dorepeatb0 = a0b1 = a1 − pb0for i = 2, 3, ..., n dobi = ai − pbi−1 − qbi−2

end forc0 = b0c1 = b1 − pc0for i = 2, 3, ..., n− 1 doci = bi − pci−1 − qci−2

end forδ = c2n−2 − cn−3cn−1 + cn−3bn−1

P = −bn−1cn−2 + bncn−3

Q = −bncn−2 + bn−1cn−1 − b2n−1

p = p− P

δ

q = q − Q

δuntil max {|bn−1| , |bn + pbn−1|} < εRezolva ecuatia x2 + px+ q = 0n = n− 2for i = 0, 1, ..., n doai = bi

end forend whileif n = 2 then

Rezolva ecuatia a0x2 + a1x+ a2 = 0

elseRezolva ecuatia a0x+ a1 = 0

end if

2

Page 8: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

2 Metoda lui BernoulliExemplul 2.1 Fie ecuatia:

P (x) = 0, P (x) = x5 + 5x4 − 5.

Pentru acest exemplu se obtin valorile:

y0 = 5, y1 = −5, y2 = 25, y3 = −125, y4 = 625.

Procesul iterativ este ın acest caz:

yi+5 = 5 (yi − yi+4) , i ≥ 0.

Se obtin rezultatele din urmatorul tabel:

i k = i+ 5 ykyk

yk−1

0 5 −3100 −4, 9600001 6 15475 −4, 9919352 7 −77250 −4, 9919223 8 385625 −4, 9919094 9 −1925000 −4, 9918965 10 9609500 −4, 991948

Avem:P (−4, 991948) = 0, 00015.

Deci radacina reala, maxima ın valoare absoluta, a ecuatiei date este aproximativegala cu −4, 991948.

3

Page 9: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algorithm 2 Metoda lui Bernoulli.Date de intrare:

- Gradul ecuatiei n

- Coeficientii ecuatiei: a0, a1, . . . , an

- Eroarea admisa ε

- Numarul maxim de iteratii ITMAX

Date de iesire:

- Aproximatiile calculate x pentru radacina maxima ın valoare absoluta

- Numarul de iteratii efectuate m

y0 = n

y1 = −a1a0

for i = 2, 3, ..., n− 1 doyi = −yi−1

a1a0

− yi−2a2a0

− ...− y1ai−1

a0− i

aia0

end fori = 0m = 0repeat

yn+i = −yn+i−1a1a0

− yn+i−2a2a0

− ...− yiana0

x =yn+i

yn+i−1m = m+ 1i = i+ 1

until∣∣a0xn + a1x

n−1 + ...+ an∣∣ < ε sau m > ITMAX

if m > ITMAX thenIn ITMAX iteratii nu a fost realizata aproximarea dorita

elseAproximarea obtinuta este x

end if

4

Page 10: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Matrice. Proceduri de triangularizare

Triangularizarea superioara a matricei A ∈ Rn×n se realizeaza ıntr-un numar de etape ın care se deter-mina matricele A(1) = A,A(2), . . . , A(n) de forma:

A(k) =

a(k)11 a

(k)12 . . . a

(k)1k−1 a

(k)1k . . . a

(k)1n

0 a(k)22 . . . a

(k)2k−1 a

(k)2k . . . a

(k)2n

. . . . . . . . . . .

0 0 . . . a(k)k−1k−1 a

(k)k−1k . . . a

(k)k−1n

0 0 . . . 0 a(k)kk . . . a

(k)kn

. . . . . . . . . . .

0 0 . . . 0 a(k)nk . . . a

(k)nn

, 2 ≤ k ≤ n.

Elementele matricei A(k+1) se calculeaza astfel:

a(k+1)ij =

a(k)ij pentru 1 ≤ i ≤ k, i ≤ j ≤ n

0 pentru 1 ≤ j ≤ k, j + 1 ≤ i ≤ n

a(k)ij −mika

(k)kj =

a(k)ij a

(k)kk −a

(k)ik a

(k)kj

a(k)kk

pentru k + 1 ≤ i, j ≤ n

(1)

Asadar, matricea A(k) se transforma ın matricea A(k+1) dupa urmatoarele reguli:R1. Liniile 1, 2, ..., k si coloanele 1, 2, ..., k − 1, (k > 1), nu se modifica.R2. Elementele subdiagonale din coloana k se anuleaza.R3. Elementele situate ın liniile si coloanele k+1, k+2, ..., n se transforma dupa regula dreptunghiului.In Algoritmul 1 se realizeaza triangularizarea superioara a unei matrice A ∈ Rn×n folosind regulile

R1 −R3. Calculele se fac ın matricea A.Sa presupunem acum ca ın etapa k elementul a(k)kk = 0. In acest caz se folosesc asa numitele proceduri

de pivotare partiala sau totala.10. Procedura de pivotare partiala.Se cauta ın coloana k acel element a(k)ikk

cu proprietatea:∣∣∣a(k)ikk

∣∣∣ = maxk≤i≤n

∣∣∣a(k)ik

∣∣∣ .In Algoritmul 2 se realizeaza triangularizarea superioara a unei matrice A ∈ Rn×n aplicand ın fiecare

etapa procedura de pivotare partiala si regulile R1 −R3. Calculele se fac ın matricea A.

20. Procedura de pivotare totala.In aceasta procedura se determina elementul a(k)ikjk

cu proprietatea:∣∣∣a(k)ikjk

∣∣∣ = maxk≤i,j≤n

∣∣∣a(k)ij

∣∣∣ .In Algoritmul 3 se realizeaza triangularizarea superioara a unei matrice A ∈ Rn×n aplicand ın fiecare

etapa procedura de pivotare totala si regulile R1 −R3. Calculele se fac ın matricea A.

1

Page 11: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 1 Procedura de triangularizare a unei matrice A (varianta 1).Date de intrare:

- Matricea A = (aij)1≤i, j≤n .

Date de iesire:

- Matricea superior triunghiulara obtinuta ın A

Pentru k = 1, 2, ..., n− 1 executa:Daca akk = 0 atunci:

Pentru i = k + 1, k + 2, ..., n executa:Pentru j = k + 1, k + 2, ..., n executa:aij = aij −

aikakjakk

Sfarsit Pentruaik = 0

Sfarsit Pentrualtfel:

Matricea A nu poate fi triangularizata prin acest algoritm.STOP

Sfarsit DacaSfarsit Pentru

Algoritmul 2 Procedura de triangularizare a unei matrice A (varianta 2).Date de intrare:

- Matricea A = (aij)1≤i, j≤n .

Date de iesire:

- Matricea superior triunghiulara obtinuta ın A

Pentru k = 1, 2, ..., n− 1 executa:|apk| = max

k≤i≤n|aik|

Daca apk = 0 atunci:Daca p = k atunci:

Permuta liniile p si kSfarsit DacaPentru i = k + 1, k + 2, ..., n executa:

Pentru j = k + 1, k + 2, ..., n executa:aij = aij −

aikakjakk

Sfarsit Pentruaik = 0

Sfarsit PentruSfarsit Daca

Sfarsit Pentru

2

Page 12: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 3 Procedura de triangularizare a unei matrice A (varianta 3).Date de intrare:

- Matricea A = (aij)1≤i, j≤n .

Date de iesire:

- Matricea superior triunghiulara obtinuta ın A

Pentru k = 1, 2, ..., n− 1 executa:|apq| = max

k≤i,j≤n|aij |

Daca apq = 0 atunci:Daca p = k atunci:

Permuta liniile p si kSfarsit DacaDaca q = k atunci:

Permuta coloanele q si kSfarsit DacaPentru i = k + 1, k + 2, ..., n executa:

Pentru j = k + 1, k + 2, ..., n executa:aij = aij −

aikakjakk

Sfarsit Pentruaik = 0

Sfarsit Pentrualtfel:

Matricea A este superior triunghiularaSTOP

Sfarsit DacaSfarsit Pentru

3

Page 13: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Exemplul 0.1 Sa se triangularizeze matricea:

A =

1 −1 22 1 11 2 −3

.

Solutii.a) In cazul algoritmului obisnuit (metoda lui Gauss), fara pivotare partiala sau totala, se parcurg urmatoarele

etape:Etapa 1.

A(1) = A, a(1)11 = 1, m21 = 2, m31 = 1,

M1 =

1 0 0−2 1 0−1 0 1

, A(2) = M1A(1) =

1 −1 20 3 −30 3 −5

.

Etapa 2.a(2)22 = 3, m32 = 1,

M2 =

1 0 00 1 00 −1 1

, A(3) = M2A(2) =

1 −1 20 3 −30 0 −2

.

b) Pivotare partiala.Etapa 1. Avem:

A(1) = A, max1≤i≤3

∣∣∣a(1)i1

∣∣∣ = ∣∣∣a(1)21

∣∣∣ .Se permuta ın A(1) liniile 1, 2. Se obtine matricea:

P1A(1) =

2 1 11 −1 21 2 −3

, P1 =

0 1 01 0 00 0 1

.

Se aplica regulile R1 −R3 matricei P1A(1). Rezulta:

A(2) =

2 1 1

0 −3

2

3

2

03

2−7

2

= M1P1A(1), M1 =

1 0 0

−1

21 0

−1

20 1

.

Etapa 2. Avem:max2≤i≤3

∣∣∣a(2)i2

∣∣∣ = ∣∣∣a(2)22

∣∣∣ , P2 = I.

Nu sunt necesare permutari de linii. Se aplica regulile R1 −R3 matricei A(2). Rezulta:

A(3) =

2 1 1

0 −3

2

3

20 0 −2

= M2P2A(2) = M2A

(2), M2 =

1 0 00 1 00 1 1

.

c) Pivotare totala.Etapa 1. Avem:

A(1) = A, max1≤i,j≤3

∣∣∣a(1)ij

∣∣∣ = ∣∣∣a(1)33

∣∣∣ .4

Page 14: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Se permuta ın A(1) liniile 1, 3 si coloanele 1, 3. Se obtine matricea:

P1A(1)S1 =

−3 2 11 1 22 −1 1

, P1 =

0 0 10 1 01 0 0

= S1.

Se aplica acum regulile R1 −R3 matricei P1A(1)S1. Rezulta:

A(2) =

−3 2 1

05

3

7

3

01

3

5

3

= M1P1A(1)S1, M1 =

1 0 01

31 0

2

30 1

.

Etapa 2. Avem:max

2≤i,j≤3

∣∣∣a(2)ij

∣∣∣ = ∣∣∣a(2)23

∣∣∣ .Se permuta ın A(2) coloanele 2, 3. Se obtine matricea:

P2A(2)S2 =

−3 1 2

07

3

5

3

05

3

1

3

, P2 = I, S2 =

1 0 00 0 10 1 0

.

Se aplica acum regulile R1 −R3 matricei P2A(2)S2. Rezulta:

A(3) =

−3 1 2

07

3

5

3

0 0 −6

7

= M2P2A(2)S2, M2 =

1 0 00 1 0

0 −5

71

.

5

Page 15: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Matrice. Sisteme de ecuatii liniare

1 Factorizarea LR

Exemplul 1.1

A =

2 2 34 5 61 2 2

(1)−→

2 2 32 1 01

21

1

2

(2)−→

2 2 32 1 01

21

1

2

Rezulta:

L =

1 0 02 1 01

21 1

, R =

2 2 30 1 0

0 01

2

.

Algoritmul 1 Factorizare LR pentru o matrice A.

Date de intrare:

- Matricea A = (aij)1≤i, j≤n .

Date de iesire:

- Elementele matricelor L si R obtinute ın A

Pentru k = 1, 2, ..., n− 1 executa:Daca akk = 0 atunci:Pentru i = k + 1, k + 2, ..., n executa:Pentru j = k + 1, k + 2, ..., n executa:

aij = aij −aikakjakk

Sfarsit Pentru

aik =aikakk

Sfarsit Pentrualtfel:Matricea A nu poate fi factorizata LR cu acest algoritm.STOP

Sfarsit DacaSfarsit Pentru

1

Page 16: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Pentru factorizarea Doolittle se obtin formulele:

r1j = a1j , 1 ≤ j ≤ n

li1 =ai1r11

, 2 ≤ i ≤ n

Pentru k = 2, 3, ..., n− 1 :

rkj = akj −k−1∑h=1

lkhrhj , k ≤ j ≤ n

lik =1

rkk

(aik −

k−1∑h=1

lihrhk

), k + 1 ≤ i ≤ n

rnn = ann −n−1∑h=1

lnhrhn

(1)

Algoritmul 2 Factorizare LR Doolittle pentru o matrice A.

Date de intrare:

- Matricea A = (aij)1≤i, j≤n

Date de iesire:

- Elementele matricelor L si R obtinute ın A

Daca a11 = 0 atunci:Matricea A nu poate fi factorizata cu formulele 1STOP

altfel:Pentru i = 2, 3, ..., n executa:

ai1 =ai1a11

Sfarsit PentruPentru k = 2, 3, ..., n− 1 executa:Pentru j = k, k + 1, ..., n executa:

akj = akj −k−1∑h=1

akhahj

Sfarsit PentruDaca akk = 0 atunci:Matricea A nu poate fi factorizata cu formulele 1STOP

altfel:Pentru i = k + 1, k + 2, ..., n executa:

aik =1

akk

(aik −

k−1∑h=1

aihahk

)Sfarsit Pentru

Sfarsit DacaSfarsit Pentru

ann = ann −n−1∑h=1

anhahn

Sfarsit Daca

2

Page 17: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Matrice. Sisteme de ecuatii liniare

1 Factorizarea QR

Exemplul 1.1 Sa se realizeze o factorizare QR pentru matricea:

A =

1 0 −11 1 00 −1 1

.

Solutie. Etapa 1.

A(1) = A, v1 =

1 +√2

10

,

H1 = I − 2v1v

t1

vt1v1=

−√2

2−√2

20

−√2

2

√2

20

0 0 1

,

A(2) = H1A(1) =

−√2 −

√2

2

√2

2

0

√2

2

√2

2

0 −1 1

.

Etapa 2.

v2 =

0√

2 +√6

2−1

,

H2 = I − 2v2v

t2

vt2v2=

1 0 0

0 −√3

3

√6

3

0

√6

3

√3

3

,

1

Page 18: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

A(3) = H2A(2) =

−√2 −

√2

2

√2

2

0 −√6

2

√6

6

0 02√3

3

.

Rezulta:

Q = H1H2 =

−√2

2

√6

6−√3

3

−√2

2−√6

6

√3

3

0

√6

3

√3

3

,

R = A(3) =

−√2 −

√2

2

√2

2

0 −√6

2

√6

6

0 02√3

3

.

2

Page 19: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 1 Factorizare QR a unei matrice A

Date de intrare:

- Matricea A = (aij)1≤i,j≤n

Date de iesire:

- Matricele R = A si Q

Q = IPentru k = 1, 2, ..., n− 1 executa:

σ =

√n∑

i=k

a2ik

Daca σ = 0 atunci:Daca akk < 0 atunci:σ = −σ

Sfarsit Dacavk = akk + σPentru i = 1, 2, ..., k − 1 executa:vi = 0

Sfarsit PentruPentru i = k + 1, k + 2, ..., n executa:vi = aik

Sfarsit Pentru

β =1

2

n∑i=k

v2i

Pentru i = 1, 2, ..., n executa:Pentru j = 1, 2, ..., n executa:Daca i = j atunci:

hij = −vivjβ

altfel:

hij = 1− v2iβ

Sfarsit DacaSfarsit Pentru

Sfarsit PentruA = H ·AQ = Q ·H

Sfarsit DacaSfarsit Pentru

3

Page 20: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Metode directe de rezolvare a sistemelor liniare

Consideram sistemul de ecuatii liniare:

Ax = b, (1)

unde A ∈ Rn×n, b ∈ Rn.

1 Metode directe bazate pe proceduri de triangularizare

Exemplul 1.1 Sa se rezolve sistemul: 5x1 + 2x2 + x3 = 125x1 − 6x2 + 2x3 = −1−4x1 + 2x2 + x3 = 3

Metoda 1. Vom nota cu B(k) matricea extinsa obtinuta ın etapa k. Avem:

B(1) = (A, b) =

5 2 1 125 −6 2 −1

−4 2 1 3

, B(2) =

5 2 1 120 −8 1 −13

018

5

9

5

63

5

,

B(3) =

5 2 1 120 −8 1 −13

0 09

4

27

4

.

Sistemul corespunzator matricei B(3) este:5y1 + 2y2 + y3 = 12

−8y2 + y3 = −13

9

4y3 =

27

4

Solutia acestui sistem este:

y =

123

.

Deoarece nu s-au efectuat permutari de coloane rezulta S = I si deci solutia sistemului dat este:

x = y =

123

.

1

Page 21: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Metoda 2. Metoda pivotarii totale. Fie:

B(1) =

5 2 1 125 −6 2 −1

−4 2 1 3

=(A(1), b(1)

), A(1) = A, b(1) = b.

Aplicand procedura de pivotare totala obtinem: max1≤i,j≤3

∣∣∣b(1)ij

∣∣∣ = 6 =∣∣∣b(1)22

∣∣∣ .Se permuta liniile 1,2 si coloanele 1,2. Obtinem: −6 5 2 −1

2 5 1 122 −4 1 3

= P1

(A(1)S1, b

(1)), P1 = S1 =

0 1 01 0 00 0 1

.

Se aplica regulile R1 −R3 matricei P1

(A(1)S1, b

(1)). Rezulta:

B(2) =

−6 5 2 −1

020

3

5

3

35

3

0 −7

3

5

3

8

3

= M1P1

(A(1)S1, b

(1)),

M1 =

1 0 01

31 0

1

30 1

.

Aplicam din nou procedura de pivotare totala. Avem: max2≤i,j≤3

∣∣∣b(2)ij

∣∣∣ = 20

3=∣∣∣b(2)22

∣∣∣ .Nu sunt necesare permutari de linii sau coloane. Se aplica regulile R1 − R3 matricei B(2).

Obtinem:

B(3) =

−6 5 2 −1

020

3

5

3

35

3

0 09

4

27

4

= M2B(2), M2 =

1 0 00 1 0

07

201

.

Sistemul corespunzator matricei B(3) este:−6y1 + 5y2 + 2y3 = −1

20

3y2 +

5

3y3 =

35

39

4y3 =

27

4

Solutia acestui sistem este:

y =

213

.

Solutia sistemului dat este:

x = Sy = S1y =

123

.

2

Page 22: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 1 Metode directe pentru sisteme liniare bazate pe proceduri de triangularizare.

Date de intrare:

- Matricea sistemului A = (aij)1≤i,j≤n

- Termenii liberi ain+1 = bi, 1 ≤ i ≤ n

Date de iesire:

- Matricea R = A, unde A are forma din ultima etapa

- Vectorul c de componente: ci = ain+1, 1 ≤ i ≤ n

- y = (yi)1≤i≤n solutia sistemului Ry = c

- x = Sy, x = (xi)1≤i≤n, solutia sistemului Ax = b

S = IPentru k = 1, 2, ..., n− 1 executa:

|apq| = maxk≤i,j≤n

|aij |Daca apq = 0 atunci:Daca p = k atunci:Permuta liniile p si k ın (A, b)

Sfarsit DacaDaca q = k atunci:Permuta coloanele q si k ın (A, b) si S

Sfarsit DacaPentru i = k + 1, k + 2, ..., n executa:Pentru j = k + 1, k + 2, ..., n+ 1 executa:

aij = aij −aikakjakk

Sfarsit Pentruaik = 0

Sfarsit Pentrualtfel:Sistemul Ax = b nu poate fi rezolvat prin acest algoritmSTOP

Sfarsit DacaSfarsit Pentru

yn =ann+1

annPentru i = n− 1, n− 2, ..., 1 executa:

yi =1

aii

(ain+1 −

n∑k=i+1

aikyk

)Sfarsit PentruPentru i = 1, 2, ..., n executa:

xi =n∑

k=1

(S)ikyk

Sfarsit Pentru

3

Page 23: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

2 Metode directe bazate pe proceduri de factorizare LR siQR

Exemplul 2.1 Sa se rezolve sistemul: 2x1 + 2x2 + 3x3 = 74x1 + 5x2 + 6x3 = 15x1 + 2x2 + 2x3 = 5

Solutie. Pentru matricea sistemului:

A =

2 2 34 5 61 2 2

am realizat factorizarea Doolittle A = LR cu:

L =

1 0 02 1 01

21 1

,

R =

2 2 30 1 0

0 01

2

.

Sistemul Ly = b, unde b =

7155

, are solutia: y =

711

2

.

Sistemul Rx = y are solutia: x =

111

.

Rezulta ca sistemul dat are solutia: x1 = x2 = x3 = 1.

4

Page 24: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 2 Metode directe de rezolvare a sistemelor liniare bazate pe proceduri de factorizareLR.Date de intrare:

- Matricea sistemului: A = (aij)1≤i,j≤n

- Termenii liberi: b = (bi)1≤i≤n

Date de iesire:

- Elementele eventual nenule ale matricei L:

lij = aij , 1 ≤ j < i ≤ n, lii = 1, 1 ≤ i ≤ n

- Elementele eventual nenule ale matricei R: rij = aij , 1 ≤ i ≤ j ≤ n

- y = (yi)1≤i≤n solutia sistemului Ly = b

- x = (xi)1≤i≤n solutia sistemului Rx = y

Aplica algoritmu de factorizare LR a matricei Ay1 = b1Pentru i = 2, 3, ..., n executa:

yi = bi −i−1∑k=1

aikyk

Sfarsit Pentru

xn =ynann

Pentru i = n− 1, n− 2, ..., 1 executa:

xi =1

aii

(yi −

n∑k=i+1

aikxk

)Sfarsit Pentru

5

Page 25: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 3 Metode directe de rezolvare a sistemelor liniare bazate pe proceduri de factorizareQR.

Date de intrare:

- Matricea sistemului: A = (aij)1≤i,j≤n

- Termenii liberi: b = (bi)1≤i≤n

Date de iesire:

- Elementele matricei Q: qij , 1 ≤ i, j ≤ n

- Elementele eventual nenule ale matricei R: rij = aij , 1 ≤ i ≤ j ≤ n

- y = (yi)1≤i≤n solutia sistemului Qy = b

- x = (xi)1≤i≤n solutia sistemului Rx = y

Aplica algoritm defactorizare QR a matricei A

Prod =n∏

k=1

akk

Daca Prod = 0 atunci:Pentru i = 1, 2, ..., n executa:

yi =n∑

k=1

qkibk

Sfarsit Pentru

xn =ynann

Pentru i = n− 1, n, ..., 1 executa:

xi =1

aii

(yi −

n∑k=i+1

aikxk

)Sfarsit Pentru

altfel:Sistemul nu poate fi rezolvat prin acest algoritm

Sfarsit Daca

6

Page 26: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Metode iterative de rezolvare a sistemelor liniare

1 Metodele Seidel-Gauss si Jacobi

1) Metoda Seidel - Gauss:x(0) =

(x(0)1 x

(0)2 ... x

(0)n

)t∈ Rn,

Pentru k ≥ 0 :

x(k+1)i =

1

aii

(bi −

i−1∑j=1

aijx(k+1)j −

n∑j=i+1

aijx(k)j

), 1 ≤ i ≤ n.

(1)

2) Metoda Jacobi:

x(0) =(x(0)1 x

(0)2 ... x

(0)n

)t∈ Rn,

Pentru k ≥ 0 :

x(k+1)i =

1

aii

bi −n∑

j=1j =i

aijx(k)j

, 1 ≤ i ≤ n.

(2)

Observatie 1.1 Oprirea procesului iterativ (1) sau (2) se face atunci cand:

qk

1− qd(x(1), x(0)

)< ε. (3)

unde ε este precizia impusa pentru aproximarea solutiei.

2 Metoda relaxarii

Exemplul 2.1 Sa se aproximeze solutia sistemului: −x1 − 0, 1x2 − 0, 1x3 + 1, 2 = 0−0, 2x1 − x2 − 0, 1x3 + 1, 3 = 0−0, 2x1 − 0, 2x2 − x3 + 1, 4 = 0

Solutie.Consideram x(0) = (0 0 0)t. Rezulta:

R(0)1 = 1, 2 , R

(0)2 = 1, 3 , R

(0)3 = 1, 4

1

Page 27: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 1 Metoda Seidel-Gauss.

Date de intrare:

- Matricea sistemului: A = (aij)1≤i,j≤n

- Termenii liberi ai sistemului: b = (bi)1≤i≤n

- Eroarea admisa ε

- Aproximatia initiala a solutiei: x = (xi)1≤i≤n

Date de iesire:

- Ultima aproximatie calculata: y = (yi)1≤i≤n

- Numarul de iteratii efectuate k

Determina:

q = max1≤i≤n

n∑j=1j =i

|aij |

|aii|sau:

q = max1≤j≤n

n∑i=1i =j

|aij |

|ajj |Daca q < 1 atunci:

m = 1Pentru i = 1, 2, ..., n executa:

yi =1

aii(bi −

i−1∑j=1

aijyj −n∑

j=i+1

aijxj)

Sfarsit PentruDetermina cel mai mic numar natural k cu proprietatea:

qk

1− qmax1≤i≤n

|xi − yi| < ε

Pentru m = 2, 3, ..., k executa:Pentru i = 1, 2, ..., n executa:xi = yi

Sfarsit PentruPentru i = 1, 2, ..., n executa:

yi =1

aii(bi −

i−1∑j=1

aijyj −n∑

j=i+1

aijxj)

Sfarsit PentruSfarsit Pentru

altfel:Nu este asigurata convergenta algoritmuluiSTOP

Sfarsit Daca

2

Page 28: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 2 Metoda Jacobi.

Date de intrare:

- Matricea sistemului: A = (aij)1≤i,j≤n

- Termenii liberi ai sistemului: b = (bi)1≤i≤n

- Eroarea admisibila ε

- Aproximatia initiala a solutiei: x = (xi)1≤i≤n

Date de iesire:

- Ultima aproximatie calculata: y = (yi)1≤i≤n

- Numarul de iteratii efectuate k

Determina:

q = max1≤i≤n

n∑j=1j =i

|aij |

|aii|sau:

q = max1≤j≤n

n∑i=1i =j

|aij |

|ajj |Daca q < 1 atunci:

m = 1Pentru i = 1, 2, ..., n executa:

yi =1

aii(bi −

n∑j=1j =i

aijxj)

Sfarsit PentruDetermina cel mai mic numar natural k cu proprietatea:

qk

1− qmax1≤i≤n

|xi − yi| < ε

Pentru m = 2, 3, ..., k executa:Pentru i = 1, 2, ..., n executa:xi = yi

Sfarsit PentruPentru i = 1, 2, ..., n executa:

yi =1

aii(bi −

n∑j=1j =i

aijxj)

Sfarsit PentruSfarsit Pentru

altfel:Nu este asigurata convergenta algoritmuluiSTOP

Sfarsit Daca

3

Page 29: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Deoarece∣∣∣R(0)

3

∣∣∣ = max1≤i≤3

∣∣∣R(0)i

∣∣∣ urmatoarea aproximatie a solutiei va fi: x(1) = (0 0 1, 4)t. s.a.m.d.

Efectuand calculele cu doua zecimale exacte se obtin rezultatele din tabelul care urmeaza:

Iteratia x1 R1 x2 R2 x3 R3

0 0 1, 20 0 1, 30 0 1, 40−0, 14 −0, 14 1, 40 −1, 40

1 0 1, 06 0 1, 16 1, 40 0−0, 12 1, 16 −1, 16 −0, 23

2 0 0, 94 1, 16 0 1, 40 −0, 230, 94 −0, 94 −0, 19 −0, 19

3 0, 94 0, 00 1, 16 −0, 19 1, 40 −0, 420, 04 0, 04 −0, 42 0, 42

4 0, 94 0, 04 1, 16 −0, 15 0, 98 0, 000, 02 −0, 15 0, 15 0, 03

5 0, 94 0, 06 1, 01 0, 00 0, 98 0, 030, 06 −0, 06 −0, 01 −0, 01

6 1, 00 0, 00 1, 01 −0, 01 0, 98 0, 020, 00 0, 00 0, 02 −0, 02

7 1, 00 0, 00 1, 01 −0, 01 1, 00 0, 000, 00 −0, 01 0, 01 0, 00

1, 00 0, 00 1, 00 0, 00 1, 00 0, 00

Dupa 7 iteratii s-a obtinut solutia: x1 = 1, x2 = 1, x3 = 1.

4

Page 30: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 3 Metoda relaxarii.

Date de intrare:

- Ecuatiile sistemului: bi − xi +n∑

j=1j =i

aijxj = 0, 1 ≤ i ≤ n

- Eroarea admisibila ε

- Aproximatia initiala a solutiei: xi, 1 ≤ i ≤ n

- Numarul maxim de iteratii ITMAX

Date de iesire:

- Ultima aproximatie calculata: xi, 1 ≤ i ≤ n

- Numarul de iteratii efectuate m

m = 1Pentru i = 1, 2, ..., n executa:

Ri = bi − xi +n∑

j=1j =i

aijxj

Sfarsit PentruCat timp max

1≤i≤n|Ri| ≥ ε si m ≤ ITMAX executa:

|Rp| = max1≤i≤n

|Ri|

xp = xp +Rp

Pentru q = 1, 2, ..., n executa:Daca q = p atunci:Rq = Rq + aqpRp

altfel:Rq = 0

Sfarsit DacaSfarsit Pentrum = m+ 1

Sfarsit Cat timpDaca m > ITMAX atunci:

In ITMAX iteratii nu este obtinuta aproximarea doritaSTOP

altfel:Aproximarea obtinuta este: xi, 1 ≤ i ≤ n

Sfarsit Daca

5

Page 31: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Calculul determinantului si inversei unei matrici

1 Metoda condensarii pivotale pentru calculul determinantilor

Exemplul 1.1 Sa se calculeze valoarea determinantului:

d =

∣∣∣∣∣∣∣∣∣∣∣∣

0 1 0 −1 2 31 2 1 −1 2 12 0 3 1 2 21 −1 2 0 2 12 −2 1 −1 1 03 2 2 1 0 −2

∣∣∣∣∣∣∣∣∣∣∣∣Solutie. Permutam liniile 1, 2. Obtinem:

d = −

∣∣∣∣∣∣∣∣∣∣∣∣

1 2 1 −1 2 10 1 0 −1 2 32 0 3 1 2 21 −1 2 0 2 12 −2 1 −1 1 03 2 2 1 0 −2

∣∣∣∣∣∣∣∣∣∣∣∣Obtinem succesiv:

d = −

∣∣∣∣∣∣∣∣∣∣1 0 −1 2 3

−4 1 3 −2 0−3 1 1 0 0−6 −1 1 −3 −2−4 −1 4 −6 −5

∣∣∣∣∣∣∣∣∣∣= −

∣∣∣∣∣∣∣∣1 −1 6 121 −2 6 9

−1 −5 9 16−1 0 2 7

∣∣∣∣∣∣∣∣ =

= −

∣∣∣∣∣∣−1 0 −3−6 15 28−1 8 19

∣∣∣∣∣∣ =∣∣∣∣ −15 −46

−8 −22

∣∣∣∣ = −38

1

Page 32: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 1 Calculul determinantilor cu metoda condensarii pivotale.

Date de intrare:

- Matricea A = (aij)1≤i,j≤n

Date de iesire:

- Determinantul matricei A: det (A)

t = 1Cat timp n ≥ 3 executa:

|apq| = max1≤i,j≤n

|aij |Daca apq = 0 atunci:det (A) = 0STOP

altfel:Daca p = 1 atunci:Permuta ın A liniile 1 si pt = −t

Sfarsit DacaDaca q = 1 atunci:Permuta ın A coloanele 1 si qt = −t

Sfarsit DacaPentru i = 3, 4, ..., n executa:Pentru j = 1, 2, ..., n executa:

aij =aija11

Sfarsit PentruSfarsit PentruPentru i = 1, 2, ..., n− 1 executa:Pentru j = 1, 2, ..., n− 1 executa:bij = a11ai+1j+1 − ai+11a1j+1

Sfarsit PentruSfarsit Pentrun = n− 1Pentru i = 1, 2, ..., n executa:Pentru j = 1, 2, ..., n executa:aij = bij

Sfarsit PentruSfarsit Pentru

Sfarsit DacaSfarsit Cat timpdet (A) = t (a11a22 − a12a21)

2

Page 33: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

2 Metode pentru inversarea matricelor

Exemplul 2.1 Pentru matricea:

A =

0 −1 11 3 11 1 2

avem:

B(1) = (A, I) =

0 −1 1 1 0 01 3 1 0 1 01 1 2 0 0 1

.

Obtinem:

B(2) =

1

1

3

1

30

1

30

01

3

4

31

1

30

02

3

5

30 −1

31

B(3) =

1 0

1

50

2

5−1

5

0 12

50 −1

5

3

5

0 0 −1

51

3

5−4

5

B(4) =

1 0 0 1 1 −10 1 0 2 1 −10 0 1 −5 −3 4

= (I, C)

Inversa matricei A este A−1 = S1S2C.Rezulta:

A−1 =

−5 −3 41 1 −12 1 −1

.

3

Page 34: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 2 Metoda lui Gauss pentru inversarea matricelor.

Date de intrare:

- Matricea A = (aij)1≤i, j≤n .

Date de iesire:

- Matricea A−1 = (αij)1≤i, j≤n, inversa matricei A

Pentru i = 1, 2, ..., n executa:Pentru j = 1, 2, ..., n executa:Daca i = j atunci:ain+j = 0sij = 0

altfel:ain+j = 1sij = 1

Sfarsit DacaSfarsit Pentru

Sfarsit PentruPentru k = 1, 2, ..., n− 1 executa:

|apq| = maxk≤i,j≤n

|aij |Daca apq = 0 atunci:Daca p = k atunci:Permuta ın (A, I) liniile p si k

Sfarsit DacaDaca q = k atunci:Permuta ın (A, I) si S coloanele q si k

Sfarsit DacaPentru i = 1, 2, ..., k − 1, k + 1, ..., n executa:Pentru j = k + 1, k + 2, ..., 2n executa:

aij = aij −aikakjakk

Sfarsit Pentruaik = 0

Sfarsit PentruPentru j = 2n, 2n− 1, ..., k executa:

akj =akjakk

Sfarsit Pentrualtfel:Matricea A nu este inversabilaSTOP

Sfarsit DacaSfarsit Pentru

4

Page 35: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Daca ann = 0 atunci:Pentru i = 1, 2, ..., n− 1 executa:Pentru j = n+ 1, n+ 2, ..., 2n executa:

aij = aij −ainanjann

Sfarsit Pentruain = 0

Sfarsit PentruPentru j = 2n, 2n− 1, ..., n executa:

anj =anjann

Sfarsit Pentrualtfel:

Matricea A nu este inversabilaSTOP

Sfarsit DacaPentru i = 1, 2, ..., n executa:

Pentru j = 1, 2, ..., n executa:

αij =n∑

k=1

sikakn+j

Sfarsit PentruSfarsit Pentru

5

Page 36: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 3 Metoda iterativa pentru calculul inversei unei matrice A.

Date de intrare:

- Matricea A = (aij)1≤i,j≤n

Date de iesire:

- A−1, inversa matricei A

a11 =1

a11Pentru k = 1, 2, ..., n− 1 executa:

Pentru i = 1, 2, ..., k executa:ui = aik+1

vi = ak+1i

Sfarsit Pentru

ak+1k+1 =1

ak+1k+1 −k∑

i=1

vik∑

j=1

aijuj

Pentru i = 1, 2, ..., k executa:

aik+1 = −ak+1k+1

k∑j=1

aijuj

Sfarsit PentruPentru j = 1, 2, ..., k executa:

ak+1j = −ak+1k+1

k∑i=1

viaij

Sfarsit PentruPentru i = 1, 2, ..., k executa:Pentru j = 1, 2, ..., k executa:

aij = aij +aik+1ak+1j

ak+1k+1

Sfarsit PentruSfarsit Pentru

Sfarsit Pentru

6

Page 37: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Polinom caracteristic. Vectori si valori proprii.

1 Metoda minorilor diagonali.

Fie A = (aij)1≤i, j≤n ∈ Cn×n.

pA (λ) = λn − σ1λn−1 + σ2λ

n−2 − σ3λn−3 + ...+ (−1)

nσn ,

unde:

σ1 =n∑

i=1

Mi =n∑

i=1

aii

σ2 =∑

1≤i<j≤n

Mij =∑

1≤i<j≤n

∣∣∣∣ aii aijaji ajj

∣∣∣∣. . .σn = M12...n = det(A)

Exemplul 1.1

A =

2 1 0 03 2 0 01 1 3 42 −1 2 3

Solutie.

σ1 = M1 +M2 +M3 +M4 = 2 + 2 + 3 + 3 = 10

σ2 = M1 2 +M1 3 +M1 4 +M2 3 +M2 4 +M3 4 =

=

∣∣∣∣ 2 13 2

∣∣∣∣+ ∣∣∣∣ 2 01 3

∣∣∣∣+ ∣∣∣∣ 2 02 3

∣∣∣∣+ ∣∣∣∣ 2 01 3

∣∣∣∣+ ∣∣∣∣ 2 0−1 3

∣∣∣∣+ ∣∣∣∣ 3 42 3

∣∣∣∣ = 26

σ3 = M123 +M124 +M134 +M234 =

=

∣∣∣∣∣∣2 1 03 2 01 1 3

∣∣∣∣∣∣+∣∣∣∣∣∣2 1 03 2 02 −1 3

∣∣∣∣∣∣+∣∣∣∣∣∣2 0 01 3 42 2 3

∣∣∣∣∣∣+∣∣∣∣∣∣

2 0 01 3 4

−1 2 3

∣∣∣∣∣∣ = 10

σ4 = M1234 = det (A) = 1

Se obtine:pA (λ) = λ4 − 10λ3 + 26λ2 − 10λ+ 1.

2 Metoda lui Leverrier

1. Se calculeaza A2, A3, ..., An.

2. Se calculeaza sk = tr(Ak), 1 ≤ k ≤ n.

1

Page 38: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

3. Coeficientii polinomului caracteristic:

pA (λ) = λn − σ1λn−1 + ...+ (−1)

nσn

se calculeaza cu formulele lui Newton:σ1 = s1

σk =1

k[s1σk−1 − s2σk−2 + ...+ (−1)

ksk−1σ1 + (−1)

k+1sk],

2 ≤ k ≤ n.

(1)

Algoritmul 1 Metoda lui Leverrier.

Date de intrare:

- Matricea A = (aij)1≤i,j≤n

Date de iesire:

- Polinomul caracteristic: pA(λ) = λn − σ1λn−1 + ...+ (−1)nσn

- Determinantul maticei A

B = IPentru k = 1, 2, ..., n executa:

B = A ·Bsk =

n∑i=1

bii

Sfarsit Pentruσ1 = s1Pentru k = 2, 3, ..., n executa:

σk =1

k[k−1∑i=1

(−1)i+1siσk−i + (−1)k+1sk]

Sfarsit PentruPolinomul caracteristic este: pA(λ) = λn − σ1λ

n−1 + ...+ (−1)nσn

Determinantul matricei A este: σn

Exemplul 2.1 Pentru A =

1 0 −10 1 12 1 3

avem:

A2 =

−1 −1 −42 2 48 4 8

, A3 =

−9 −5 −1210 6 1224 12 20

s1 = 5, s2 = 9, s3 = 17

σ1 = s1 = 5

σ2 =1

2(s1σ1 − s2) = 8

σ3 =1

3(s1σ2 − s2σ1 + s3) = 4

Rezulta: pA(λ) = λ3 − 5λ2 + 8λ− 4.

2

Page 39: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

3 Metoda lui Fadeev

Fie matricea A ∈ Cn×n. Metoda lui Fadeev este descrisa de formulele: A1 = A, σ1 = tr (A1) , B1 = σ1I −A1,

Ak = ABk−1, σk =1

ktr (Ak) , Bk = σkI −Ak, 2 ≤ k ≤ n

(2)

Exemplul 3.1

A =

2 1 0 03 2 0 01 1 3 42 −1 2 3

Solutie.

A1 = A, σ1 = 10, B1 =

8 −1 0 0

−3 8 0 0−1 −1 7 −4−2 1 −2 7

,

A2 =

13 6 0 018 13 0 0−6 8 13 1611 −9 8 13

, σ2 = 26, B2 =

13 −6 0 0

−18 13 0 06 −8 13 −16

−11 9 −8 13

A3 =

8 1 0 03 8 0 0

−31 19 7 423 −14 2 7

, σ3 = 10, B3 =

2 −1 0 0

−3 2 0 031 −19 3 −4

−23 14 −2 3

,

A4 =

1 0 0 00 1 0 00 0 1 00 0 0 1

, σ4 = 1, B4 = O ∈ R4×4.

Rezulta:pA (λ) = λ4 − 10λ3 + 26λ2 − 10λ+ 1, A−1 = B3

3

Page 40: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Algoritmul 2 Metoda lui Fadeev.

Date de intrare:

- Matricea A = (aij)1≤i,j≤n

Date de iesire:

- Polinomul caracteristic: pA(λ) = λn − σ1λn−1 + ...+ (−1)nσn

- Determinantul matricei A

- Matricea A−1, inversa matricei A, atunci cand A este inversabila

A = A

σ1 =n∑

i=1

aii

Pentru i = 1, 2, ..., n executa:Pentru j = 1, 2, ..., n executa:Daca i = j atunci:bij = −aij

altfel:bij = σ1 − aij

Sfarsit DacaSfarsit Pentru

Sfarsit PentruPentru k = 2, 3, ..., n− 1 executa:

A = A ·Bσk =

1

k

n∑i=1

aii

Pentru i = 1, 2, ..., n executa:Pentru j = 1, 2, ..., n executa:Daca i = j atunci:bij = −aij

altfel:bij = σk − aij

Sfarsit DacaSfarsit Pentru

Sfarsit PentruSfarsit PentruA = A ·Bσn =

1

n

n∑i=1

aii

Polinomul caracteristic este: pA(λ) = λn − σ1λn−1 + ...+ (−1)nσn

Determinantul matricei A este: σn

Daca σn = 0 atunci:

Inversa matricei A este: A−1 =1

σnB

altfel:Matricea A nu este inversabila

Sfarsit Daca

4

Page 41: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

4 Metoda lui Krılov

Algoritmul 3 Metoda lui Krılov.

Date de intrare:

- Matricea A = (aij)1≤i,j≤n

Date de iesire:

- Polinomul caracteristic: pA(λ) = λn + c1λn−1 + c2λ

n−2 + ...+ cn

- Determinantul matricei A

RepetaAlege un vector nenul de componente yi0, 1 ≤ i ≤ nPentru i = 1, 2, ..., n executa:Pentru k = 1, 2, ..., n executa:

yki =n∑

j=1

akjyji−1

Sfarsit PentruSfarsit PentruCalculeaza d determinantul matricei Y = (yij)1≤i≤n; 0≤j≤n−1

pana cand d = 0

Rezolva sistemul de ecuatii liniare:n−1∑i=0

cn−iyki = −ykn, 1 ≤ k ≤ n

Polinomul caracteristic este: pA(λ) = λn + c1λn−1 + c2λ

n−2 + ...+ cnDeterminantul matricei A este: (−1)ncn

Exemplul 4.1

A =

2 1 1−1 2 −11 −1 2

Solutie. Pentru y(0) =

100

rezulta:

y(1) = Ay(0) =

2−11

y(2) = A2y(0) = Ay(1) =

4−55

y(3) = A3y(0) = Ay(2) =

8−1919

Sistemul are determinantul nul ın acest caz.Vom alege un alt vector initial y(0).

5

Page 42: Ecuatii si sisteme de ecuatii neliniare - popirlan.ropopirlan.ro/cris/cn/lab.pdf · Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru

Pentru y(0) =

001

rezulta:

y(1) =

1−12

, y(2) =

3−56

, y(3) =

7−1920

Sistemul este ın acest caz: 3c1 + c2 = −7

−5c1 − c2 = 196c1 + 2c2 + c3 = −20

Acest sistem are solutia unica: c1 = −6, c2 = 11, c3 = −6.Deci:

pA (λ) = λ3 − 6λ2 + 11λ− 6.

Ecuatia pA (λ) = 0 are radacinile: λ1 = 1, λ2 = 2, λ3 = 3.Pentru determinarea vectorilor proprii determinam mai ıntai polinoamele:

q1 (λ) =pA (λ)

λ− λ1= λ2 − 5λ+ 6

q2 (λ) =pA (λ)

λ− λ2= λ2 − 4λ+ 3

q3 (λ) =pA (λ)

λ− λ3= λ2 − 3λ+ 2

Apoi vectorii proprii sunt:

y(2) − 5y(1) + 6y(0) =

−202

, pentru λ1 = 1

y(2) − 4y(1) + 3y(0) =

−1−11

, pentru λ2 = 2

y(2) − 3y(1) + 2y(0) =

0−22

, pentru λ3 = 3

6