Professional Documents
Culture Documents
de
1
Analiza numerică (sau calculul numeric) studiază tehnici de aproximare pentru
rezolvarea problemelor matematice, luând în considerare şi evaluarea posibilelor erori.
Aceste tehnici de aproximare sunt transpuse în algoritmi implementaţi în computer
prin intermediul unor diverse limbaje de programare (MATLAB, C++, JAVA, etc.),
ţinându-se cont de puterea de calcul şi acuarteţea rezultatelor specifice calculatoarelor
sau a limbajelor de programare.
• Derivare numerică
2
Fenomenul de instabilitate manifestat în diverse procese matematice este important
de studiat, dat fiind limitările tehnicii de calcul sau ale măsurătorilor de unde provin
datele de calcul. Următorul exemplu scoate în evidenţă existenţa unui astfel de fenomen
şi motivaţia studiului său.
Fie sistemul de ecuaţii Ax = b, unde
10 7 8 7 32 1
7 5 6 5 23 1
A= b= cu soluţia x=
8 6 10 9 33 1
7 5 9 10 31 1
3
Acesta are soluţia
−81
137
x + ∆x = (2)
−34
22
Sistemul (1) diferă de cel iniţial printr-o ”mică” variaţie a coloanei termenilor liberi, iar
sistemul (2) printr-o ”mică” variaţie a elementelor matricei. După cum se observă,
aceste ”mici” variaţii antrenează după sine variaţii ”mari” ale soluţiei iniţiale.
4
Metode numerice pentru ecuaţii neliniare
Ne propunem să găsim aproximaţii ale soluţiei ecuaţiei anterioare, în cazul în care f
este o funcţie reală neliniară.
Metoda bisecţiei
Fie a < b ∈ R şi f : [a, b] → R o funcţie continuă cu f (a) · f(b) < 0. Atunci există
z ∈ [a, b] astfel încât f (z) = 0.
Definim şirurile (an )n≥0 , (bn )n≥0 , (cn )n≥0 astfel:
• a0 := a, b0 := b, c0 := (a + b)/2;
• Pentru n ≥ 1
a := an−1
n
— dacă f (cn−1 ) = 0, atunci bn := bn−1
cn := cn−1
an := an−1
— dacă f (an−1 ) · f (cn−1 ) < 0, atunci bn := cn−1
cn := (an + bn )/2
1
an := cn−1
— dacă f (an−1 ) · f (cn−1 ) > 0, atunci bn := bn−1
cn := (an + bn )/2
Teorema -1.1 Presupunem că funcţia f are o singură rădăcină în [a, b]. Atunci şirul
(cn )n≥0 construit mai sus converge la unica soluţie z ∈ [a, b] a ecuaţiei f(x) = 0 şi
b−a
|cn − z| ≤
2n
Iteraţiile construite prin metoda bisecţiei se opresc la pasul m pentru care
|f(cm )| < ε
Exemplul -1.1 Să se aproximeze, folosind metoda bisecţiei, soluţia ecuaţiei x3 +4x2 −
10 = 0 (conţinută în intervalul [−1, 2]) cu eroarile ε1 = 0.01, ε2 = 10−10 .
Regula falsi
"Regula falsi" este tot o metoda de "micsorare" a intervalului in care se afla solutia
unei ecuatii.
Fie a < b ∈ R şi f : [a, b] → R o funcţie continuă cu f (a) · f(b) < 0. Atunci există
z ∈ [a, b] astfel încât f (z) = 0.
Definim şirurile (an )n≥0 , (bn )n≥0 , (cn )n≥0 astfel:
2
• a0 := a, b0 := b, c0 := (a0 f (b0 ) − b0 f(a0 ))/(f (b0 ) − f(a0 );
• Pentru n ≥ 1
an := an−1
— dacă f (cn−1 ) = 0, atunci bn := bn−1
cn := cn−1
an := an−1
— dacă f (an−1 )·f (cn−1 ) < 0, atunci bn := cn−1
cn := (an f (bn ) − bn f (an ))/(f(bn ) − f (an )
an := cn−1
— dacă f (an−1 )·f (cn−1 ) > 0, atunci bn := bn−1
cn := (an f (bn ) − bn f (an ))/(f(bn ) − f (an )
|f(cm )| < ε
Teorema -1.2 Presupunem că funcţia f are o singură rădăcină în [a, b]. Atunci şirul
(cn )n≥0 construit mai sus converge la unica soluţie z ∈ [a, b] a ecuaţiei f(x) = 0.
Exemplul -1.2 Să se aproximeze, folosind regula falsi, soluţia ecuaţiei x3 +4x2 −10 =
0 (conţinută în intervalul [−1, 2]) cu eroarile ε1 = 0.01, ε2 = 10−10 .
3
Soluţia ecuaţiei, aproximată cu eroarea ε1 = 0.01 se obţine la pasul m = 8 şi are
valoarea c7 = 1.36506360624662.
Soluţia ecuaţiei, aproximată cu eroarea ε = 10−10 se obţine la pasul m = 21 şi are
valoarea c21 = 1.36523001341145.
Metoda coardei
Fie [a, b] ⊂ R şi f : [a, b] → R o funcţie. Definim recurent şirul (xn )n astfel:
x0 := a, x1 := b şi
x0 f(xn ) − xn f(x0 )
xn+1 := , ∀n∈N
f (xn ) − f (x0 )
Teorema -1.3 Presupunem că f este de două ori derivabilă pe [a, b] şi
a) f ”(x) = 0, ∀ x ∈ (a,b)
Atunci ecuaţia f(x) = 0, are o soluţie unică z ∈ [a, b], iar şirul (xn )n converge la z.
|f (xm )| < ε
Exemplul -1.3 Să se aproximeze, folosind metoda coardei, soluţia ecuaţiei x3 −x+3 =
0 (conţinută în intervalul [−3, 0]) cu eroarile ε1 = 0.01, ε2 = 10−10 .
4
Se verifică ipotezele teoremei anterioare.
Soluţia ecuaţiei, aproximată cu eroarea ε1 = 0.01 se obţine la pasul m = 10 şi are
valoarea x15 = −1.66063905970749.
Soluţia ecuaţiei, aproximată cu eroarea ε = 10−10 se obţine la pasul m = 40 şi are
valoarea x40 = −1.67169988158683.
Metoda secantei
Fie [a, b] ⊂ R şi f : [a, b] → R o funcţie. Definim recurent şirul (xn )n astfel:
x0 , x1 ∈ [a, b] şi
a) f ’(x) = 0, ∀ x ∈ [a,b]
Atunci ecuaţia f(x) = 0, are o soluţie unică z ∈ [a, b], iar şirul (xn )n converge la z.
|f (xm )| < ε
5
Exemplul -1.4 Să se aproximeze, folosind metoda secantei, soluţia ecuaţiei x3 − x +
3 = 0 (conţinută în intervalul [−15, 15], luând x0 = 1, x1 = 2) cu eroarile ε1 = 0.01,
ε2 = 10−10 .
Teorema -1.5 Presupunem că f este de două ori derivabilă pe [a, b], că f’, f ” nu se
anulează pe [a, b] şi f(a) · f (b) < 0. Fie x0 ∈ [a, b] astfel încât
şi
f(xn )
xn+1 := xn − , ∀n∈N
f’(xn )
Atunci ecuaţia f(x) = 0, are o soluţie unică z ∈ [a, b], iar şirul (xn )n converge la z.
|f (xn )|
|xn − z| ≤ ,∀n∈N
min |f’(x)|
x∈[a,b]
|f (xm )| < ε
6
sau, pentru o mai mare acurateţe, la pasul m pentru care
unde ε este eroarea de aproximare (se poate folosi si evaluarea data de propozitia
anterioara).
Principiul contracţiei
b) f (I) ⊂ I
a) Dacă există q ∈ (0, 1) astfel încât |f (x)| ≤ q, pentru orice x ∈ [a, b], atunci
|f (x) − f(y)| ≤ q |x − y| , pentru orice x, y ∈ [a, b].
a+b
b) Dacă |f (x) − f (y)| ≤ q |x − y| şi f a+b
2
− 2 ≤ (1−q)· b−a
2
, atunci f ([a, b]) ⊂
[a, b].
7
Teorema -1.6 Fie f : I → R o contracţie şi x0 ∈ I. Definim şirul (xn )n prin relaţia
de recurenţă
xn+1 := f(xn ), ∀ n ∈ N
Atunci ecuaţia f(x) = x are o soluţie unică z ∈ [a, b] , iar şirul (xn )n converge la z, cu
următoarea formulă de evaluare a erorii:
q qn
|xn − z| ≤ |xn − xn−1 | ≤ |x1 − x0 | , ∀ n ∈ N.
1−q 1−q
q
|xm − xm−1 | < ε
1−q
8
x=
x+2
8
Metode pentru rezolvarea sau aproximarea soluţiilor
sistemelor de ecuaţii liniare
Norme de vectori şi norme de matrici
Fie Mm (R) spaţiul matricelor cu m linii şi m coloane cu elemente din R. Pe Mm (R)
se pot considera norme definite ca norme de operator liniar
1
Atunci
3
A1 = max |aij | =
1≤j≤3
i=1
= max (|1| + |4| + |7| , |−2| + |−5| + |−8| , |3| + |6| + |9|) = max (12, 15, 18) = 18
şi
3
A∞ = max |aij | =
1≤i≤3
j=1
= max (|1| + |−2| + |3| , |4| + |−5| + |6| , |7| + |−8| + |9|) = max (6, 15, 24) = 24.
2
9, 2
−12, 6
cu soluţia x + δx = (1)
4, 5
−1, 1
Considerăm şi sistemul perturbat (A + ∆A)(x + ∆x) = b unde
10 7 8, 1 7, 2 32
7, 08 5, 04 6 5 23
A + ∆A = b=
8 5, 98 9, 89 9 33
6, 99 4, 99 9 9, 98 30
−81
137
cu soluţia x + ∆x = (2)
−34
22
Sistemul (1) diferă de cel iniţial printr-o ”mică” variaţie a coloanei termenilor liberi,
iar sistemul (2) printr-o ”mică” variaţie a elementelor matricei. După cum se observă
aceste ”mici” variaţii antrenează după sine variaţii ”mari” ale soluţiei iniţiale.
3
În legătură cu această problemă de stabilitate a sistemelor de ecuaţii liniare sunt
cunoscute următoarele rezultate:
Propoziţia -1.4 Fie sistemul de ecuaţii liniare Ax = b şi sistemul perturbat A(x +
δx) = b + δb. Presupunem b = 0. Atunci
δx δb
≤ cond(A) · . (4)
x b
şi
δx 1 δb
≥ ·
x cond(A) b
În plus există b = 0 şi δb = 0 astfel încât inegalitatea (4) să devină egalitate.
∆x ∆A
≤ cond(A) · . (5)
x + ∆x A
În plus există b = 0 şi ∆A = 0 astfel încât inegalitatea (5) să devină egalitate.
Exemplul -1.4 Vom considera cazul sistemului (1) şi vom lucra cu norma infinit.
Avem:
δx∞ = x + δx − x∞ = 13, 6
4
x∞ = 1.
Atunci
δx∞ 13, 6
= = 13, 6
x∞ 1
25 −41 10
−6
−41 68 −17 10
A−1 =
10 −17 5 −3
−6 10 −3 2
A∞ = 33, A−1 ∞ = 136.
Rezultă că
cond(A) := A∞ · A−1 ∞ = 33 · 136 = 4488
Avem
δb∞ = b + δb − b∞ = 0, 1.
b∞ = 33..
Atunci
δb∞ 0, 1 1
= =
b∞ 33 330
şi
δb∞ 1
cond(A) · = 4488 · = 13, 6
b∞ 330
Deci
δx∞ δb∞
= cond(A) ·
x∞ b∞
5
Exemplul -1.5 Fie sistemul de ecuaţii Ax = b unde
10 1 4 0 15 1
1 10 5 −1 15 1
A= b= cu soluţia x=
4 5 10 7 26 1
0 −1 7 9 15 1
(n) (n) 1
Hn = (hij )i,j=1,n cu hij = , ∀ i, j = 1, n
i+j−1
Metode directe
Metoda lui Gauss (cu pivotare parţială)
6
cu necunoscutele x1 , . . . , xm ∈ R. Metoda lui Gauss este folosită atât pentru deter-
minarea soluţiei sistemului, cât şi pentru calculul determinantului matricei sistemului..
Sistemul dat se transformă în m − 1 etape astfel:
Iniţial se consideră determinantul matricei sistemului det = 1
m
xi + aij xj = ai,m+1 , 1 ≤i ≤m−1
j=i+1 (6)
amm xm = am,m+1
Determinantul matricei sistemului se calculează astfel: det = det · amm .
Dacă amm = 0, atuci metoda nu se aplică.
Se rezolvă sistemul (6) astfel:
• xm = am,m+1 /am,m ;
7
m
• xi = ai,m+1 − aij xj , ∀ i ∈ m − 1, 1.
j=i+1
Să se calculeze determinantul matricei sistemului şi să se rezolve sistemul cu metoda
lui Gauss.
şi dacă considerăm că lucrăm numai cu 4 cifre exacte, atunci prin alegerea pivotului
elementul 1,prin metoda lui Gauss se obţine soluţia
iar prin alegera pivotului elementul 592, prin metoda lui Gauss se obţine soluţia
8
pe când soluţia exactă a sistemului este
x = −1.58889055801431, y = 0.74085961242908.
• Dacă p = n sau s = n (dar nu p = s = n), atunci det = (−1) · det şi se permută
coloana s cu coloana n (dacă p = n) sau linia p cu linia n (dacă s = n). Dacă
p = n şi s = n se permută linia p cu linia n şi apoi coloana s cu coloana n.
9
• Pentru ∀i ∈ n + 1, m se elimină xn din ecuaţia i astfel: aij = aij − ain · anj ,
∀ j ∈ m, n.
m
xi + aij xj = ai,m+1 , 1 ≤i ≤m−1
j=i+1 (7)
amm xm = am,m+1
Determinantul matricei sistemului se calculează astfel: det = det · amm .
Dacă amm = 0, atuci metoda nu se aplică.
Se rezolvă sistemul (7) astfel:
m
• xi = ai,m+1 − aij xj , ∀ i ∈ m − 1, 1.
j=i+1
unde (x1 , . . . , xm ) este o permutare a soluţiei (x1 , . . . , xm ) sistemului iniţial (după
cum s-au permutat coloanele matricei iniţiale în procesul de transformare a sistemului).
Exemplul -1.8 Folosind metoda lui Gauss cu pivotare totală, să se rezolve sistemul
de ecuaţii liniare:
5x + y + 2z = 29
3x − y + z = 10 (8)
x + 2y + 4z = 31
Să se calculeze şi determinantul matricei sistemului.
Folosind transformările date de metoda lui Gauss cu pivotare totală, obţinem ur-
10
mătorul sistem de ecuaţii:
2 1 29
x+ z+ y =
5 5 5
1
z+ y = 7
2
3
− y = −6
2
Calculăm determinantul matricei sistemului (tot cu algoritmul dat de metoda lui
Gauss) det = −27 şi rezolvăm sistemul anterior. Obţinem z = 5, y = 4, x = 3.
Metoda lui Gauss-Jordan este folosită pentru determinarea inversei matricei A (dacă
aceasta există). Se consideră ansamblul matriceal compus din matricea A şi matricea
unitate Im
a . . . a1m 1 ... 0
11
.. .. .. .. .. ..
. . . . . .
am1 . . . amm 0 ... 1
Ansamblul anterior se transformă (analog metodei Gauss - cu pivotare parţială sau
totală) astfel:
11
• Dacă piv = 0, atunci metoda nu se aplică.
1 a12 . . . a1m a1,m+1 a1,m+2 . . . a1,2m
0 1 . . . a2m a2,m+1 a2,m+2 . . . a2,2m
.. .. ... .. .. .. ... ..
. . . . . .
0 0 ... 1 am,m+1 am,m+2 . . . am,2m
(matricea din partea dreaptă are cel puţin n(n − 1)/2 zerouri).
Pentru n între m şi 2 se efectuează următoarele:
1 0 ... 0 b11 b12 . . . b1m
0 1 ... 0 b21 b22 . . . b2m
.. .. . . .. .. .. .. .
. ...
. . . . . .
0 0 ... 1 bm1 bm2 . . . bmm
Matricea
b11 b12 . . . b1m
b21 b22 . . . b2m
B= .. .. .
... ..
. .
bm1 bm2 . . . bmm
12
are liniile matricei inverse A−1 modulo permutarea liniilor descrisă în algoritm.
Rezolvarea unui sistem de ecuaţii liniare Ax = b este echivalentă, după ce s-a
calculat inversa matricei A, cu egalitatea x = A−1 b.
iar, în final,
1 0 0 9 −36 30
0 1 0 −36 192 −180
0 0 1 30 −180 180
Deci
9 −36 30
−1
A = −36 192 −180
30 −180 180
Factorizarea LU
13
Se numeşte factorizare LU a unei matrice A descompunerea matricei ca produs de
două matrici, una inferior triunghiulară (notată L), alta superior triunghiulară (notată
U ), adică A = LU. Descompunerea, dacă este posibilă, nu este unică.
Teorema -1.1 Fie A = (aij )1≤i,j≤m o matrice astfel încât determinanţii "de colţ"
∆k := det((aij )1≤i,j≤k ) să fie nenuli, pentru orice k = 1, m. Atunci A se descompune
unic sub forma A = LU cu L = (lij )1≤i,j≤m inferior triunghiulară şi U = (uij )1≤i,j≤m
superior triunghiulară cu elementele diagole egale cu 1.
Fie un sistem de ecuaţii liniare Ax = b, pentru care A admite factorizare LU. Atunci
soluţia y a sistemului Ly = b se determină astfel:
i−1
bi − lik yk
k=1
yi = ∀i = 1, m
lii
Soluţia x a sistemului iniţial se determină astfel:
m
xi = yi − uik xk ∀i = m, 1
k=i+1
14
Se verifică mai întâi că determinanţii de colţ ai matricei A sunt nenuli. Cu formulele
(9) şi (10) se obţine:
l11 = 2, l21 = −1, l31 = 4, l41 = 0
l33 = 5, l43 = 2
u33 = 1, u34 = 0
l44 = 1
u44 = 1
Deci
2 0 0 0 1 2 −1 0
−1 1 0 0 0 1 1 3
L= , U =
4 −3 5 0 0 0 1 0
0 1 2 1 0 0 0 1
Teorema -1.2 Fie A simetrică şi pozitiv definită. Atunci A se descompune unic sub
forma A = L · Lt cu L = (lij )1≤i,j≤m inferior triunghiulară.
15
Fie sistemul de ecuaţii liniare Ax = b, cu A = (aij ) ∈ Mm (R) simetrică şi pozitiv
definită, iar b = (bi ) ∈ Rm .
Descompunem A = L · Lt cu L = (lij ) ∈ Mn(R) matrice superior triunghiulară. Se
determină mai întâi y = (yi ) ∈ Rn soluţia sistemului de ecuaţii Ly = b şi apoi soluţia
x = (xi ) ∈ Rn a sistemului iniţial se determină prin rezolvarea sistemului Lt x = y.
Se calculează elementele matricei L astfel:
j−1
aij − lik ljk
j−1
ljj = ajj − 2
ljk şi lij = k=1
, ∀i = j + 1, m, ∀j = 1, m
k=1 ljj
(11)
Soluţia y a sistemului Ly = b se determină astfel:
i−1
bi − lik yk
k=1
yi = ∀i = 1, m (12)
lii
Soluţia x a sistemului iniţial se determină astfel:
m
yi − lki xk
k=i+1
xi = ∀i = m, 1 (13)
lii
Dacă matricea A nu este simetrică şi pozitiv definită, dar este inversabilă, atunci
sistemul de ecuaţii liniare Ax = b se transformă în sistemul echivalent At Ax = At b, a
cărui matrice este simetrică şi pozitiv definită.
Exemplul -1.11 Folosind metoda rădăcinii pătrate, să se rezolve sistemul de ecuaţii
liniare Ax = b cu
4 2 2 8
A = 2 10 4 , b = 16
2 4 6 12
Se verifică imediat că matricea A este simetrică şi pozitiv definită. Cu formulele
(11) se obţine
l11 = 2, l12 = 1, l13 = 1
16
l22 = 3, l23 = 1
l33 = 2
Descompunerea QR
17
şi pentru k = 2, m avem:
m
rjk = aik qij , pentru j = 1, k − 1
i=1
m
k−1
rkk = 2
aik − 2
rik , (14)
i=1 i=1
k−1
1
rjk qij , pentru i = 1, m .
qik = r
aik −
kk j=1
y = Qt b,
sau pe componente:
m
yi = qji bj , i = 1, m.
j=1
18
Folosind relaţiile de mai sus obţinem:
0 1 0 1 2 3
Q = −1 0 0 şi R = 0 4 5 ,
0 0 1 0 0 1
Fie m ∈ N ∗ , A ∈ Mm (R), b ∈ Rm .
Considerăm sistemul de ecuaţii liniare Ax = b. Notăm cu I matricea unitate din
Mm (R) şi cu B := I − A. Sistemul de ecuaţii Ax = b se transformă echivalent astfel:
Ax = b ⇐⇒ (I − B)x = b ⇐⇒ x = Bx + b.
Pentru orice x(0) ∈ Rm definim şirul (numit şir Jacobi) (x(n) )n∈N prin relaţia de re-
curenţă
x(n+1) = Bx(n) + b, ∀ n ∈ N
q qn
x(n) − x ≤ x(n) − x(n−1) ≤ x(1) − x(0) , ∀ n ∈ N∗
1−q 1−q
19
(în particular lim x(n) = x).
n→∞
(n)
Algoritm: Dacă A = (aij )1≤i,j≤m , b = (bi )1≤i≤m , B = (bij )1≤i,j≤m , x(n) = (xi )1≤i≤m ,
∀ n ∈ N , atunci bij = −aij dacă i = j, bii = 1 − aii , ∀ 1 ≤ i, j ≤ m. Dacă pe Rm consid-
m
erăm norma · 1 , atunci q := B1 = max |bij |, iar dacă considerăm norma · ∞
1≤j≤m i=1
m
atunci q := B∞ = max |bij |. Se testează condiţia de aplicabilitate a metodei
1≤i≤m j=1
q < 1. În caz de aplicabilitate se atribuie iteratei iniţiale x(0) o valoare oarecare din
Rm , iar calculul celorlalte iterate se face după formula:
m
(n+1) (n)
xi = bij xj + bi , ∀ 1 ≤ i ≤ m, ∀ n ∈ N.
j=1
q
x(n) − x(n−1) p ≤ ε,
1−q
Exemplul -1.13 Să se arate că se poate aplica metoda lui Jacobi (relativă la normele
1 şi ∞) pentru sistemul de ecuaţii liniare Ax = b cu
0, 9 0, 1 0, 2 0, 3 3, 6
−0, 2 0, 8 0, 1 0, 4 2
A= ; b = .
0, 1 −0, 3 0, 7 −0, 1 2, 4
−0, 3 −0, 2 −0, 1 0, 9 1, 5
0
0
Luând x = să se determine numărul de iteraţii necesar pentru a aproxima
(0)
0
0
soluţia sistemului cu o eroare mai mică de 10−10 .
20
Avem
0, 1 −0, 1 −0, 2 −0, 3
0, 2 0, 2 −0, 1 −0, 4
B = I −A =
−0, 1 0, 3 0, 3 0, 1
0, 3 0, 2 0, 1 0, 1
Atunci
4
B1 = max |bij | = 0, 9 < 1.,
1≤j≤4
i=1
şi
4
B∞ = max |bij | = 0, 9 < 1
1≤i≤4
j=1
Deci metoda lui Jacobi se aplică. Din formula de evaluare a erorii avem:
qn
x(n) − xp ≤ x(1) − x(0) p , ∀ n ∈ N∗
1−q
şi
x(1) − x(0) ∞ = b∞ = 3, 6
Atunci
qn ε
(1) (0)
x − x 1 < ε ⇐⇒ n = log0,9 +1
1−q 95
şi
qn ε
x(1) − x(0) ∞ < ε ⇐⇒ n = log0,9 +1
1−q 36
Fie m ∈ N ∗ , A ∈ Mm (R), a ∈ Rm .
21
Considerăm sistemul de ecuaţii liniare Ax = a. Notăm cu I matricea unitate din
Mm (R) şi cu
a11 0 · · · 0
0 a22 · · · 0
D = diag(A) = .
··· ··· ··· ···
0 0 · · · amm
Spunem că A este diagonal dominantă pe linii dacă
|aii | > |aij | , ∀i ∈ 1, m
j=1,m j =i
Pentru orice x(0) ∈ Rm definimm şirul (x(n) )n∈N prin relaţia de recurenţă
x(n+1) = Bx(n) + b, ∀ n ∈ N.
q qn
x(n) − x∞ ≤ x(n) − x(n−1) ∞ ≤ x(1) − x(0) ∞, ∀ n ∈ N∗
1−q 1−q
22
Atunci aii = 0, ∀i ∈ 1, m, deci D este inversabilă. Notăm cu y = Dx (deci x = D−1 y),
şi cu B = I − AD−1 . Sistemul de ecuaţii Ax = a se transformă echivalent astfel:
Pentru orice y (0) ∈ Rm definimm şirul (y (n) )n∈N prin relaţia de recurenţă
y (n+1) = By (n) + a, ∀ n ∈ N.
q qn
y (n) − y1 ≤ y (n) − y (n−1) 1 ≤ y (1) − y (0) 1 , ∀ n ∈ N∗
1−q 1−q
(în particular lim y (n) = y). Deci soluţia x a sistemului Ax = a este aproximată de
n→∞
−1 (n)
D y ( lim D y
−1 (n)
= x).
n→∞
Metoda Gauss-Seidel
Fie m ∈ N ∗ , A ∈ Mm (R), b ∈ Rm .
Considerăm sistemul de ecuaţii liniare Ax = b. Notăm cu I matricea unitate din
Mm (R) şi cu B := I − A. Dacă elementele matricei B sunt (bij )1≤i,j≤m , descompunem
B sub forma B = L + R, cu L = (lij )1≤i,j≤m , unde lij := bij , ∀ 1 ≤ j < i ≤ m şi lij := 0
altfel. Atunci det(I − L) = 1 şi deci există (I − L)−1 .
Sistemul de ecuaţii Ax = b se transformă echivalent astfel:
Ax = b⇐⇒x = Cx + c.
23
Pentru orice x(0) ∈ C m definim şirul Jacobi (x(n) )n∈N prin relaţia de recurenţă
Deci
m
(n+1) (n)
x1 = b1j xj + b1 , ∀ n ∈ N şi
j=1
i−1
m
(n+1) (n+1) (n)
xi = bij xj + bij xj + bi , ∀ 2 ≤ i ≤ m, ∀ n ∈ N.
j=1 j=i
m
i−1
m
Teorema -1.5 Dacă q := max qi cu q1 = |b1j |, qi = |bij |qj + |bij |, 2 ≤ i ≤ m
1≤i≤m j=1 j=1 j=i
şi q < 1 atunci avem evaluările:
q qn
x(n) − x∞ ≤ x(n) − x(n−1) ∞ ≤ x(1) − x(0) ∞, ∀ n ∈ N∗
1−q 1−q
şi
5 1 1
q1 = , q2 = , q3 = .
6 3 10
24
Deci
5
q = max(q1 , q2 , q3 ) = <1
6
Rezultă că metoda Gauss-Seidel se aplică.
Ax = a ⇐⇒ σD−1 Ax = σD−1 a ⇐⇒ (I − Cσ )x = cσ ⇐⇒ x = Cσ x + cσ .
Pentru orice x(0) ∈ Rm definim şirul Jacobi (x(n) )n∈N prin relaţia de recurenţă
x(n+1) = Cσ x(n) + cσ , ∀ n ∈ N
Fie λ1 ≥ λ2 ≥ . . . ≥ λm valorile proprii ale matricei D−1 A. Dacă alegem σ astfel încât
0 < σ < 2/λ1 , şi notăm q := max |1 − σλi |, atunci q < 1 şi avem evaluările:
1≤i≤m
q qn
x(n) − xD ≤ x(n) − x(n−1) D ≤ x(1) − x(0) D , ∀ n ∈ N∗
1−q 1−q
(în particular lim x(n) = x), unde xD := Dx, x, ∀ x ∈ Rm , cu ·, · produsul
n→∞
scalar uzual pe R .
m
2
σ= ,
λ1 + λm
λ1 − λm
q=
λ1 + λm
25
În practică, de obicei, nu se calculează valoarea lui λ1 , ci se alege σ ∈ (0, 2/D−1 A∞)
(deoarece λ1 ≤ D−1 A∞ ), parcurgând intervalul cu un pas echidistant. Valoarea op-
timă a lui σ se stabileşte atunci când numărul de iteraţii n, necesar pentru a aproxima
soluţia sistemului de ecuaţii cu o eroare dată este minim.
Dacă matricea A a sistemului de ecuaţii liniare Ax = a nu este simetriică şi pozitiv
definită, sistemul se transformă echivalent
Ax = a ⇐⇒ At Ax = At a
(unde At = (aji )1≤i,j≤m este transpusa matricei A), pentru care matricea At A este
simetrică şi pozitiv definită.
Soluţie: Notăm cu A matricea sistemului. Se verifică că A este simetrică şi pozitiv
definită.
Fie D = diag(A). Atunci
1 3/5 2/5
−1
D A = 1/2 1 1/2
2/5 3/5 1
26
căruia îi corespunde
λ1 − λ3 2
q= = .
λ1 + λ3 3
Avem x(1) = Cσ x(0) + cσ = cσ = σD−1 b = 5/6 · (1/5; 2/6; 3/5)t unde b = (1; 2; 3)t este
vectorul termenilor liberi din sistem. Atunci
2 25
x(1) 2D = Dx(1) , x(1) = ·
3 9
şi
n+ 12
qn 2
x(n) − xD ≤ x(1) − x(0) D = 5 · .
1−q 3
Ax = b ⇔ x = Cσ x + cσ .
Pentru orice x(0) ∈ Rm definim şirul Jacobi (x(n) )n∈N prin relaţia de recurenţă
x(n+1) = Cσ x(n) + cσ , ∀ n ∈ N
27
Atunci
x(n+1) = Cσ x(n) + cσ ⇔
Dacă alegem σ astfel încât 0 < σ < 2, şi notăm q := Cσ A atunci q < 1 şi avem
evaluările:
q qn
x(n) − xA ≤ x(n) − x(n−1) A ≤ x(1) − x(0) A , ∀ n ∈ N∗
1−q 1−q
(în particular lim x(n) = x), unde xA := Ax, x , ∀ x ∈ Rm , cu ·, · produsul scalar
n→∞
uzual pe R . m
Ax = b ⇔ At Ax = At b
(unde At este transpusa matricei A) pentru care matricea At A este simetrică şi pozitiv
definită.
Este o metoda de calcul a inversei unei matrice simetrice şi poyitiv definite. Fie A ∈
Mm (R) o matrice simetrică şi pozitiv definită. Notăm cu ∗ operaţia de transpunere (a
28
unui vector sau a unei matrice). Definim succesiv vectorii (wk )m
k=0 ⊂ R , (vk )k=1 ⊂ R
m m m
w0 w0∗
w0 = 0, C1 = , D1 = Im − C1 A
w0∗ Aw0
iar pentru k = 1, m − 1:
Se alege vk astfel ca Dk vk = 0,
wk = Dk vk .
wk wk∗
Ck+1 := Ck + ,
wk∗ Awk
Dk+1 := Im − Ck+1 A,
Se verifică mai întâi că matricea A este simetrică şi pozitiv definita. Luăm w0 =
(1, 0, 0, 0)∗ . Atunci w0∗ Aw0 = 1 şi
1 0 0 0 0 −2 −3 −4
0 0 0 0 0 1 0 0
C1 = , D1 = .
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
Luăm v1 = (0, 1, 0, 0)∗ . Rezultă că w1 = (−2, 1, 0, 0)∗ şi w1∗ Aw1 = 1, de unde
5 −2 0 0 0 0 −13 0
−2 1 0 0 0 0 5 −2
C2 = , D2 = .
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
29
Luăm v2 = (0, 0, 1, 0)∗ . Rezultă că w2 = (−13, 5, 1, 0)∗ şi w2∗ Aw2 = 1, de unde
174 −67 −13 0 0 0 0 39
−67 26 5 0 0 0 0 −17
C3 = , D3 = .
−13 5 1 0 0 0 0 −3
0 0 0 0 0 0 0 1
Luăm v3 = (0, 0, 0, 1)∗ . Rezultă că w3 = (39, −17, −3, 1)∗ şi w3∗ Aw3 = 1, de unde
1695 −730 −130 39 0 0 0 0
−730 315 56 −17 0 0 0 0
C4 = , D4 = .
−130 56 10 −3 0 0 0 0
39 −17 −3 1 0 0 0 0
T x0 − b = infn T x − b (17)
x∈R
30
b) Elementul x0 := T + b verifică egalitatea (17) şi, pentru orice alt element x0 ce
verifică aceeaşi egalitate, avem x0 ≤ x0 .
Reciproc, T + este unica soluţie U ∈ Mn,m (R)a problemei: U b satisface egalitatea
(17) pentru orice b ∈ Rm , iar pentru orice alt element x0 , care verifică aceeaşi egalitate,
avem U b ≤ x0 .
• (Grigore) Definim succesiv vectorii (yk )lk=1 ⊂ X, (wk )lk=1 ⊂ Rn şi matricele
(Hk )lk=0 ⊂ Mn,m (R) astfel:
H0 = 0.
wk := yk − Hk−1 T yk şi
wk (T wk )∗
Hk := Hk−1 + , ∀k = 1, l.
T wk 2
Atunci Hl = T + (pseudoinversa matricei T ).
31
1
1
0
Luăm y1 = T ∗ = 0 (avem y1 − H0 T y1 = y1 = 0. Atunci w1 =
∗
0
−1
0
2
0
y1 − H0 T y1 = y1 şi T w1 = . Rezultă că T w1 2 = 12, iar w1 (T w1 )∗ =
2
2
2 0 2 2
0 0 0 0 . Deci
−2 0 −2 −2
1/6 0 1/6 1/6
w1 (T w1 )∗
H1 = H0 + 2 = 0 0 0 0 .
T w1
−1/6 0 −1/6 −1/6
0
0 −1/2
1
Luăm y2 = T ∗ ∗ = 1 (avem y2 − H1 T y2 = 1 = 0. Atunci
0
0 1/2
0
−1
1
2
w2 = y2 − H1 T y2 şi T w2 = . Rezultă că T w2 = 3, iar w2 (T w2 )∗ =
0
1
32
1/2 −1/2 0 −1/2
−1 1 0 1 . Deci
−1/2 1/2 0 1/2
1/3 −1/6 1/6 0
w2 (T w2 )∗
H2 = H1 + 2 = −1/3 1/3 0 1/3
T w2
−1/3 1/6 −1/6 0
În concluzie
1/3 −1/6 1/6 0
+
T = H2 = −1/3 1/3 0 1/3
−1/3 1/6 −1/6 0
Atunci U = T . +
33
Luând e1 = (1; 0; −1)∗ , e2 = (0; 1; 0)∗ (bază în R(T ∗ )) obţinem f1 = (2; 0; 2; 2)∗ , f2 =
(0; 1; 1; 2)∗ . Atunci
1 1
x1 = √ (1; 0; −1)∗ , y1 = √ (1; 0; 1; 1)∗
2 3 3
În continuare
1
e2 = e2 − f2 , y1 x1 = (−1; 2; 1)∗ şi f2 = T e2 = (−1; 1; 0; 1)∗
2
Atunci
1 1
x2 = √ (−1; 2; 1)∗ , y2 = √ (−1; 1; 0; 1)∗
2 3 3
Rezultă că
2 −1 1 0
+ 1
T = x1 y1∗ + x2 y2∗ = −2 2 0 2
6
−2 1 −1 0
H0 = T ∗ .
Atunci Hl = T + .
34
1 −5
1
0 −3
Luând a1 = 0 , b1 = obţinem v0 := (I − T H0 )∗ T a1 = ,
0 −8
0
0 −11
1 5/48
1
w0 = H0 b1 = 0 , u0 := (I − H0 T )w0 = 1/8 ,
v0 , T w0
−1 −5/48
23/48 −5/16 1/6 −7/48
v0∗
H1 := H0 + u0 · = −5/8 5/8 0 5/8
−23/48 5/16 1/6 7/48
0 7/8
0
1 −7/8
Luând a2 = 1 , b2 = obţinem v1 := (I − T H1 )∗ T a2 = , w1 =
0 0
0
0 −7/8
−5/16 −1/6
1
H1 b2 = 5/8 , u1 := (I − H1 T )w1 = 1/3 , deci
v1 , T w1
5/16 1/6
1/3 −1/6 1/6 0
+
T = H2 := H1 + u1 · v1∗ = −1/3 1/3 0 1/3 .
−1/3 1/6 −1/6 0
35
(acest sistem este compatibil nedetreminat). Atunci
0
1/3 −1/6 1/6 0 0
1
+
z = T b = −1/3 1/3 0 1/3 = 1
1
−1/3 1/6 −1/6 0 0
2
36
Metode pentru aproximarea valorilor proprii ale
unei matrice
În acest capitol prezentăm algoritmi pentru determinarea valorilor şi vectorilor pro-
prii ai unei matrice A ∈ Mm (R), adică a scalarilor λ ∈ C şi a vectorilor x ∈ C m \ {0}
asfel ca:
Ax = λx .
pA (λ) = det(λIm − A) .
Pentru o valoare proprie λ dată, vectorul propriu se obţine ca o soluţie nenulă a sis-
temului liniar omogen:
(A − λIm )x = 0 .
Metodele numerice pentru determinarea valorilor proprii se împart în doua mari cate-
gorii:
- metode care utilizează polinomul caracteristic;
- metode care nu folosesc polinomul caracteristic.
Prima categorie de metode este mai rar folosită pentru că trebuie să calculăm
rădăcinile unui polinom de grad m arbitrar. Metodele care nu folosesc polinomul
caracteristic aproximează, în general, prin iterare, valorile proprii ale unei matrice.
1
unde ck este suma minorilor de ordin k ai matricei A pentru k = 1, m. Numărul mino-
m!
rilor de ordin k ai matricei A este Cm k
= . Deci, calculând direct coeficienţii
k!(m − k)!
ck , k = 1, m, ar trebui calculaţi Cm
1 2
+ Cm + · · · + Cmm
= 2m − 1 determinanţi. Acest
lucru este dificil şi implică multe calcule pentru valori mari ale lui m. De aceea, s-au
căutat metode care să determine mai uşor coeficienţii polinomului caracteristic. În
subparagrafele următoare prezentăm câteva astfel de metode împreună cu algoritmii
corespunzători şi exemple numerice.
Metoda Krylov
Metoda Krylov se bazează pe teorema Cayley-Hamilton:
Dacă A ∈ Mm (R) şi pA (λ) = λm −p1 λm−1 −p2 λm−2 −· · ·−pm , atunci pA (A) = 0m ,
adică:
Am − p1 Am−1 − p2 Am−2 − · · · − pm−1 A − pm Im = 0m .
t
(0) (0)
Considerăm y (0) = y1 , . . . , ym ∈ Rm un vector arbitrar. Înmulţind relaţia (??)
cu y (0) , se obţine:
de unde, notând:
2
Deci determinarea soluţiilor polinomului caracteristic prin metoda Krylov se reduce
la rezolvarea sistemului (??), în cazul în care are soluţie unică. Dacă sistemul nu are
soluţie unică, atunci se poate încerca schimbarea vectorului iniţial y (0) .
3
Coefienţii polinomului caracteristic se obţin rezolvâd sistemul:
1621 8 −16 1 p1 9210
164 −209 −21 2 p2 4902
= .
−456 −197 −5 3 p 5571
3
−393 −154 11 4 p4 10992
9
−45
Folosind o metodă de rezolvare a sistemelor liniare , obţinem p = şi polino-
369
885
mul caracteristic este:
Metoda Leverrier
Determinarea coeficienţilor polinomului caracteristic prin metoda Leverrier se bazează
pe următorul rezultat:
Dacă P (x) = xm + p1 xm−1 + p2 xm−2 + · · · + pm este un polinom de gradul m cu
rădacinile λ1 , . . . , λm şi sk = λk1 + · · · + λkm pentru k ∈ N , atunci avem
k−1
−kpk = pj sk−j pentru k ∈ N ∗ ,
j=0
cu p0 = 1 .
Se ştie că, dacă A ∈ Mm (R) şi λ1 , . . . , λm sunt valori proprii distincte ale lui A,
atunci sk = tr(Ak ) pentru k ∈ N ∗ .
Determinarea coeficienţilor polinomului carateristic cu metoda Leverrier constă în:
P1. se calculează s1 = tr(A) şi p1 = −s1 ;
P2. pentru k = 2, m calculăm:
1
Ak , sk = tr(Ak ) , pk = − (sk + p1 sk−1 + p2 sk−2 + · · · pk−1 s1 ).
k
4
P3. Polinomul caracteristic al matricei A va fi
de unde rezultă
1
m−1
A−1 = − A + p1 Am−2 + p2 Am−3 + · · · + pm−1 Im .
pm
Există un algoritm propus de Fadeev prin care se calculează simultan coeficienţii
polinomului caracteristic şi A−1 (dacă există). Astfel determinarea coeficienţilor poli-
nomului carateristic cu metoda Leverrier constă în:
P1. se calculează p1 = −tr(A) şi B1 = A1 + p1 Im , unde A1 = A ;
P2. pentru k = 2, m calculăm:
1
Ak = ABk ,pk = − tr(Ak ) , Bk = Ak + pk Im .
k
1
P3. Dacă pm = 0 atunci avem A−1 = − Bm−1 .
pm
Observaţie. În algoritmul de mai sus, din modul de calculare a şirului B1 , . . . , Bm−1 , Bm
şi din teorema Cayley-Hamilton, se obţine că
Bm = Am + pm Im = Am + p1 Am−1 + · · · + pm−1 A + pm Im = 0m
Exemplul -1.2 Determinaţi, folosind metoda Leverrier, polinomul caracteristic şi ma-
tricea A−1 , dacă există, pentru matricea
11 0 −3 12
−9 −5 2 5
A= ,
2 −4 15 −11
2 6 −7 10
5
Aplicând metoda Leverrier pentru matriceaA şi m = 4, obţinem:
s1 = 31 , p1 = −31 ,
- pentru k = 2:
139 84 −162 285
−40 47 12 −105
2
A2 = A = , s2 = 705 , p2 = 128 ,
66 −106 288 −271
−26 58 −169 231
- pentru k = 3:
1019 1938 −4674 6720
−1049 −913 1129 −1427
A3 = A3 = ,
7714 −2248 5807 −5616
−684 1772 −3958 4147
s3 = 10060 , p3 = 2609 ,
- pentru k = 4:
−2141 49326 −116331 140532
−3918 −8513 28245 −43842
4
A4 = A = ,
39468 −45684 116779 −110709
−23094 31854 −82803 85660
s4 = 191785 , p4 = −12761 ,
6
Cum p4 = 0, rezultă că:
0.0570 −0.0522 −0.0028 −0.0454
−0.0753 −0.0314 0.0794 0.1934
= .
−0.0060 0.0412 0.1103 0.1079
0.0296 0.0581 0.0302 0.0686
Exemplul -1.3 Calculaţi coeficienţii polinomului caracteristic şi matricea A−1 , dacă
există, pentru matricea
11 1 −3 2
−9 −5 12 5
A= ,
2 −4 5 −11
2 16 −7 10
A1 = A ,
−10 1 −3 2
−9 −26 12 5
p1 = −tr(A1 ) = −21 , B1 = A1 + p1 I4 = ,
2 −4 −16 −11
2 16 −7 −11
7
- pentru k = 2
−121 29 13 38
169 153 −260 −230
A2 = AB1 = ,
4 −90 −57 50
−158 −226 228 51
−134 29 13 38
169 140 −260 −230
p2 = − 21 tr(A2 ) = −13 , B2 = A2 + p2 I4 = ,
4 −90 −70 50
−158 −226 228 38
- pentru k = 3
−1633 277 549 114
−381 −3171 1483 1598
A3 = AB2 = ,
814 1534 −1792 828
828 668 −1364 −3574
1757 277 549 114
−381 219 1483 1598
p3 = − 31 tr(A3 ) = 3390 , B3 = A3 + p3 I4 = ,
814 1534 1598 828
828 668 −1364 −184
8
- pentru k = 4
18160 0 0 0
0 18160 0 0
A4 = AB3 = ,
0 0 18160 0
0 0 0 18160
0 0 0 0
0 0 0 0
p4 = − 14 tr(A4 ) = −18160 , B4 = A4 + p4 I4 = .
0 0 0 0
0 0 0 0
0.0968 0.0153 0.0302 0.0063
1 −0.0210 0.0121 0.0817 0.0880
A−1 = − B3 = .
p4 0.0448 0.0845 0.0880 0.0456
0.0456 0.0368 −0.0751 −0.0101
9
A ∈ Mm (R) , dintr-un sistem liniar format din m ecuaţii liniare:
pm = D(0)
1m + p1 1m−1 + · · · + pm−1 1 + pm = D(1)
2m + p1 2m−1 + · · · + pm−1 2 + pm = D(2)) ,
..
.
(m − 1)m + p1 (m − 1)m−1 + · · · + pm−1 (m − 1) + pm = D(m − 1)
unde
1 1 ··· 1
2 m−1
2m−2
··· 2
M = .. .. ..
...
. . .
(m − 1)m−1 (m − 1)m−2 · · · (m − 1)
şi
m
D(1) − D(0) − 1
D(2) − D(0) − 2 m
.. .
.
D(m − 1) − D(0) − (m − 1)m
Această metodă are dezavatajul că se calculează m determinanţi de ordin m.
10
folosind metoda coeficienţilor nedeterminaţi.
Metoda rotaţiilor
Se dau m ∈ N, m ≥ 2, A = (aij )1≤i,j≤m ∈ Mm (R) o matrice simetrică şi ε > 0 un
număr real. Metoda rotaţiilor aproximează valorile proprii ale unei matrice simetrice
prin construirea unui şir de matrice (obţinut cu ajutorul unor matrice de rotaţie) ale
căror valori de pe diagonală converg către valorile proprii ale matricei A.
Dacă la pasul n este cunoscută matricea An , matricea An+1 se determină cu formula
An+1 = Tnt An Tn ,
Calcul succesiv al matricelor An (n ≥ 0), obţinute din matricea A prin rotaţii plane
se realizează după algoritmul:
A0 := A
11
— se aleg p < q ∈ {1, . . . , m} astfel încât
— Se calculează matricea Y = T t AT cu
1 ··· 0 ··· 0 ··· 0
.. ... .. .. .. .. ..
. . . . . .
0 ··· cos θ · · · − sin θ · · · 0
. .. .. ... .. .. ..
T = . ,
. . . . . .
0 ··· sin θ · · · cos θ ··· 0
.. .. .. .. .. . . ..
. . . . . . .
0 ··· 0 ··· 0 ··· 1
unde elementele cosθ, − sin θ, sin θ, cosθ se află la intersecţia liniilor p şi q
cu coloanele p şi q. Atunci
∗ ∀ j ∈ {p, q}, ypj = yjp = c · xpj + s · xqj , yqj = yjq = −s · xpj + c · xqj
— se face atribuirea X = Y ;
m
— se calculează modul = |X| := x2ij unde i, j ∈ 1, m.
i=j
12
• Se tipăreşte z.
Se verifică imediat că matricea A este simetrică. Se aleg p < q astfel încât
Atunci p = 1, q = 3. Se calculează
1 2 · apq π
θ= · arctan = .
2 app − aqq 6
Se ia
cos θ 0 − sin θ
T = 0 1 0
sin θ 0 cos θ
şi se calculează matricea
20 0 0
t
B = T AT = 0 8 4
0 4 8
Atunci p = 2, q = 3. Se calculează
π
θ= deoarece bpp = bqq .
4
13
Se ia
1 0 0
T = 0 cos θ − sin θ
0 sin θ cos θ
şi se calculează matricea
20 0 0
B = T t AT == 0 12 0
0 0 4
Rezultă că valorile proprii ale matricei A sunt λ1 = 20, λ2 = 12, λ3 = 4.
Metoda puterii
Este o metodă numerică pentru aproximarea celei mai mari valori proprii în modul
şi a unui vector propriu corespunzător.
Vom considera cazul în care matricea A ∈ Mm (R) are toate valorile proprii pozitive.
Fie x(0) ∈ Rm astfel încât Ax(0) = 0. Definim recurent şirul (x(n) )n∈N prin relaţia
1
x(n+1) := Ax(n) , ∀n ∈ N. Notăm cu (z (n) )n∈N şirul definit prin z (n) := ·
x(n)
x(n) , ∀n ∈ N. Atunci
lim Az (n) , z (n) = λ,
n→∞
lim z (n) = z,
n→∞
• Se consideră matricea
1 0 ... 0
x2 1 ... 0
T = ,
... ... ... ...
xm 0 ... 1
14
unde (1, x2 , . . . , xm ) este un vector propriu corespunzător
valorii proprii λ. Acest vector se obţine astfel:
zi
xi = , ∀i = 2, m,
z1
Algoritmul LU
Fie A o matrice pătratică de ordin m. Descompunem A = L1 U1 cu L1 , U1 matrice
triunghiulare (vezi factorizarea LU din paragraful 1.2.4, capitolul 1). Construim şirul
de matrice (Bn )n astfel:
B0 = A = L1 U1 , B1 = U1 L1 .
Descompunem B1 = L2 U2 , luăm B2 = U2 L2 , . . .
15
Algoritmul QR
Metoda QR este o metodă des folosită pentru calculul valorilor proprii pentru o
matrice oarecare, în general, nesimetrică. Fie A ∈ Mm (R). Metoda QR constă în
construirea unui şir de matrice (Ak )k≥0 folosind factorizarea QR (definită la ssisteme
liniare) astfel:
A0 = A = Q0 R0 , A1 = R0 Q0 ,
Ak = Qk Rk , Ak+1 = Rk Qk , k ≥ 0 .
Când k → ∞, elementele de pe diagonala lui Ak converg la valorile proprii ale matricei
(k+1) (k)
A. Calculul iterativ se opreşte atunci când, pentru orice i = 1, m, avem aii − aii <
ε, pentru ε > 0 o eroare dată.
16
Ecuaţii neliniare în Rm
Principiul contracţiei
Fie m ∈ N∗ , M ⊂ Rm o mulţime şi · o normă pe Rm . O funcţie f : M → R
m
se numeşte q-contracţie a mulţimii M relativă la norma · dacă are următoarele
proprietăţi:
1) ∃ q ∈ (0, 1) astfel încât f (x) − f (y) ≤ qx − y, ∀ x, y ∈ M şi
2) f(M ) ⊂ M .
Principiul contracţiei se enunţă astfel:
Fie · o normă pe Rm , M o mulţime închisă din Rm şi f : M → R m
o q-
contracţie a mulţimii M relativă la norma · . Atunci ecuaţia f(x) = x are o soluţie
unică z ∈ M , şi, pentru orice x(0) ∈ M , şirul (x(n) )n∈N definit prin relaţia de recurenţă
x(n+1) = f (x(n) ) converge la z. Avem evaluarea
q qn
x(n) − z ≤ x(n) − x(n−1) ≤ x(1) − x(0) .
1−q 1−q
Fie a ∈ Rm şi r > 0. Dacă M := {x ∈ Rm | x − a ≤ r}, atunci:
1. Dacă f diferenţiabilă pe M şi există q ∈ (0, 1) astfel încât f (x) ≤ q, ∀ x ∈ M
rezultă că f(x) − f (y) ≤ qx − y, ∀ x, y ∈ M .
2. Dacă f (x) − f (y) ≤ qx − y, ∀ x, y ∈ M şi f (a) − a ≤ (1 − q)r rezultă că
f (M ) ⊂ M .
Deci, în aceste condiţii, f este q-contracţie a mulţimii M .
Folosind principiul contracţiei în raport cu norma · ∞, să se arate că sistemul
(1) are soluţie unică v în V := [0, 2]3 . Pentru o eroare ε dată şi pentru iterata iniţială
1
x(0) := (1, 1, 1) să se calculeze iterata x(n) (din principiul contracţiei) pentru care x(n) −
v∞ ≤ ε.
2
n x y z
1 0.7700000000 0.7209302326 0.5138888889
2 0.7875219889 0.7086511560 0.5261092736
3 0.7874973924 0.7095886570 0.5257974572
4 0.7874891632 0.7095640029 0.5257622709
5 0.7874902776 0.7095633762 0.5257631334
6 0.7874902723 0.7095634355 0.5257631103
7 0.7874902718 0.7095634337 0.5257631082
8 0.7874902719 0.7095634337 0.5257631083 .
Atunci şirul (x(n) )n∈N converge către unica soluţie z ∈ M a ecuaţiei f (x) = x. Avem
evaluarea:
q qn
x(n) − z∞ ≤ x(n) − x(n−1) ∞ ≤ x(1) − x(0) ∞.
1−q 1−q
3
Exemplul -1.2 Fie sistemul de ecuaţii
x = (432 + x4 + y 4 − 2z 4 + y 2 z 2 )/234
y = (324 − x4 + 2y 4 − 3z 4 + 3x2 z 2 )/432 (2)
z = (234 + 2x4 − 3y 4 + 4z 4 − x2 y 2 + 3x + y)/324
Folosind metoda Gauss-Seidel neliniară, să se arate că sistemul (2) are soluţie unică
v în V := [−2, 2] × [−1, 1] × [0, 1]. Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (0, 0, 1/2) să se calculeze iterata x(n) pentru care x(n) − v∞ ≤ ε.
4
(n) (n) (n)
Pentru x(0) = (0, 0, 1/2) se calculează x(n) = (x1 , x2 , x3 ) cu formula de recurenţă
(n) (n) (n) (n−1) (n−1) (n) (n) (n) (n−1)
x1 = f(x(n−1) ), x2 = g(x1 , x2 , x3 ), x3 = h(x1 , x2 , x3 ) ∀ n ∈ N. Se
opreşte procesul iterativ atunci când q/(1 − q)x(n) − x(n−1) ∞ < ε.
Pentru ε = 10−10 se obţin următoarele rezultate:
n x y z
1 1.8498931624 0.7283987914 0.8064491799
2 1.8952624827 0.7347217752 0.8182233410
3 1.9002520392 0.7348417419 0.8193883638
4 1.9008188414 0.7348467169 0.8195175386
5 1.9008834671 0.7348471269 0.8195321857
6 1.9008908388 0.7348471703 0.8195338544
7 1.9008916797 0.7348471752 0.8195340447
8 1.9008917756 0.7348471757 0.8195340664
9 1.9008917866 0.7348471758 0.8195340689
10 1.9008917878 0.7348471758 0.8195340692
11 1.9008917880 0.7348471758 0.8195340692 .
În ipotezele de mai sus (fără a presupune că f (x) este inversabilă ∀ x ∈ D), pentru
orice x(0) ∈ D definim, dacă este posibil, şirul (x(n) )n∈N prin relaţia de recurenţă
5
Fie · o normă pe Rm . Notăm tot cu · norma matricială asociată. Presupunem
că există a ∈ D, r > 0, M > 0, α > 0, β > 0, µ > 0, q ∈ (0, 1) astfel încât:
1) V := Br (a) := {x ∈ Rm | x − a ≤ r} ⊂ D;
2) f (x) ≤ M, ∀ x ∈ V ;
3) Există (f (a))−1 şi (f (a))−1 ≤ α;
α 1
4) Mrα < 1 şi ≤ ;
1 − M rα µ
5) (f (a)) f(a) ≤ β ≤ (1 − q)r;
−1
M
6) 2 f (x) ≤ q, ∀ x ∈ V ;
µ
Mr
7) ≤ q.
µ
Atunci ecuaţia f (x) = 0 are o soluţie unică z ∈ V şi pentru orice x(0) ∈ V se poate
construi şirul (x(n) )n∈N (prin relaţia de recurenţă (3)) cu proprietăţile x(n) ∈ V şi
2µ 2n
x(n) − z ≤ q , ∀ n ∈ N.
M
Folosind metoda Newton relativă la norma ·∞ , să se arate că sistemul (4) are soluţie
unică v în V := [−1, 1]2 × [0, 2]. Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (0, 0, 1) să se calculeze iterata x(n) , pentru care x(n) − v∞ ≤ ε.
Fie r = 1 şi a = (0, 0, 1). Atunci mulţimea V este Br (a) în raport cu norma
· ∞ . Fie funcţia F = (f, g, h) : V → R3 cu f (x, y, z) := x3 + 3xy 2 + 3xz 2 − 183x + 2,
g(x, y, z) := y 3 ++3x2 y+3yz 2 −193y+1 şi h(x, y, z) := z 3 +3x2 z+3y 2 z−188(z−1)−1 =
0, ∀ (x, y, z) ∈ V . Sistemul de ecuaţii (4) este echivalent cu F (x, y, z) = 0.
6
Avem F (x, y, z) =
3x2 + 3y 2 + 3z 2 − 183 6xy 6xz
6xy 2 2
3x + 3y + 3z − 193 2
6yz ,
6xz 6yz 3x2 + 3y 2 + 3z 2 − 188
6x 6y 6z 6y 6x 0 6z 0 6x
F (x, y, z) = 6y 6x 0 6x 6y 6z 0 6z 6x ,
6z 0 6x 0 6z 6y 6x 6y 6z
deci F (x, y, z)∞ ≤ max(|18x| + |12y| + |12z|, |12x| + |18y| + |12z|, |12x| + |12y| +
|18z|) ≤ max(54, 54, 60) = 60 (am folosit −1 ≤ x, y ≤ 1, 0 ≤ z ≤ 2). Putem lua
−180 0 0
M = 60. Avem F (a) = 0 −190 0 , deci F (a) inversabilă, (F (a)) =
−1
0 0 −185
−1/180 0 0
0 −1/190 0 şi (F (a))−1 ∞ = max(1/180, 1/190, 1/185) = 1/180.
0 0 −1/185
Luăm α = 1/180. Cum M rα = 60/180 < 1 şi α/(1 − M Rα) = 1/120, putem
lua µ = 120. Avem F (a) = (2, 1, 0)t şi (F (a))−1 F (a) = (−1/90, −1/190, 0)t , deci
(F (a))−1 F (a)∞ = 1/90. Luă m β = 1/90. Condiţia β ≤ (1 − q)r implică q ≤ 89/90.
Din F (x, y, z)∞ ≤ max(|x3 | + |3xy 2 | + |3xz 2 | + |183x| + 2, |y 3 | + |3x2 y| + |3yz 2 | +
|193y| + 1, |z 3 | + |3x2 z| + |3y 2 z| + |188(z − 1)| + 1) ≤ max(201, 210, 209) = 210 rezultă
că (M/µ2 )F (x, y, z)∞ ≤ q⇔q ≥ 210/240 = 7/8. Din M r/µ ≤ q rezultă q ≥ 1/2.
Deci putem lua q = 7/8 şi atunci ecuaţia F (x, y, z) = 0 are o soluţie unică în V .
Pentru x(0) = (0, 0, 1) se calculează x(n) cu formula de recurenţă (4) (folosind la
fiecare pas o procedură de inversare a matricei (F (x(n) ))−1 ). Se opreşte calculul iterativ
n n
atunci când (2µ)/M · q2 ≤ ε ⇔4 · (7/8)2 ≤ ε.
Pentru ε = 10−10 se obţin următoarele rezultate:
7
n x y z
1 −0.0387039145 −0.2345464953 0.8497295394
2 0.0109754027 0.0044322958 1.0031237498
3 0.0111111051 0.0052632384 0.9999155652
4 0.0111111257 0.0052631697 1.0000048646
5 0.0111111247 0.0052631693 1.0000023842
6 0.0111111248 0.0052631693 1.0000024531
7 0.0111111248 0.0052631693 1.0000024512 .
Pentru orice x(0) ∈ D definim, dacă este posibil, şirul (x(n) )n∈N prin relaţia de
recurenţă
x(n+1) = x(n) − (f (a))−1 f (x(n) ), ∀ n ∈ N. (5)
8
construi şirul (x(n) )n∈N (prin relaţia de recurenţă (5)) cu proprietă ţile x(n) ∈ V şi
Folosind metoda Newton simplificată relativă la norma · ∞ , să se arate că sistemul
(6) are soluţie unică v în V := [−0, 8; 1, 2]3 . Pentru o eroare ε dată şi pentru iterata
iniţială x(0) := (1, 1, 1), să se calculeze iterata x(n) pentru care x(n) − v∞ ≤ ε.
Fie r := 0, 2 = 1/5 şi a := (1, 1, 1). Atunci mulţimea V este Br (a) în raport cu
norma · ∞ . Fie funcţia F = (f, g, h) : V → R3 cu f (x, y, z) := x2 + y 2 + z 2 + x +
y + z − 853/144, g(x, y, z) := 3x2 − 4y 2 + z 2 + x − y − 3z + 1309/432 şi h(x, y, z) :=
5x2 + 2y 2 − 3z 2 + 2x − 4y − 6z + 37/9, ∀ (x, y, z) ∈ V . Sistemul de ecuaţii (6) este
echivalent cu F (x, y, z) = 0.
Avem
2x + 1 2y + 1 2z + 1
F (x, y, z) = 6x + 1 −8y − 1 2z − 3 ,
10x + 2 4y − 4 −6z − 6
2 0 0 0 2 0 0 0 2
F (x, y, z) = 6 0 0 0 −8 0 0 0 2 ,
10 0 0 0 4 0 0 0 −6
deci F (x, y, z)∞ ≤ max(|2|+|2|+|2|, |6|+|−8|+|2|, |10|+|4|+|−6|) = 20, ∀ (x, y, z) ∈
3 9 3
V . Putem lua M = 20. Avem F (a) = 7 −9 −1 , cu det(F (a)) = 72, deci
12 0 −12
9
9 3 2
1
F (a) inversabilă, (F (a)) =
−1
6 −6 2 şi (F (a))−1 ∞ = max(14/72, 14/72, 16/72) =
72
9 3 −4
2/9. Luă m α = 2/9. Avem F (a) = (11/144, 13/432, 1/9)t şi (F (a))−1 F (a) =
(1/72, 1/144, 1/216)t , deci (F (a))−1 F (a)∞ = 1/72. Luăm β = 1/72. Condiţia
β ≤ (1 − q)r implică q ≤ 67/72. Din αM r ≤ q rezultă q ≥ 8/9. Deci putem lua
q = 8/9 şi atunci ecuaţia F (x, y, z) = 0 are o soluţie unică în V .
Pentru x(0) = (1, 1, 1) se calculează x(n) cu formula de recurenţă (6). Se opreşte
calculul iterativ atunci când q/(1 − q) · x(n) − x(n−1) ∞ ≤ ε.
Pentru ε = 10−10 se obţin următoarele rezultate:
n x y z
1 0.9861111111 0.9930555556 0.9953703704
2 0.9860336380 0.9930399270 0.9953759520
3 0.9860328001 0.9930398800 0.9953760624
4 0.9860327911 0.9930398803 0.9953760635
5 0.9860327910 0.9930398803 0.9953760635 .
10
INTERPOLARE POLINOMIALĂ
Formula lui Lagrange
Se consideră:
• n ∈ N∗ ;
• y1 , y2 , . . . , yn ∈ R numere reale.
Exemplul -1.1 Utilizând formula lui Lagrange de reprezentare să se determine poli-
nomul de interpolare de grad 2 ce verifică condiţiile:
1
Din (1) rezultă că:
Avem:
(x − 1)(x − 4) x2 − 5x + 4
L1 (x) = = ,
(0 − 1)(0 − 4) 4
x(x − 4) x2 − 4x
L2 (x) = = ,
(1 − 0)(1 − 4) −3
x(x − 1) x2 − x
L3 (x) = = .
(4 − 0)(4 − 1) 12
Atunci:
x2 − 5x + 4 x2 − 4x x2 − x 1 3
P (x) = 2 · +1· +4· = x2 − x + 2.
4 −3 12 2 2
2
Pij (x) := P (f ; x1 , x2 , . . . , xi−1 , xj ; x) ∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. (4)
a1j
1 = f (xj ) ∀ 1 ≤ j ≤ n,
ij −ai−1
1
j
xi−1 + ai−1
1
i−1
xj
a1 =
xj − xi−1
ai−1 j
− ai−1 j i−1 i−1
xi−1 − ak−1 + aki−1 i−1 xj
aij
k = k−1 k
∀2 ≤ k ≤ i − 1 ,
x j − xi−1
ai−1 j i−1 i−1
i−1 − ai−1
ij
ai =
xj − xi−1
∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. Deci se observă că determinarea coeficienţilor aij
k este
Nodurile sunt x1 = 0, x2 = 4, x3 = 12. Atunci P11 (x) = f(0) = 6, P12 (x) = f (4) =
10, P13 (x) = f (12) = 6. Rezultă că
10x − 6(x − 4)
P22 (x) = = x + 6,
4
3
6x − 6(x − 12)
P23 (x) = =6
12
şi astfel
x2 3x
P (f; 0, 4, 12; x) = P33 (x) = − + + 6.
8 2
a1j
1 = f (xj ) ∀ 1 ≤ j ≤ n,
ij −ai−1
1
j
xj−i+1 + ai−1
1
j−1
xj
a 1 =
xj − xj−i+1
a i−1 j
− ai−1 j
xj−i+1 − ai−1 j−1
+ aki−1 j−1 xj
aij
k = k−1 k k−1
∀ 2 ≤ k ≤ i − 1,
xj − xj−i+1
ai−1 j i−1 j−1
i−1 − ai−1
ij
ai =
xj − xj−i+1
4
∀ 2 ≤ i ≤ n, ∀ i ≤ j ≤ n. Deci se observă că determinarea coeficienţilor aij
k este
√
Exemplul -1.3 Fie funcţia f : [0, 12] → R cu f (x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 12].
Să se determine polinomul de interpolare Lagrange P (f ; 0, 4, 12; x) utilizând algoritmul
Neville.
Nodurile sunt x1 = 0, x2 = 4, x3 = 12. Atunci P11 (x) = f(0) = 6, P12 (x) = f (4) =
10, P13 (x) = f (12) = 6. Rezultă că
10x − 6(x − 4)
P22 (x) = = x + 6,
4
6(x − 4) − 10(x − 12) x
P23 (x) = = − + 12
8 2
şi astfel
x2 3x
P (f; 0, 4, 12; x) = P33 (x) = − + +6
8 2
Se consideră:
• n ∈ N∗ ;
5
Spunem că aceste elemente definesc un sistem de date notat cu (SH).
Se numeşte polinom de interpolare Hermite ataşat sistemului de date (SH) un
polinom P ∈ R[x] cu următoarele proprietăţi:
1) grad P ≤ n − 1;
2) P (j) (yi ) = zij pentru orice 1 ≤ i ≤ m, 0 ≤ j ≤ ni − 1.
Polinomul de interpolare Hermite ataşat sistemului dedate (SH) există şi este unic.
Fie I un interval real ce conţine punctele x1 , . . . , xn şi f : I → R o funcţie de ni − 1
ori derivabilă în yi pentru orice 1 ≤ i ≤ m. Luăm zij := f (j) (yi ), ∀ 1 ≤ i ≤ m, 0 ≤
j ≤ ni − 1. Polinomul de interpolare Hermite ataşat acestui sistem de date se numeşte
polinom de interpolare asociat funcţiei f şi sistemului de date (SH). Notăm valoarea
acestui polinom într-un punct x din I cu P (f ; x1 , x2 , . . . , xn ; x).
Se numeşte diferenţă divizată a funcţiei f relativă la sistemul de noduri x1 , x2 , . . . , xn
coeficientul lui xn−1 din reprezentarea canonică a polinomului de interpolare P (f ; x1 , x2 , . . . , xn ; x).
Notăm diferenţa divizată cu f (x1 , x2 , . . . , xn ). Diferenţele divizate se calculează cu aju-
torul următoarelor formule:
Pentru n ≥ 2 şi x1 = xn
f (x2 , . . . , xn ) − f (x1 , . . . , xn−1 )
f (x1 , x2 , . . . , xn ) = ,
xn − x1
iar
f (n−1) (a)
f(a, a, . . . , a) = . (8)
(n − 1)!
n ori
6
Algoritm:
Notăm cu aij diferenţele divizate f (xj−i+1 , . . . , xj−1, xj ), ∀ i ∈ {2, . . . , n}, ∀ j ∈
n
i−1
{i, . . . , n} si cu ci = aii . Atunci P (x) := P (f ; x1 , x2 , . . . , xn ; x) = c1 + ci (x − xj )
i=2 j=1
· · · + c2 ](x − x1 ) + c1
deci
• P := cn ;
√
Exemplul -1.4 Fie funcţia f : [0, 4] → R cu f (x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 4].
Utilizând formula de reprezentare Newton să se determine polinomul de interpolare
Hermite P (x) = P (f ; 0, 0, 0, 4, 4; x). Se se evalueze eroarea |f (x) − P (x)|.
7
Vom calcula diferenţele divizate cu formulele de recurenţă date de (8). Calculele le
vom organiza într-un tabel de forma:
9 3 7
P (f ; 0, 0, 0, 4, 4; x) = 6 + 4x − 3x2 + x − x3 (x − 4).
16 64
M5 3
|f (x) − P (f ; 0, 0, 0, 4, 4; x)| ≤ |x (x − 4)2 | ∀ x ∈ [0, 4],
5!
8
unde M5 = sup |f (5) (x)|. Avem f (3) (x) = 18(2x + 1)−5/2 , f (4) (x) = −90(2x + 1)−7/2 ,
x∈[0,4]
f (5) (x) = 630(2x + 1)−9/2 . Cum f (6) (x) = −630 · 9(2x + 1)−11/2 < 0, rezultă că f (5) este
descrescătoare şi cum f (5) (x) > 0 ∀ x ∈ [0, 4] rezultă că M5 = f (5) (0) = 630. Atunci
630 3 21
|f(x) − P (x)| ≤ |x (x − 4)2 | = x3 (x − 4)2 , ∀ x ∈ [0, 4].
120 4
Interpolare Cebâşev
pentru orice puncte x1 , x2 , . . . , xn din [a, b]. În continuare vVom construi aceste "noduri
optimale".
Funcţia Tn : R → R dată de Tn (x) = cos(n arccos x) este un polinom de gradul n
şi are n rădăcini distincte situate în intervalul [−1, 1].
Fie n ∈ N ∗ şi a < b ∈ R. Notăm
n
b−a 2x − a − b
Pn (x) = 2 Tn ∀ x ∈ [a, b] (10)
4 b−a
Atunci
sup |Pn (x)| ≤ sup |Q(x)|,
x∈[a,b] x∈[a,b]
9
Formula lui Newton de interpolare ascendentă
Fie I un interval real, familia (xj )j∈Z o reţea de noduri (reale) echidistante cu pasul
x − x0
h definită prin x0 ∈ I şi xj = x0 + jh, ∀ j ∈ N. Notăm q := unde x ∈ I.
h
n−1
Pentru x ∈ I şi n ∈ N∗ notăm Anx = (x − j) numite aranjamente generalizate şi
j=0
An
Cxn = x numite combinări generalizate. Prin convenţie luăm A0x = 1 şi Cx0 = 1.
n!
Fie f : I → R o funcţie, x ∈ I şi h > 0 un număr real. Numim diferenţă
nedivizată ascendentă a funcţiei f în punctul x, corespunzătoare pasului h
(şi o notăm cu ∆h f (x)), expresia:
∆h f (x) := f (x + h) − f(x).
10
Organizăm calculul diferenţelor nedivizate ascendente în tabelul următor:
(De exemplu ∆1h f (x0 ) = ∆h f (x0 ) = f(x1 )−f(x0 ) = 3−1 = 2, ∆2hf (x0 ) = ∆1h ∆h f (x0 ) =
∆h f (x1 ) − ∆h f (x0 ) = ∆1hf (x1 ) − ∆1h f (x0 ) = 5 − 2 = 3, etc.) Atunci ∆0hf (x0 ) = 1,
∆1h f (x0 ) = 2, ∆2hf (x0 ) = 3, ∆3h f(x0 ) = 4.
x − x0 x−4 x−4
Fie x ∈ R Avem q = = şi atunci Cq0 = 1, Cq1 = q = , Cq2 =
h 2 2
q(q − 1) (x − 4)(x − 6) q(q − 1)(q − 2) (x − 4)(x − 6)(x − 8)
= , Cq3 = = . Rezultă
2 8 6 48
că: P (f ; x0 , x1 , x2 , x3 ; x) =
3
3 4
Cqi ∆ihf (x0 ) = 1 + (x − 4) + (x − 4)(x − 6) + (x − 4)(x − 6)(x − 8)
i=0
8 48
şi deci
9 1 39
P (f ; x0 , x1 , x2 , x3 ; 7) = 1 + 3 + − = = 4.875 .
8 4 8
11
unde, prin convenţie, ∇0h f (x) = f (x), iar ∇1h = ∇h .. Atunci este adevărată egalitatea
n
P (f ; x0 , x−1 , . . . , x−n ; x) = (−1)i C−q
i
∇ih f(x0 ),
i=0
(De exemplu ∇1h f (x0 ) = ∇h f(x0 ) = f (x0 ) − f (x−1 ) = 20 − 8 = 12, ∇2h f(x0 ) =
∇1h ∇h f (x0 ) = ∇h f (x0 ) − ∇h f (x−1 ) = ∇1hf (x0 ) − ∇1h f (x−1 ) = 12 − 5 = 7, etc.) Atunci
∇0h f (x0 ) = 20, ∇1h f(x0 ) = 12, ∇2h f (x0 ) = 7, ∇3h f (x0 ) = 4.
x − x0 x − 10
Fie x ∈ R. Avem q = = şi atunci
h 2
1 x − 10 −q(−q − 1) (x − 10)(x − 8)
0
C−q = 1, C−q = −q = − , C−q
2
= = , C−q
3
=
2 2 8
−q(−q − 1)(−q − 2) (x − 10)(x − 8)(x − 6)
= . Rezultă că:
6 48
3
P (f ; x0 , x−1 , x−2 , x−3 ; x) = (−1)i C−q
i
∇ih f (x0 ) =
i=0
12 7 4
= 20 + (x − 10) + (x − 10)(x − 8) + (x − 10)(x − 8)(x − 6)
2 8 48
şi deci
21 1 39
P (f ; x0 , x−1 , x−2 , x−3 ; 7) = 20 − 18 + + = = 4.875 .
8 4 8
12
Formula de interpolare Gauss înainte
δ nh f (x) := δn−1
h (δ h f (x)),
1
(unde x1/2 = x + h), numită formula de interpolare Gauss înainte.
2
Exemplul -1.7 Să se determine, folosind formula de interpolare Gauss înainte, poli-
nomul Lagrange ataşat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,
x1 = 8, x2 = 10) şi f : R → R o funcţie continuă cu f (x−2 ) = −2, f (x−1 ) = 1,
f (x0 ) = 3, f (x1 ) = 8, f (x2 ) = 20 şi să se estimeze valoarea funcţiei f în punctul
x = 7.
13
Atunci: P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =
2
2i−1
f (x0 ) + (Cq+i−1 ∆2i−1
h
2i
f(x−i+1 ) + Cq+i−1 ∆2i
h f(x−i )) =
i=1
Avem: f (x0 ) = 3, ∆1h f(x0 ) = 5, ∆2hf (x−1 ) = 3, ∆3h f (x−1 ) = 4, ∆4hf (x−2 ) = 0. Cum
x−6 x−6 q(q − 1) (x − 6)(x − 8)
q = rezultă că Cq1 = q = , Cq2 = = , Cq+1
3
=
2 2 2 8
(q + 1)q(q − 1) (x − 4)(x − 6)(x − 8)
= . Atunci:
6 48
P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =
x−6 (x − 6)(x − 8) (x − 4)(x − 6)(x − 8)
=3+5 +3 +4
2 8 48
şi
5 3 1 39
f(7) P (f ; x−2 , x−1 , x0 , x1 , x2 ; 7) = 3 + − − = = 4.875 .
2 8 4 8
Formula de interpolare Gauss înapoi
Avem: f (x0 ) = 3, ∆1h f (x−1 ) = 2, ∆2h f (x−1 ) = 3, ∆3hf (x−2 ) = 4, ∆4hf (x−2 ) = 0. Cum
x−6 x−6 (q + 1)q (x − 4)(x − 6)
q = , rezultă că Cq1 = q = , Cq+1
2
= = , Cq+1
3
=
2 2 2 8
(q + 1)q(q − 1) (x − 4)(x − 6)(x − 8)
= . Atunci:
6 48
P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =
i) s|[xi ,xi+1 ] este polinom de gradul trei pentru i = 1, n − 1
ii) s ∈ C 2 ([a, b]) .
Se notează cu S3 (∆n ) mulţimea funcţiilor spline cubice, corespunzătoare diviziunii ∆n .
Funcţia spline cubică asociată sistemului de puncte (xi , fi )i=1,n este o funcţie
cubică corespunzătoare diviziunii ∆n , s : [a, b] → R, cu proprietatea
s (xi ) = fi , i = 1, n .
c3i c4i
s(x) = c1i +c2i (x − xi )+ (x − xi )2 + (x − xi )3 , ∀x ∈ [xi , xi+1 ], (11)
2 6
unde
c1i = fi ,
c2i = si ,
1 fi+1 − fi
c3i = 6 − (4si + 2si+1 ) , (12)
xi+1 − xi xi+1 − xi
6 fi+1 − fi
c4i = (si + si+1 ) − 2 − ,
(xi+1 − xi )2 xi+1 − xi
16
iar s1 , . . . , sn sunt soluţiile sistemului:
(13)
fi − fi−1 fi+1 − fi
3 (xi+1 − xi ) + (xi − xi−1 ) , i = 2, n − 1 .
xi − xi−1 xi+1 − xi
s1 = s (x1 ) = α , sn = s (xn ) = β . (15)
Remarcă. Din (13) şi (??) sau din (13) şi (15) din se pot determina s1 , . . . , sn ,
apoi din (12) se determină c1i , c2i , c3i , c4i pentru i = 1, n − 1 şi deci, conform cu
(11), funcţia s este cunoscută pe [a, b]. Pentru f : [a, b] → R de două ori derivabilă
determinăm funcţia spline cubică de interpolare asociată diviziunii ∆n şi functiei f,
adică, o functie spline cubica s ∈ S3 (∆n) cu proprietăţile s(xi ) = f(xi ), ∀ i ∈ 1, n şi
s (a) = f (a) şi s (b) = f (b) .
sau s (a) = f (a) şi s (b) = f (b) .
17
Derivare numerică
h
|R(f )| ≤ · max |f (x)| .
2 x∈[x0 ,x0 +h]
f (x0 ) − f(x0 − h)
f (x0 ) = + R(f ), (2)
h
unde, dacă f ∈ C 2 ([x0 − h, x0 ]), restul R(f ) poate fi evaluat prin
h
|R(f )| ≤ · max |f (x)| .
2 x∈[x0 −h,x0 ]
Formulele de derivare (1) @si (2) sunt exacte pe mulţimea polinoamelor de gradul 1.
f (x0 + h) − f(x0 − h)
f (x0 ) = + R(f), (3)
2h
h2
|R(f )| ≤ · max |f (x)| .
6 x∈[x0 −h,x0 +h]
h2
|R(f )| ≤ · max |f (x)| .
3 x∈[x0 ,x0 +2h]
Formulele de derivare (3) @si (4) sunt exacte pe mulţimea polinoamelor de gradul 2.
h3
|R(f )| ≤ · max f (4) (x)
18 x∈[x0 ,x0 +3h]
unde, dacă f ∈ C 5 ([x0 − 2h, x0 + 2h]), restul R(f ) poate fi evaluat prin
2h4 (5)
f (x) .
|R(f)| ≤ · max
5 x∈[x0 −2h,x0 +2h]
f (x0 ) = R(f )+
2
−f (x0 − 2h) + 16f (x0 − h) − 30f(x0 ) + 16f (x0 + h) − f (x0 + 2h)
, (8)
12h2
unde, dacă f ∈ C 5 ([x0 − 2h, x0 + 2h]), restul R(f ) poate fi evaluat prin
h3 (5)
f x) .
|R(f )| ≤ · max
5 x∈[x0 −2h,x0 +2h]
Formula de derivare (6) este exactă pe mulţimea polinoamelor de gradul 4.
Exemplul -1.1 Să se aproximeze derivatele de ordinul I şi ordinul II ale funcţiei
f (x) = e−x sin(x) în punctul x0 = 1, cu metodele prezentate mai sus, luând pentru
pasul h valorile 0.1; 0.01; 0.001; 0.0001.
3
Cu formula de derivare (6) se obţin rezultatele: h = 0.1 ⇒ f (x0 ) −0.1107952264, h =
0.01 ⇒ f (x0 ) −0.1107937655, h = 0.001 ⇒ f (x0 ) −0.1107937652, h = 0.0001 ⇒
f (x0 ) −0.1107937669.
Valoarea exactă este f (x0 ) = −0.1107937653.
Cu formula de derivare (7) se obţin rezultatele: h = 0.1 ⇒ f (x0 ) −0.3029665865, h =
0.01 ⇒ f (x0 ) −0.3874378126, h = 0.001 ⇒ f (x0 ) −0.3965174074, h = 0.0001 ⇒
f (x0 ) −0.3974491847.
Cu formula de derivare (8) se obţin rezultatele: h = 0.1 ⇒ f (x0 ) −0.3975339923, h =
0.01 ⇒ f (x0 ) −0.3975322253, h = 0.001 ⇒ f (x0 ) −0.3975308497, h = 0.0001 ⇒
f (x0 ) −0.3974643429.
Valoarea exactă este f (x0 ) = −0.3975322207.
Rezultă că:
n
i−1 i−1
P (f ; x1 , . . . , xn ; x) = f (x1 , x2 ) + f (x1 , . . . , xi ) · (x − xk ) ,
i=3 j=1 k=1, k=j
4
Cuadraturi numerice
b
Se numeşte integrare numerică aproximarea integralei f (x)dx cu σ(f).
a
Fie k ∈ N ∗ , h = (b − a)/k, xi = a + ih, ∀ i ∈ 0, k. Dacă σ i (f ) este o formulă
de cuadratură a funcţiei f pe intervalul [xi , xi+1 ], ∀ i ∈ 0, k − 1, atunci se defineşte
formula de cuadratură sumată
k−1
(k)
σ (f ) = σ i (f ).
i=0
Cuadraturi închise
Formula de cuadratură a trapezului
f (b) − f(a)
P (f ; a, b; x) = f (a) + f (a, b)(x − a) = f (a) + (x − a).
b−a
Atunci
b
f (b) − f (a)
σ(f ) = f (a) + (x − a) dx =
b−a
a
1
|f(x) − P (f; a, b; x)| ≤ |(x − a)(x − b)| · max |f (x)| , ∀ x ∈ [a, b].
2 x∈[a,b]
Atunci b b
f (x)dx − σ(f ) = (f (x) − P (f ; a, b; x)) dx ≤
a a
b b
1
≤ |f (x) − P (f; a, b; x)| dx ≤ max |f (x)| · (x − a)(b − x)dx =
2 x∈[a,b]
a a
3 3
1 (b − a) (b − a)
= max |f
(x)| · = · max |f (x)| .
2 x∈[a,b] 6 12 x∈[a,b]
2
Se obţin următoarele rezultate:
(k)
k σ D (f ) eroarea
5 0.9328067513 0.0033333333
10 0.9332299640 0.0008333333
50 0.9333679124 0.0000333333
100 0.9333722435 0.0000083333
În stabilirea erorii am ţinut seama de max |f (x)| = 1. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0.9333736875 .
Exemplul -1.2 Să se determine numărul minim de subintervale k în care trebuie îm-
părţit intervalul [0, 1], pentru ca, folosind formula trapezului sumată, să putem calcula
integrala
1
ex
I= dx
x+1
0
3e
Avem sup |f (x)| = . Din formula de evaluare a erorii rezultă că
x∈[0,1] 8
105
k≥ + 1 = 92
12
3
a+b a+b
+f a, , b (x − a) x − .
2 2
Atunci
b
a+b
σ(f ) = f (a) + f a, (x − a)+
2
a
a+b a+b
+f a, , b (x − a) x − dx =
2 2
2(f ((a + b)/2) − f (a)) (b − a)2
= (b − a)f (a) + · +
b−a 2
2(f (b) − 2f ((a + b)/2) + f (a)) (b − a)3
+ · =
(b − a)2 12
b−a a+b
= · f (a) + 4f + f(b) .
6 2
Dacă f ∈ C 3 ([a, b]), din formula de evaluare a erorii la interpolare avem
f (x) − P f ; a, a + b , b; x ≤
2
1 a+b
≤ (x − a) x − (x − b) · max f (x) , ∀ x ∈ [a, b].
6 2 x∈[a,b]
Atunci b b
a+b
f (x)dx − σ(f ) = f(x) − P f ; a, , b; x dx ≤
2
a a
b
a + b
≤ f(x) − P f ; a, , b; x dx ≤
2
a
b
1
≤ max |f
(x)| · (x − a) x − a + b (x − b) dx =
6 x∈[a,b] 2
a
1 (b − a)4 (b − a)4
= max |f
(x)| · = · max |f (x)| .
6 x∈[a,b] 32 192 x∈[a,b]
4
În acest caz, dacă f ∈ C 4 ([a, b]), din formula de evaluare a erorii la interpolare, avem
a + b a + b
f (x) − P f ; a, , , b; x ≤
2 2
2
1 a+b
≤ (x − a) x − (x − b) · max f (4) (x) , ∀ x ∈ [a, b].
24 2 x∈[a,b]
Atunci
b b
a+b a+b
f(x)dx − σ(f) = f(x) − P f; a, , , b; x dx ≤
2 2
a a
b
a+b a+b
≤ f (x) − P f; a, , , b; x dx ≤
2 2
a
b 2
≤ max f (4) (x) · (x − a) x − a + b (x − b) dx =
x∈[a,b] 2
a
(b − a)5
= · max f (4) (x) .
2880 x∈[a,b]
Formula de cuadratură Simpson sumată este:
k−1
(k) 1 xi + xi+1
σ S (f) = (xi+1 − xi ) f (xi ) + 4f + f (xi+1 ) =
6 i=0 2
k−1
b−a xi + xi+1
= f (xi ) + 4f + f (xi+1 ) ,
6k i=0 2
pentru care, dacă f ∈ C 3 ([a, b]), avem evaluarea erorii:
b x
k−1 i+1
(k)
(b − a)4
f (x)dx − σ (f) ≤
S
f(x)dx − σ i (f )≤
3
· max |f
(x)| ,
i=0 192k x∈[a,b]
a xi
unde σ i (f ) este formula de cuadratură Simpson aplicată funcţiei f pe intervalul [xi , xi+1 ],
∀ i ∈ 0, k − 1,
5
Exemplul -1.3 Folosind formula de cuadratură Simpson sumată să se aproximeze
calculul integralei
2
1 + ln x
I= dx
x
1
pentru k = 5, k = 10 şi k = 50, evaluând şi eroarea comisă.
Avem sup |f (4) (x)| = 9. Din formula de evaluare a erorii rezultă că
x∈[0,1]
105
k≥ + 1 = 5.
320
6
Din formula lui Newton de reprezentare a polinomului de interpolare avem
P (f; a, a, b, b; x) =
= f (a) + f (a, a)(x − a) + f (a, a, b)(x − a)2 + f (a, a, b, b)(x − a)2 (x − b).
Atunci
b
σ(f ) = (f (a) + f (a, a)(x − a)+
a
1
|f (x) − P (f; a, a, b, b; x)| ≤ (x − a)2 (x − b)2 · max f (4) (x) ,
24 x∈[a,b]
b
≤ |f (x) − P (f ; a, a, b, b; x)| dx ≤
a
b
1
≤ max f (4) (x) · (x − a)2 (x − b)2 dx =
24 x∈[a,b]
a
7
Formula de cuadratură Hermite sumată este:
k−1
(k) xi+1 − x1
σ H (f ) = (f (xi+1 ) +
i=0
2
(xi+1 − xi )2
+f (xi )) + (f
(xi+1 ) − f (xi )) =
12
k−1
b−a (b − a)2
= (f (xi+1 ) + f (xi )) + 2
(f (a) − f (b)),
2k i=0 12k
pentru care avem evaluarea erorii:
b x
k−1 i+1
(k)
(b − a)5 (4)
f (x)dx − σ (f ) ≤ f (x)dx − σ i (f ) ≤ · max f (x) ,
H 720k 4 x∈[a,b]
i=0
a xi
unde σ i (f ) este formula de cuadratură Hermite, aplicată funcţiei f pe intervalul [xi , xi+1 ],
∀ i ∈ 0, k − 1.
(k)
k σ D (f ) eroarea
5 0, 9333843739 0, 000002222
10 0, 9333743697 0, 000000238
50 0, 9333736876 0, 0000000002
100 0, 9333736875 0, 0000000000
În stabilirea erorii am ţinut seama de max f (4) (x) = 14. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0, 9333736875 .
8
Exemplul -1.6 Să se determine numărul minim de subintervale k în care trebuie
împărţit intervalul [0, 1], pentru ca, folosind formula Hermite sumată, să putem calcula
integrala
1
ex
I= dx,
x+1
0
Avem sup |f (4) (x)| = 9. Din formula de evaluare a erorii rezultă că
x∈[0,1]
5
10
k≥ + 1 = 6.
80
9
a + 2b 2a + b
f (b) − 3f + 3f − f(a)
9 3 3 (b − a)4
+ · · =
2 (b − a)3 36
b−a a + 2b 2a + b
= f(a) + 3f + 3f + f(b) .
8 3 3
Dacă f ∈ C 4 ([a, b]), din formula de evaluare a erorii la interpolare avem
f (x) − P f ; a, 2a + b , a + 2b , b; x ≤
3 3
1 2a + b a + 2b
≤ (x − a) x − x− (x − b) · max f (4) (x) ,
24 3 3 x∈[a,b]
b
2a + b a + 2b
≤ f(x) − P f; a, , , b; x dx ≤
3 3
a
b
1
max f (4) (x) · (x − a) x − 2a + b x −
a + 2b
(x − b) dx =
24 x∈[a,b] 3 3
a
1 (b − a)5 (b − a)5
= max f (4) (x) · = · max f (4) (x) .
24 x∈[a,b] 270 6480 x∈[a,b]
(k)
Formula de cuadratură Newton sumată este: σ N (f ) =
k−1
xi+1 − x1 2xi+1 + xi xi+1 + 2xi
f (xi+1 ) + 3f + 3f + f (xi ) =
i=0
8 3 3
k−1
b−a 2xi+1 + xi xi+1 + 2xi
= f (xi+1 ) + 3f + 3f + f (xi ) ,
8k i=0 3 3
pentru care, dacă f ∈ C 4 ([a, b]), avem evaluarea erorii:
b x
k−1 i+1
(k)
(b − a)5 (4)
f (x)dx − σ (f ) ≤ f (x)dx − σ i (f )≤ · max f (x) ,
N 6480k 4 x∈[a,b]
i=0
a xi
unde σ i (f ) este formula de cuadratură Newton, aplicată funcţiei f pe intervalul [xi , xi+1 ],
∀ i ∈ 0, k − 1.
10
Exemplul -1.7 Folosind formula de cuadratură Newton sumată, să se aproximeze
calculul integralei
2
1 + ln x
I= dx
x
1
(k)
k σ D (f ) eroarea
5 0, 9333725034 0, 000000249
10 0, 9333736118 0, 000000015
50 0, 9333736875 0, 0000000000
În stabilirea erorii am ţinut seama de max f (4) (x) = 1. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0, 9333736875 .
Avem sup |f (4) (x)| = 9. Din formula de evaluare a erorii rezultă că
x∈[0,1]
105
k≥ + 1 = 4.
720
Cuadraturi deschise
Formula de cuadratură a dreptunghiului
11
Formula de cuadratură a dreptunghiului este
b
a+b
σ(f ) = P f; ; x dx .
2
a
Atunci
b
a+b a+b
σ(f ) = f .dx = (b − a)f
2 2
a
f (x) − P f ; a + b ; x ≤ x − a + b · max |f (x)| , ∀ x ∈ [a, b].
2 2 x∈[a,b]
Atunci b b
a+b
f (x)dx − σ(f ) = f (x) − P f ; ;x dx ≤
2
a a
b b
a + b
a + b
≤ f (x) − P f ; ; x dx ≤ max |f (x)| · x − dx =
2 x∈[a,b] 2
a a
2
(b − a)
= · max |f (x)| .
4 x∈[a,b]
b
a+b a+b
σ(f ) = P f; , ; x dx.
2 2
a
În acest caz, dacă f ∈ C 1 ([a, b]), din formula de evaluare a erorii la interpolare, avem
2
f (x) − P f ; a + b , a + b ; x ≤ 1 x − a + b · max |f (x)| , ∀ x ∈ [a, b].
2 2 2 2 x∈[a,b]
12
Atunci
b b
a+b a+b
f (x)dx − σ(f) = f(x) − P f; , ; x dx ≤
2 2
a a
b b 2
a + b a + b
a + b
≤ f(x) − P f ; ,
; x dx ≤ max |f (x)| · x − dx =
2 2 x∈[a,b] 2
a a
(b − a)3
= · max |f (x)| .
24 x∈[a,b]
13
Se obţin următoarele rezultate:
(k)
k σ D (f ) eroarea
5 0.9336531768 0.0016666666
10 0.9334452939 0.0004166666
50 0.9333765747 0.0000166666
100 0.9333744095 0.0000041666
În stabilirea erorii am ţinut seama de max |f (x)| = 1. Facem observaţia că valoarea
x∈[a,b]
exactă a integralei este I = 0.9333736875 .
105
k≥ + 1 = 65 .
24
n=2
14
3 a + 2b 2a + b 2a + b
+ f −f x−
b−a 3 3 3
Atunci
b b
2a + b 3 a + 2b 2a + b 2a + b
σ(f ) = f dx + f −f x− dx =
2 b−a 3 3 3
a a
b−a
2a + b a + 2b 2a + b
= (b − a)f + f −f =
3 2 3 3
b−a 2a + b a + 2b
= f +f
2 3 3
Dacă f ∈ C 2 ([a, b]), din formula de evaluare a erorii la interpolare, avem:
2a + b a + 2b
f (x) − P f ; , ; x ≤
3 3
1 2a + b a + 2b
≤ · x− x− max |f (x)| , ∀x ∈ [a, b].
· x∈[a,b]
2 3 3
Atunci
b b
2a + b a + 2b
f (x)dx − σ(f ) = f(x) − P f ; , ; x dx ≤
3 3
a a
b
2a + b a + 2b
≤ f(x) − P f ; , ; x dx ≤
3 3
a
b
1 a + 2b
≤ · max |f (x)| · x − 2a + b x−
2 x∈[a,b] 3 3 dx =
a
11(b − a)3
= · max |f (x)| .
324 x∈[a,b]
15
k−1
b−a 2xi + xi+1 xi + 2xi+1
= f +f ,
2k i=0 3 3
pentru care, dacă f ∈ C 2 ([a, b]), avem evaluarea erorii:
b x
k−1 i+1
11(b − a)3
f (x)dx − σ (k) (f ) ≤ f (x)dx − σ i (f ) ≤ · max |f (x)| ,
D 324k 2 x∈[a,b]
i=0
a xi
n=3
b
3a + b a + b a + 3b
σ(f ) = P f; , , ; x dx.
4 2 4
a
16
3a + b a+b 3a + b
= (b − a)f + (b − a) f −f +
4 2 4
2 a + 3b a+b 3a + b
+ (b − a) f − 2f +f =
3 4 2 4
(b − a) 3a + b a+b a + 3b
= 2f −f + 2f
3 4 2 4
Dacă f ∈ C 3 ([a, b]), din formula de evaluare a erorii la interpolare, avem
f (x) − P f ; 3a + b , a + b , a + 3b ; x ≤
4 2 4
1 3a + b a+b a + 3b
≤ x− x− x− · max f (3) (x) , ∀ x ∈ [a, b].
6 4 2 4 x∈[a,b]
Atunci
b b
3a + b a + b a + 3b
f (x)dx − σ(f) = f(x) − P f; , , ; x dx ≤
4 2 4
a a
b
3a + b a + b a + 3b
≤ f (x) − P f; , , ; x dx ≤
4 2 4
a
b
1 a + 3b
≤ · max f (3) (x) · x − 3a + b x−
a+b
x−
6 x∈[a,b] 4 2 4 dx =
a
k−1
b−a 3xi + xi+1 xi + xi+1 3xi + xi+1
= 2f −f + 2f ,
3k i=0 4 2 4
pentru care, dacă f ∈ C 3 ([a, b]), avem evaluarea erorii:
b x
k−1 i+1
5(b − a)4
f (x)dx − σ (k) (f ) ≤ f(x)dx − σ i (f)≤ · max f (3) (x) ,
T 1536k 3 x∈[a,b]
i=0
a xi
17
unde σ i (f ) este formula de cuadratură deschisa pentru n = 3, aplicată funcţiei f pe
intervalul [xi , xi+1 ], ∀ i ∈ 0, k − 1
n=4
b
4a + b 3a + 2b 2a + 3b a + 4b
σ(f ) = P f; , , , ; x dx.
5 5 5 5
a
18
125 a + 4b 2a + 3b 3a + 2b 4a + b
+ f − 3f + 3f −f ·
6(b − a)3 5 5 5 5
b
4a + b 3a + 2b 2a + 3b
· x− x− x− dx =
5 5 5
a
b
4a + b 3 3a + 2b 4a + b
= (b − a) f + (b − a) f −f +
5 2 5 5
a
17 2a + 3b 3a + 2b 4a + b
+ (b − a) f − 2f +f +
12 5 5 5
11 a + 4b 2a + 3b 3a + 2b 4a + b
+ (b − a) f − 3f + 3f −f =
24 5 5 5 5
(b − a) 4a + b 3a + 2b 2a + 3b a + 4b
= 11f +f +f + 11f
24 5 5 5 5
Dacă f ∈ C 4 ([a, b]), din formula de evaluare a erorii la interpolare, avem
4a + b 3a + 2b 2a + 3b a + 4b
f (x) − P f ; , , , ; x ≤
5 5 5 5
1 4a + b 3a + 2b 2a + 3b a + 4b
≤ x− x− x− x− ·
24 5 5 5 5
· max f (4) (x) , ∀ x ∈ [a, b].
x∈[a,b]
Atunci
b b
4a + b 3a + 2b 2a + 3b a + 4b
f (x)dx − σ(f ) = f(x) − P f ; , , , ;x dx ≤
5 5 5 5
a a
b
4a + b 3a + 2b 2a + 3b a + 4b 1
≤ f (x) − P f ; , , , ; x dx ≤≤ · max f (4) (x) ·
5 5 5 5 24 x∈[a,b]
a
b
4a + b 3a + 2b 2a + 3b a + 4b
· x − x− x− x− dx =
5 5 5 5
a
19
Formula de cuadratură deschisa sumată pentru n = 4 este:
k−1
(k) 1
σ T (f ) = (xi+1 − xi )·
24 i=0
4xi + xi+1 3xi + 2xi+1 2xi + xi+1 xi + 4xi+1
· 11f +f +f + 11f =
5 5 5 5
k−1
b−a 4xi + xi+1 3xi + 2xi+1 2xi + xi+1 xi + 4xi+1
= 11f +f +f + 11f ,
24k i=0 5 5 5 5
pentru care, dacă f ∈ C 4 ([a, b]), avem evaluarea erorii:
b x
k−1 i+1
551(b − a)5 (4)
f (x)dx − σ (k) (f) ≤ f (x)dx − σ i (f )≤ · max f (x) ,
T 2250000k 4 x∈[a,b]
i=0
a xi
n! (n)
Ln (x) := · ((x − a)n (x − b)n ) , ∀ x ∈ [a, b]
(2n)!
20
Pentru orice polinom P de grad≤ 2n − 1, avem
b n
P (x)dx = αi P (xi ),
a i=1
Cazuri particulare
I. n = 2, a = −1, b = 1
În acest caz,
2! 2
2 1
1
L2 (x) = x −1 = 12x2 − 4 = x2 − ,
4! 12 3
Deci, pentru f o funcţie continuă pe [−1, 1], formula de cuadratură Gauss de ordinul
2 este
1 1
σ(f ) = f − +f .
3 3
Din formula de evaluare a erorii, în cazul în care f este de 4 ori derivabilă, rezultă că
1 4 5
σ(f ) − f(x)dx ≤ (2!) · 2 · sup f (4) (ξ) = 1 · . sup f (4) (ξ) .
(4!)3 5 135 ξ∈[a,b]
ξ∈[a,b]
−1
II. n = 3, a = −1, b = 1
21
În acest caz,
3! 2
3 1
3
L3 (x) = x −1 = 120x3 − 72x = x3 − x,
6! 120 5
b
(x − x1 )(x − x2 ) 5
α3 = dx = .
(x3 − x1 )(x3 − x1 ) 9
a
Deci, pentru f o funcţie continuă pe [−1, 1], formula de cuadratură Gauss de ordinul
3 este
1 3 3
σ(f) = 5f − + 8f (0) + 5f .
9 5 5
Din formula de evaluare a erorii, în cazul în care f este de 6 ori derivabilă, rezultă că
1 4 7
σ(f ) − f (x)dx ≤ (3!) · 2 · sup f (6) (ξ) = 1 · . sup f (6) (ξ) .
(6!)3 7 15750 ξ∈[a,b]
ξ∈[a,b]
−1
Formule sumate:
Fie k ∈ N ∗ , h = (b − a)/k, yi = a + ih, ∀ i ∈ 0, k. Dacă σ i (f) este o formulă de
cuadratură Gauss a funcţiei f pe intervalul [xi , xi+1 ], ∀ i ∈ 0, k − 1, atunci se defineşte
formula de cuadratură Gauss sumată
k−1
(k)
σ G (f ) = σ i (f ).
i=0
22
Cuadratura este :
n
(k) h
σG = · (f(aj ) + f (bj )),
2 j=1
Exemplul -1.11 Folosind formulele de cuadratură ale lui Gauss sumate (cu două,
respectiv cu trei noduri) să se aproximeze calculul integralei
2
1 + ln x
I= dx
x
1
23
Pentru formula de cuadratură Gauss sumată, relativă la două noduri, se obţin
următoarele rezultate:
k σ (k)
D (f ) eroarea
5 0, 9333754517 0, 000014518
10 0, 9333738009 0, 000000453
50 0, 9333736877 0, 0000000002
100 0, 9333736875 0, 0000000000
În stabilirea erorii am ţinut seama de max f (4) (x) = 14.
x∈[a,b]
Pentru formula de cuadratură Gauss sumată, relativă la trei noduri, se obţin ur-
mătoarele rezultate:
(k)
k σ D (f ) eroarea
5 0, 9333736921 0, 000000032
10 0, 9333736875 0, 000000000
În stabilirea erorii am ţinut seama de max f (6) (x) = 508. Facem observaţia că
x∈[a,b]
valoarea exactă a integralei este I = 0, 9333736875 .
24
Metode numerice pentru ecuaţii diferenţiale
Studiul ecuaţiilor diferenţiale este o parte a matematicii, care face obiectul a nu-
meroase cercetări şi care continuă să rămână în actualitate prin interesul particular pe
care-l reprezintă pentru alte discipline, ca mecanica, astronomia, fizica si, mai recent,
chimia, biologia, ştiinţe în care modelarea poate conduce la probleme matematice ce
implică ecuaţii diferenţiale. De multe ori, chiar dacă rezultatele matematice ne per-
mit să demostrăm existenţa şi unicitatea soluţiei problemei la care se ajunge, soluţia
analitică nu poate fi obţinută, şi atunci se impune găsirea unei soluţii aproximative a
problemei printr-o metodă de rezolvare numerică a problemei.
În acest capitol ne propunem să dăm o descriere a principalelor metode de rezolvare
numerică a problemelor Cauchy (a problemelor cu condiţii iniţiale). Problema Cauchy
se defineşte astfel: dată fiind aplicaţia f : D ⊂ R × Rm −→ Rm , care defineşte ecuaţia
diferenţială:
y(t0 ) = y0 . (2)
1
1. Metode într-un pas (metode directe) sunt metodele în care yn+1 se cal-
culează printr-o relaţie de recurenţă în funcţie doar de yn , calculat anterior. În această
categorie intră metodele Euler, Euler îmbunătăţită, Euler modificată, Runge-Kutta.
2. Metode în mai mulţi paşi (metode indirecte) sunt metodele în care yn+1 se
calculează printr-o relaţie de recurenţă în funcţie de valorile precedente yn , yn−1 , . . . , yn−r+1 .
În această categorie intră metodele Adams-Bashforth, Adams-Moulton, metoda predictor-
corector, metoda diferenţialei retrograde.
O metoda numerică într-un pas, pentru aproximarea soluţiei acestei probleme, constă
în determinarea aproximatiilor (yn ) pentru y(tn ) în tn = t0 + nh, cu n = 1, N , unde:
y0 = α ∈ Rm ,
(4)
y
n+1 = yn + hΦ(tn , yn , h) .
Definiţia -1.1 Spunem că metoda numerică (4) este de ordinul p, cu p ∈ N ∗ , dacă
pentru orice y soluţie a problemei (3) avem:
1
max (y(t n+1 ) − y(tn )) − Φ(tn , y(tn ), h) = O(hp ) .
n=0,N−1 h
2
Metoda Euler explicită (progresivă)
Pentru t = tn+1 se oţine yn+1 = yn + (tn+1 − tn )f (tn , yn ) , adică yn+1 este intersecţia
tangentei cu dreapta t = tn+1 . Din acest motiv, metoda Euler mai este numită şi
metoda liniilor poligonale. Erorile se acumulează, ceea ce face ca, în această metodă,
pentru pas h nu prea mic, valorile numerice să fie mult diferite de valorile soluţiei
exacte.
în t = 2, luând h = 0.5.
y 1
Avem f (t, y) = y 2 − − 2 , t0 = 1 şi y0 = 0.75 . Se obţine N = 2 şi yn+1 =
t 4t
yn + 0.5f (tn , yn ), pentru n = 0, 1 . Deci rezultă:
3
Soluţia exactă a problemei din exerciţiul -1.1 este
t+5
y(t) = − .
2t(t − 5)
Valoarea exactă în t = 2 este y(2) = 0.5833333333, iar valoarea aproximativă, în funcţie
de h, este dată în tabelul 1.
h aproximarea
pentru y(2)
0.5 0.4397243924
0.2 0.5231702705
0.1 0.5526766962
0.05 0.5678404244
Folosirea acestei metode este mai dificilă decât metoda Euler explicită, deoarece,la
fiecare pas, calculul lui yn+1 cu yn cunoscut, se face prin rezolvarea unei ecuaţii, în
general, neliniare, şi care poate avea mai multe soluţii. Calculul soluţiei ecuaţiei din
(??) în yn+1 va necesita rezolvarea unui sistem liniar dacă f este afină în y sau, în cazul
general, utilizarea unei metode pentru ecuaţii neliniare.
Metode Runge-Kutta
4
Metoda a fost introdusă de matematicianul german Carl David Runge în 1895 şi a fost
dezvoltată de alt matematician german, Wilhelm Kutta, în 1901.
În definirea generală a metodelor Runge-Kutta, pentru q ∈ N∗ se dau o listă de
constante reale:
c1 a11 ··· a1q
.. .. ... ..
. . .
cq aq1 ··· aqq
b1 ··· bq
cu c1 , . . . , cq nu neapărat distincte, şi formulele de cuadratură:
ci q
ψ(t) dt aij ψ(cj ) , i = 1, q ,
0 j=1
1 q
ψ(t) dt bj ψ(cj ).
0 j=1
Vom considera cazul general, când punctele din I0 nu sunt echidistante, adică tn+1 −tn =
hn . Pentru fiecare n = 1, N , se consideră punctele intermediare
tn,i = tn + ci hn pentru i = 1, q
Relaţiile (??) şi (??) rezultă aplicând formulele de cuadratură (??). Fie y o soluţie
5
t − tn
pentru (1). Folosind schimbarea de variabilă u = , obţinem:
hn
tn,i
y(tn,i ) = y(tn ) + f (t, y(t))dt =
tn
ci
y(tn ) + f (tn + hn u, y(tn + hn u))dt , i = 1, q
0
tn+1 1
y(tn+1 ) = y(tn ) + f (t, y(t))dt = y(tn ) + f (tn + hn u, y(tn + hn u))dt.
tn 0
q
yi = y + h aij f (t + cj h, yj ) , i = 1, q .
j=1
6
În cazul când nici una dintre condiţiile de mai sus nu este îndeplinită, metoda
Runge-Kutta se numeşte implicită.
Dăm mai jos câteva rezultate importante în convergenţa metodelor Runge-Kutta.
Teorema -1.1 Dacă f este lipschitziană în a doua varibilă, având constanta L, ρ (|A|)
este raza spectrală a lui |A| şi hn este astfel încât hn Lρ (|A|) < 1, atunci schema
numerică Runge-Kutta (??) admite soluţie unică. De asemenea, pentru hn = h =
const., astfel încât 0 < h ≤ h∗ cu h∗ Lρ (|A|) < 1, metoda Runge-Kutta este stabilă.
Definiţia -1.2 Vom spune că este îndeplinită condiţia A(p) dacă sunt îndeplinite
condiţiile A (l) pentru l = 1, p, unde A (l) sunt date în tabelul 2 pentru l = 1, 5.
Teorema -1.2 Condiţia necesară şi suficientă ca o metodă Runge-Kutta (pentru toate
funcţiile suficient de regulate) să fie de ordin p este să fie verificată condiţia A(p).
Remarcă. Condiţiile necesare pentru ca o metodă Runge-Kutta să fie de ordin p sunt:
1 1
bt e = 1 , bt Ce = , . . . , bt C p−1 e = .
2 p
Condiţiile (??) sunt echivalente cu afirmaţia: formula de cuadratură (??)2 este de ordin
p − 1, adică este exactă pentru polinoame până la gradul p − 1. Se poate deduce că
p ≤ 2q.
Construcţia unei metode Runge-Kutta se face, în general, în modul următor:
- se determină relaţii pentru b1 , . . . , bq şi c1 , . . . , cq din condiţia ca formula de
cuadratură (??)2 să fie de ordin p − 1;
- se obţin şi coeficienţii din matricea A, rezolvând restul de condiţii suficiente pentru
metode Runge-Kutta, până la ordinul p, date în tabelul 3.
7
Pentru p = 5 se verifică şi condiţiile pentru p = 3 şi p = 4.
Observaţie. Pentru programarea metodelor Runge-Kutta este mai uşor să notăm:
q
yn+1 = yn + hn bj kn,j .
j=1
Rezolvând sistemul (??) în necunoscutele (kn,i )i=1,q , calculăm mai uşor yn+1 din (??).
De asemenea, obţinem:
q
yn,i = yn + hn aij kn,j , pentru i = 1, q .
j=1
Definiţia -1.3 O metodă RKpp este o metodă Runge-Kutta de ordin p corespunză-
toare tabloului de constante
în care dacă excludem ultima linie şi ultima coloană, obţinem o metodă de ordin p.
8
θ θ
cu θ ∈ R, se scrie:
1
0 0 0
α α 0
1 1
1−
2α 2α
cu α ∈ R∗ , se scrie:
yn,1 = yn
yn,2 = yn + hn α f (tn , yn,1 )
1 1
yn+1 = yn + hn 1− f (tn , yn ) + f (tn + αhn , yn + αhn f (tn , yn ))
2α 2α
1
Dacă α = , atunci se obţine metoda Euler modificată (ameliorată):
2
1 1
yn+1 = yn + hn f tn + hn , yn + hn f (tn , yn ) .
2 2
0 0 0 0 0
Avem A = ,C= ,b= şi este îndeplinită condiţia
1/2 0 0 1/2 1
A(2), deci metoda (??) este de ordin 2.
9
Dacă α = 1, atunci se obţine metoda Heun sau metoda Euler îmbunătăţită
sau metoda RK12 :
1
hn (f (tn , yn ) + f (tn + hn , yn + hn f (tn , yn ))) .
yn+1 = yn +
2
0 0 0 0 1/2
Avem A = ,C = ,b= şi este îndeplinită condiţia
1 0 0 1 1/2
A(2), deci metoda (??) este de ordin 2.
Exemplul 3. Pentru q = 4 metoda Runge-Kutta definită prin:
0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
1/6 2/6 2/6 1/6
este metoda Runge-Kutta clasică sau metoda RK24 (Kutta - 1901). Sub
această formă, metoda este cel mai des utilizată. Avem:
yn,1 = yn
hn
yn,2 = yn + f(tn , yn,1 )
2
hn 1
yn,3 = yn + f(tn + hn , yn,2 )
2 2
yn,4 = yn + hn f(tn + 1 hn , yn,3 )
2
hn 1
si yn+1 = yn + f(tn, yn,1 ) + 2f (tn + hn , yn,2 )+
6 2
1
2f(tn + hn , yn,3 ) + f (tn+1 , yn,4 ) . (5)
2
10
În metodaRK24 avem:
0 0 0 0 0 0 0 0 1/6
1/2 0 0 0 0 1/2 0 0 2/6
A = , C = , b = şi este
0 1/2 0 0 0 0 1/2 0 2/6
o 0 1 0 0 0 0 1 1/6
îndeplinită condiţia A(4), deci metoda (5) este de ordin 4.
Exemplul 4. Pentru q = 5, metoda Runge-Kutta definită prin:
0 0 0 0 0 0
2/7 2/7 0 0 0 0
4/7 -8/35 4/5 0 0 0
6/7 29/42 -2/3 5/6 0 0
1 1/6 1/6 5/12 1/4 0
11/96 28/96 35/96 14/96 8/96
0 0 0 0 0 0 0
1/2 1/2 0 0 0 0 0
1/4 3/16 0 0 0 0 0
1/2 0 0 1/2 0 0 0
3/4 0 -3/16 9/16 0 0 0
1 1/7 4/7 6/7 -12/7 8/7 0
7/90 0 32/90 12/90 32/90 7/90
11
Exemplul -1.2 Se dă problema Cauchy:
y = y2 − y − 1 , t ∈ [1, 2.9]
t 4t2
y(1) = 0.75
y0,1 = y0 = 1 , t0,1 = t0 = 1 ,
y0,2 = y0 = 1 + 0.95f(t0,1 , y0,1 )/2 = 0.8812 , t0,2 = t0 + 0.95/2 = 1.4750 ,
y0,3 = y0 = 1 + 0.95f(t0,2 , y0,2 )/2 = 1.0305 , t0,3 = t0 + 0.95/2 = 1.4750 ,
y0,4 = y0 = 1 + 0.95f(t0,3 , y0,3 )/2 = 1.2360 , t0,4 = t0 + 0.95 = 1.9500 ,
y1 = y0 + 0.95(f(t0,1 , y0,1 ) + 2f (t0,2 , y0,2 ) + 2f (t0,3 , y0,3 ) + f (t0,4 , y0,4 ))/6 =
1 + 0.95(−0.2500 + 2 · 0.0642 + 2 · 0.2484 + 0.8281)/6 = 1.1905
t1 = t0 + h = 1.9500
- pentru n = 2:
12
pentru N = 7 se obţin datele din tabelul 5. Pentru valori mai mari ale lui N se obţin
valori aproximative mult apropiate de soluţia exactă. De exemplu, pentru N = 20
valorile obţinute sunt în tabelul 6.
Metode în mai mulţi paşi (indirecte)
Calculul valorii yn+1 la tn+1 se poate obţine folosind r + 1 valori deja calculate
yn , yn−1 , . . . , yn−r+1 , adică folosind r + 1 paşi anteriori cu r ∈ N. În general, se obţin
metode cu caracteristici mai bune. Cel mai des întâlnite medote în r + 1 paşi sunt
metodele Adams. Se consideră problema (1)-(2), în care presupunem că f este lipschi-
tiziană în al doilea argument. Considerăm diviziunea:
t0 < t1 , < . . . , tN = t0 + T ,
hn = tn+1 − tn .
fj = f(tj , yj ) , j = n − r, n ,
13
Metoda Adams-Bashforth
Dacă alegem pentru Pn,r polinomul Lagrange, atunci se scrie sub forma:
r
Pn,r (t) = fn−i Ln,i,r (t) ,
i=0
unde
r
t − tn−j
Ln,i,r (t) = , i = 0, r .
j=0,j=i
t n−i − tn−j
Avem
tn+1 r
tn+1
Pn,r (t)dt = fn−i Ln,i,r (t)dt ,
tn i=0 tn
unde notând:
tn+1
1
bn,i,r = Ln,i,r (t)dt , i = 0, r ,
hn tn
şi, deci
yn+1 = yn + hn f (tn , yn ) .
14
tn−j = tn − jh , j = 0, r , se obţine:
1 r
s+j
bn,i,r = bi,r = li,r (s)ds , unde li,r (s) = , i = 0, r .
0 j=0,j=i
j −i
h
yn+1 = yn + (1901fn − 2774fn−1 + 2616fn−2 − 1274fn−3 + 251fn−4 )
720
l
Exemplul -1.3 Folosind metoda Adams-Bashforth pentru r = 3, determinaţi soluţia
aproximativă a problemei Cauchy:
y = y2 − y − 1 , t ∈ [1, 2.25]
t 4t2
y(1) = 0.75
y 1
Avem h = 0.25 şi f (t, y) = y 2 − − 2 . Aplicând metoda Euler progresivă se
t 4t
obţine:
t0 = 1 , y0 = 0.75 , f0 = f (t0 , y0 ) = −0.4375 ,
t1 = 1.25 , y1 = 0.6406 , f1 = f (t1 , y1 ) = −0.2621 ,
t2 = 1.5 , y2 = 0.5751 , f2 = f (t2 , y2 ) = −0.1638 ,
t3 = 1.75 , y3 = 0.5342 , f3 = f (t3 , y3 ) = −0.1015 ,
15
şi, în continuare, cu metoda Adams-Bashforth pentru r = 3, rezultă:
h
t4 = 2 , y4 = y3 + (55f3 − 59f2 + 37f1 − 9f0 ) = 0.5166 ,
24
f4 = f (t4 , y4 ) = −0.0539 ,
h
t5 = 2.25 , y5 = y4 + (55f4 − 59f3 + 37f2 − 9f1 ) = 0.5096 ,
24
f5 = f (t5 , y5 ) = −0.0162 .
16
Table 2: Conditiile A (l) pentru l = 1, 5.
l A (l)
1 bt e = 1
1
2 bt Ce = bt Ae =
2
1 1
3 b C e = b CAe = bt (Ae).2 = , bt ACe = bt A2 e =
t 2 t
3 6
t 3 t 2 t .2 t .3 1
b C e = b C Ae = b C (Ae) = b (Ae) = ,
4
1
4 b CACe = b CA e = b ((Ae).(ACe)) = b (Ae).(A2 e) =
t t 2 t t
8
t 2 t t .2 1 t 2 t 3 1
b AC e = b ACAe = b A(Ae) = , b A Ce = b A e =
12 24
t 4 t 3 t 2 .2 t .3 t .4 1
b C e = b C Ae = b C (Ae) = b C (Ae) = b (Ae) = ,
5
t 2 t 2 2 t t
2
b C ACe = b C A e = b C ((Ae).(ACe)) = b C (Ae).(A e) =
1
bt (Ae).2 .(ACe) = bt C (Ae).2 .(A2 e) = ,
10
bt CAC 2 e = bt CACAe = bt CA (Ae).2 = bt (Ae).(AC 2 e) =
1
bt ((Ae).(ACAe)) = bt (Ae).A(Ae).2 = ,
15
5 bt AC 3 e = bt AC 2 Ae = bt AC(Ae).2 = bt A(Ae).3 e = bt (ACe).2 e =
.2 1
bt (ACe).(A2 e) = bt A2 e) = ,
20
1
bt CA2 Ce = bt CA3 e = bt (Ae).(A2 Ce) = bt (Ae).(A3 e) = ,
30
1
bt ACACe = bt ACA2 e = bt A ((Ae).(ACe)) = bt A (Ae).(A2 e) = ,
40
1 1
bt A2 C 2 e = bt A2 CAe = bt A2 (Ae).2 = , bt A3 Ce = bt A4 e =
60 120
17
Table 3: Conditiile suficiente pentru metode de ordin p ∈ {3, 4, 5}.
1 1 1
3 Ae = Ce , bt e = 1 , bt Ce = , bt C 2 e = , bt ACe =
2 3 6
1 1 t 1 1
4 b C e = , b CACe = , b AC e =
t 3 t 2 t 2
, b A Ce =
4 8 12 24
1
5 bC e= ,
t 4
5
t 2 1 1 1 1
b C ACe = , bt CAC 2 e = , bt (AC).2 e = , bt CA2 Ce =
10 15 20 30
18
Table 5: Valori aproximative pentru N = 7.
19
Table 6: Valori aproximative pentru N = 20.
20
Table 7: Valorile coeficien@tilor bi,r pentru r = 1, 5.
6
i=0 i=1 i=2 i=3 i=4 i=5
1 3/2 -1/2 - - - -
2 23/12 -4/3 5/12 - - -
3 55/24 -59/24 37/24 -3/8 - -
4 1901/720 -1387/360 109/30 -637/360 251/720 -
5 4277/1440 -2641/480 4991/720 -3649/720 959/480 -95/288
21
Metode numerice pentru ecuaţii neliniare
Metoda bisecţiei
Soluţie Avem
etc.
Regula falsi
1
Soluţie Avem
Atunci c0 = (a0 f (b0 ) − b0 f (a0 ))/(f (b0 ) − f (a0 ) = 0. Cum f(c0 ) < 0 rezultă că
a2 = c1 = 5/6, b2 = b1 = 2, c2 = (a2 f(b2 )−b2 f(a2 ))/(f (b2 )−f (a2 ) = 110/91 = 1, 20879
etc.
Metoda coardei
Metoda secantei
Exemplul -1.4 Să se aplice metoda secantei pe intervalul [0, 1] pentru rezolvarea ecuaţiei
3ex − 4 cos x = 0 pentru x0 = 1 şi x1 = 0, 9.
2
Soluţie: Evident f este de două ori derivabilă pe [0, 1] şi f (x) = 3ex + 4 sin x, ,
funcţie care evident nu se anulează pe [0, 1]. Cum f (0) · f (1) = −3e + 4 cos 1 < 0
rezultă că ecuaţia are o radăcină în intervalul [0, 1].
Avem
Exemplul -1.5 Să se arate că se aplică metoda lui Newton pe intervalul [0, 1] pentru
rezolvarea ecuaţiei 3ex − 4 cos x = 0. Luând x0 = 1, să se calculeze valoarea primei
iteraţii.
Soluţie: Evident f este de două ori derivabilă pe [0, 1] şi f(x) = 3ex + 4 sin x,
f (x) = 3ex + 4 cos x, funcţii care evident nu se anulează pe [0, 1]. Cum f(0) · f (1) =
−3e + 4 cos 1 < 0 şi f (1) · f (1) = 9e2 − 16 cos 1 > 0, rezultă că metoda lui Newton se
aplică.
Avem
Principiul contracţiei
Să se arate că f este o contracţie. Luând x0 = − 58 , să se determine numărul de iteraţii
necesari pentru a aproxima soluţia ecuaţiei f (x) = x cu o eroare ε.
3
Soluţie Funcţia f este derivabilă şi
f (x) = 2x + 1
Avem
3 1
max |f (x)| = max |2x + 1| = max (−2x − 1) = −2 · − −1=
x∈[− 43 ,− 12 ] x∈[− 43 ,− 12 ] x∈[− 34 ,− 12 ] 4 2
Deci
1
|f (x)| ≤ q := .
2
Notăm a = − 34 , b = − 12 . Atunci
a + b a + b b − a 5 5 1 1
f − ≤ (1 − q) · ⇐⇒ f − + ≤ (1 − ) · ⇐⇒
2 2 2 8 8 2 8
25 5 7 5 1 3 4
⇐⇒ − − + ≤ ⇐⇒ ≤ , ceea ce este adevărat.
64 8 16 8 16 64 64
Deci f este o contracţie. Fie z soluţia ecuaţiei f(x) = x pe intervalul [a, b].
Din formula de evaluare a erorii avem
qn
|xn − z| ≤ |x1 − x0 |
1−q
Dacă
qn
|x1 − x0 | ≤ ε, atunci |xn − z| ≤ ε, deci xn aproximează pe z cu eroarea ε.
1−q
Avem
5 25 5 7 43
x1 = f (x0 ) = f − = − − =−
8 64 8 16 64
şi
43 5 3
|x1 − x0 | = − + =
64 8 64
Atunci 1 n
qn 3 3
|x1 − x0 | ≤ ε ⇐⇒ 2 1 · ≤ ε ⇐⇒ n+5 ≤ ε ⇐⇒
1−q 1 − 2 64 2
4
n+5 3 3
⇐⇒ 2 ≥ ⇐⇒ n ≥ log2 −5
ε ε
Deci putem lua
3
n = log2 − 4, unde [·] reprezintă partea întreagă.
ε
= max (|1| + |4| + |7| , |−2| + |−5| + |−8| , |3| + |6| + |9|) = max (12, 15, 18) = 18
şi
3
A
∞ = max |aij | =
1≤i≤3
j=1
= max (|1| + |−2| + |3| , |4| + |−5| + |6| , |7| + |−8| + |9|) = max (6, 15, 24) = 24.
5
Considerăm sistemul perturbat A(x + δx) = b + δb unde
10 7 8 7 32, 1
7 5 6 5 22, 9
A= b + δb =
8 6 10 9 33, 1
7 5 9 10 30, 9
9, 2
−12, 6
cu soluţia x + δx = (1)
4, 5
−1, 1
Considerăm şi sistemul perturbat (A + ∆A)(x + ∆x) = b unde
10 7 8, 1 7, 2 32
7, 08 5, 04 6 5 23
A= b=
8 5, 98 9, 89 9 33
6, 99 4, 99 9 9, 98 30
−81
137
cu soluţia x + ∆x = (2)
−34
22
δx∞
Exemplul -1.9 Sa se arate ca x∞
= cond(A)· δb
b∞
∞
(Vom considera cazul sistemului
(1) şi vom lucra cu norma infinit).
Avem:
δx
∞ =
x + δx − x
∞ =
(9, 2 − 1; −12, 6 − 1; 4, 5 − 1; −1, 1 − 1)
∞ =
=
(8, 2; −13, 6; 3, 5; −2, 1)
∞ = max(|8, 2| ; |−13, 6| ; |3, 5| ; |−2, 1|) = 13, 6.
6
x
∞ =
(1; 1; 1; 1)
∞ = max(|1| ; |1| ; |1| ; |1|) = 1.
Atunci
δx
∞ 13, 6
= = 13, 6
x
∞ 1
25 −41 10
−6
−41 68 −17 10
A−1 =
10 −17 5 −3
−6 10 −3 2
A
∞ = max(|10|+|7|+|8|+|7| , |7|+|5|+|6|+|5| , |8|+|6|+|10|+|9| , |7|+|5|+|9|+|10|) =
Rezultă că
cond(A) :=
A
∞ · A−1 ∞ = 33 · 136 = 4488
Avem
δb
∞ =
b + δb − b
∞ =
(32, 1 − 32; 22, 9 − 23; 33, 1 − 33; 30, 9 − 31)
∞ =
=
(0, 1; −0, 1; 0, 1; −0, 1)
∞ = max(|0, 1| ; |−0, 1| ; |0, 1| ; |−0, 1|) = 0, 1.
b
∞ =
(32; 23; 33; 31)
∞ = max(|32| ; |23| ; |33| ; |31|) = 33..
Atunci
δb
∞ 0, 1 1
= =
b
∞ 33 330
7
şi
δb
∞ 1
cond(A) · = 4488 · = 13, 6
b
∞ 330
Deci
δx
∞
δb
∞
= cond(A) ·
x
∞
b
∞
Metode directe
Să se calculeze determinantul matricei sistemului şi să se rezolve sistemul cu metoda
lui Gauss.
8
linia 2. Deci s = 2 şi piv = a22 = 1/12. Calculăm det = det ∗piv, deci det = 1/12. Cum
s = n se trece la pasul împărţirii la pivot. Ecuaţia 2 devine y + z = 18 . Eliminăm
y din linia 3 ca în algoritm. Obţinem următorul sistem de ecuaţii:
x + 12 y + 13 z = 1
y + z = 18
1 7
180
z = 6
9
1
1
1 2 1
3
0 0
0 1 1 −6 12 0
1
1
0 0 180 −1 1
6
1 12 13 1 0 0
0 1 1 −6 12 0
0 0 1 30 −180 180
1 12 0 −9 60 −60
0 1 0 −36 192 −180
0 0 1 30 −180 180
1 0 0 9 −36 30
0 1 0 −36 192 −180
0 0 1 30 −180 180
Deci
9 −36 30
A−1 = −36 192 −180
30 −180 180
Rezolvarea unui sistem de ecuaţii liniare Ax = b este echivalentă, după ce s-a
calculat inversa matricei A, cu egalitatea x = A−1 b.
Factorizarea LU
10
Soluţie Se verifică mai întâi că determinanţii de colţ ai matricei A sunt nenuli. Cu
formulele (??) şi (??) se obţine:
l33 = 5, l43 = 2
u33 = 1, u34 = 0
l44 = 1
u44 = 1
Deci
2 0 0 0 1 2 −1 0
−1 1 0 0 0 1 1 3
L= , U =
4 −3 5 0 0 0 1 0
0 1 2 1 0 0 0 1
Exemplul -1.13 Folosind metoda rădăcinii pătrate, să se rezolve sistemul de ecuaţii
liniare Ax = b cu
4 2 2 8
A = 2 10 4 , b = 16
2 4 6 12
11
Soluţie Se verifică imediat că matricea A este simetrică. Deoarece
4 2 2
4 2
∆1 = |4| > 0, ∆2 = = 36 > 0, ∆3 = 2 10 4
= 144 > 0
2 10
2 4 6
rezultă că matricea A este pozitiv definită. Cu formulele din curs se obţine
l22 = 3, l32 = 1
l33 = 2
Rezultă că
y1 = 4, y2 = 4, y3 = 2
si
x3 = 1, x2 = 1, x3 = 1.
Exemplul -1.14 Să se arate că se poate aplica metoda lui Jacobi (relativă la normele
1 şi ∞) pentru sistemul de ecuaţii liniare Ax = b cu
0, 9 0, 1 0, 2 0, 3 3, 6
−0, 2 0, 8 0, 1 0, 4 2
A= ; b = .
0, 1 −0, 3 0, 7 −0, 1 2, 4
−0, 3 −0, 2 −0, 1 0, 9 1, 5
12
0
0
Luând x = să se determine numărul de iteraţii necesar pentru a aproxima
(0)
0
0
soluţia sistemului cu o eroare mai mică de 10−10 .
Soluţie: Avem
0, 1 −0, 1 −0, 2 −0, 3
0, 2 0, 2 −0, 1 −0, 4
B = I −A =
−0, 1 0, 3 0, 3 0, 1
0, 3 0, 2 0, 1 0, 1
Atunci
4
B
1 = max |bij | = max(|0, 1| +|0, 2|+|−0, 1| +|0, 3| , |−0, 1| +|0, 2|+|0, 3| +|0, 2| ,
1≤j≤4
i=1
|−0, 2|+|−0, 1|+|0, 3|+|0, 1| , |−0, 3|+|−0, 4|+|0, 1|+|0, 1|) = max(0, 7; 0, 8; 0, 7; 0, 9) = 0, 9 < 1.
şi
4
B
∞ = max |bij | = max(|0, 1|+|−0, 1|+|−0, 2|+|−0, 3| , |0, 2|+|0, 2|+|−0, 1|+|−0, 4| ,
1≤i≤4
j=1
|−0, 1|+|0, 3|+|0, 3|+|0, 1| , |0, 3|+|0, 2|+|0, 1|+|0, 1|) = max(0, 7; 0, 9; 0, 8; 0, 7) = 0, 9 < 1.
Deci metoda lui Jacobi se aplică. Din formula de evaluare a erorii avem:
qn
x(n) − x
p ≤
x(1) − x(0)
p , ∀ n ∈ N∗
1−q
x(1) − x(0)
1 =
b
1 = |3, 6| + |2| + |2, 4| + |1, 5| = 9, 5
13
şi
x(1) − x(0)
∞ =
b
∞ = max(|3, 6| , |2| , |2, 4| , |1, 5|) = 3, 6
Atunci
qn 0, 9n ε ε
x(1) − x(0)
1 < ε ⇐⇒ 9, 5 < ε ⇐⇒ 0, 9n < ⇐⇒ n = log0,9 +1
1−q 1 − 0, 9 95 95
şi
qn 0, 9n ε ε
x(1) − x(0)
∞ < ε ⇐⇒ 3, 6 < ε ⇐⇒ 0, 9n < ⇐⇒ n = log0,9 +1
1−q 1 − 0, 9 36 36
Metoda Gauss-Seidel
Exemplul -1.15 Fie sistemul de ecuaţii liniare
x1 + 12 x2 + 13 x3 = 1
1
x
5 1
+ x2 + 16 x3 = 2
1 1
x
10 1
+ x
20 2
+ x3 = 3
Atunci
0 − 12 − 13
1 1
B = I − A = −5 0 −6
1 1
− 10 − 20 0
şi
1 1 5
q1 = |b11 | + |b12 | + |b13 | = − + − =
2 3 6
14
1 5 1 1
q2 = |b21 | q1 + |b22 | + |b23 | = − · + − =
5 6 6 3
1 5 1 1 1
q3 = |b31 | q1 + |b32 | q2 + |b33 | = − · + − · =
10 6 20 3 10
Deci
5 1 1 5
q = max(q1 , q2 , q3 ) = max , , = <1
6 3 10 6
Rezultă că metoda Gauss-Seidel se aplică.
Să se arate că se poate aplica metoda relaxării simultane. Să se determine parametrul
optim de relaxare. Luând x(0) = (0, 0, 0) să se evalueze eroarea x − x(n) .
cu teorema lui Sylvester rezultă că matricea A este şi pozitiv definită. în concluzie, se
poate aplica metoda relaxării simultane.
15
Fie D = diag(A). Atunci
1 3/5 2/5
−1
D A = 1/2 1 1/2
2/5 3/5 1
şi
n+ 12
(n) qn 2
x − x
D ≤
x(1) − x(0)
D = 5 · .
1−q 3
16
Se verifică mai întâi că matricea A este simetrică şi pozitiv definita. Luăm w0 =
(1, 0, 0, 0)∗ . Atunci w0∗ Aw0 = 1 şi
1 0 0 0 0 −2 −3 −4
0 0 0 0 0 1 0 0
C1 = , D1 = .
0 0
0 0 0
0 0 1
0 0 0 0 0 0 0 1
Luăm v1 = (0, 1, 0, 0)∗ . Rezultă că w1 = (−2, 1, 0, 0)∗ şi w1∗ Aw1 = 1, de unde
5 −2 0 0 0 0 −13 0
−2 1 0 0 0 0 5 −2
C2 = , D2 = .
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
Luăm v2 = (0, 0, 1, 0)∗ . Rezultă că w2 = (−13, 5, 1, 0)∗ şi w2∗ Aw2 = 1, de unde
174 −67 −13 0 0 0 0 39
−67 26 5 0 0 0 0 −17
C3 = , D3 = .
−13 5 1 0 0 0 0 −3
0 0 0 0 0 0 0 1
Luăm v3 = (0, 0, 0, 1)∗ . Rezultă că w3 = (39, −17, −3, 1)∗ şi w3∗ Aw3 = 1, de unde
1695 −730 −130 39 0 0 0 0
−730 315 56 −17 0 0 0 0
C4 = , D4 = .
−130 56 10 −3 0 0 0 0
39 −17 −3 1 0 0 0 0
17
Exemplul -1.18 Fie
1 0 −1
0 1 0
T = cu rang(T ) = 2 şi H0 = 0.
1 1 −1
1 2 −1
1
1
0
Luăm y1 = T ∗ ∗ = 0 (avem y1 − H0 T y1 = y1 = 0. Atunci w1 =
0
−1
0
2
0
y1 − H0 T y1 = y1 şi T w1 = . Rezultă că
T w1
2 = 12, iar w1 (T w1 )∗ =
2
2
2 0 2 2
0 0 0 0 . Deci
−2 0 −2 −2
1/6 0 1/6 1/6
w1 (T w1 )∗
H1 = H0 + 2 = 0 0 0 0 .
T w1
−1/6 0 −1/6 −1/6
0
0 −1/2
1
Luăm y2 = T ∗ ∗ = 1 (avem y 2 − H1 T y2 = 1 = 0. Atunci
0
0 1/2
0
18
−1
1
2
w2 = y2 − H1 T y2 şi T w2 = . Rezultă că
T w2
= 3, iar w2 (T w2 )∗ =
0
1
1/2 −1/2 0 −1/2
−1 1 0 1 . Deci
−1/2 1/2 0 1/2
1/3 −1/6 1/6 0
w2 (T w2 )∗
H2 = H1 + 2 = −1/3 1/3 0 1/3
T w2
−1/3 1/6 −1/6 0
În concluzie
1/3 −1/6 1/6 0
T+ = H2 = −1/3 1/3 0 1/3
−1/3 1/6 −1/6 0
.
Luând e1 = (1; 0; −1)∗ , e2 = (0; 1; 0)∗ (bază în R(T ∗ )) obţinem f1 = (2; 0; 2; 2)∗ , f2 =
(0; 1; 1; 2)∗ . Atunci
1 1
x1 = √ (1; 0; −1)∗ , y1 = √ (1; 0; 1; 1)∗
2 3 3
În continuare
1
e2 = e2 − f2 , y1 x1 = (−1; 2; 1)∗ şi f2 = T e2 = (−1; 1; 0; 1)∗
2
19
Atunci
1 1
x2 = √ (−1; 2; 1)∗ , y2 = √ (−1; 1; 0; 1)∗
2 3 3
Rezultă că
2 −1 1 0
+ 1
T = x1 y1∗ + x2 y2∗ = −2 2 0 2
6
−2 1 −1 0
20
−5/16 −1/6
1
H1 b2 = 5/8 , u1 := (I − H1 T )w1 = 1/3 , deci
v1 , T w1
5/16 1/6
1/3 −1/6 1/6 0
+
T = H2 := H1 + u1 · v1∗ = −1/3 1/3 0 1/3 .
−1/3 1/6 −1/6 0
Metoda Danilevsky
.
21
1 0 0 0 −3 2 3 −2
0 1 0 0 −5 4 6 −4
−1
S3 = ⇒ A1 = S3 A0 S3 = ,
3 2 1 −2 22 −11 2 0
0 0 0 1 0 0 1 0
1 0 0 0
2 −1 2
0
11 11
S2 = ⇒ A2 =
0 0 1 0
0 0 0 1
2 37
1 − −2
11 11
−11 2 0 0
−1
= S2 A1 S2 = ,
0 1 0 0
0 0 170
1 2
− 11 11 0 0 3 0 −37 22
0 1 0 0 1 0 0 0
−1
S1 = ⇒ A3 = S1 A S
2 1 ,
0 1 0 0
0 0 1 0
0 0 0 1 0 0 1 0
Deci polinomul caracteristic este:
Metoda Krylov
22
folosind metoda Krylov.
1
2
Alegem pentru aplicarea metodei Krylov vectorul y (0) = şi calculăm
3
4
−16 8
−21 −209
y (1) = Ay (0) = , y (2) = Ay (1) = ,
−5 −197
11 −154
1621 9210
164 4902
y (3) = Ay (2) − , y (4) = Ay (3) = .
−456 5571
−393 10992
Coefienţii polinomului caracteristic se obţin rezolvâd sistemul:
1621 8 −16 1 p1 9210
164 −209 −21 2 p2 4902
= .
−456 −197 −5 3 p 5571
3
−393 −154 11 4 p4 10992
9
−45
Folosind o metodă de rezolvare a sistemelor liniare , obţinem p = şi polino-
369
885
mul caracteristic este:
Metoda Leverrier
23
Exemplul -1.23 Determinaţi, folosind metoda Leverrier, polinomul caracteristic şi
matricea A−1 , dacă există, pentru matricea
11 0 −3 12
−9 −5 2 5
A= ,
2 −4 15 −11
2 6 −7 10
s1 = 31 , p1 = −31 ,
- pentru k = 2:
139 84 −162 285
−40 47 12 −105
A2 = A2 = , s2 = 705 , p2 = 128 ,
66 −106 288 −271
−26 58 −169 231
- pentru k = 3:
1019 1938 −4674 6720
−1049 −913 1129 −1427
A3 = A3 = ,
7714 −2248 5807 −5616
−684 1772 −3958 4147
s3 = 10060 , p3 = 2609 ,
- pentru k = 4:
−2141 49326 −116331 140532
−3918 −8513 28245 −43842
A4 = A4 = ,
39468 −45684 116779 −110709
−23094 31854 −82803 85660
s4 = 191785 , p4 = −12761 ,
24
şi polinomul caracteristic este:
0.0570 −0.0522 −0.0028 −0.0454
−0.0753 −0.0314 0.0794 0.1934
= .
−0.0060 0.0412 0.1103 0.1079
0.0296 0.0581 0.0302 0.0686
Exemplul -1.24 Calculaţi coeficienţii polinomului caracteristic şi matricea A−1 , dacă
există, pentru matricea
11 1 −3 2
−9 −5 12 5
A= ,
2 −4 5 −11
2 16 −7 10
A1 = A ,
−10 1 −3 2
−9 −26 12 5
p1 = −tr(A1 ) = −21 , B1 = A1 + p1 I4 = ,
2 −4 −16 −11
2 16 −7 −11
25
- pentru k = 2
−121 29 13 38
169 153 −260 −230
A2 = AB1 = ,
4 −90 −57 50
−158 −226 228 51
−134 29 13 38
169 140 −260 −230
1
p2 = − tr(A 2)
= −13 , B2 = A2 + p2 I4 = ,
4 −90 −70 50
−158 −226 228 38
- pentru k = 3
−1633 277 549 114
−381 −3171 1483 1598
A3 = AB2 = ,
814 1534 −1792 828
828 668 −1364 −3574
1757 277 549 114
−381 219 1483 1598
1
p3 = − tr(A 3)
= 3390 , B3 = A3 + p3 I4 = ,
814 1534 1598 828
828 668 −1364 −184
26
- pentru k = 4
18160 0 0 0
0 18160 0 0
A4 = AB3 = ,
0 0 18160 0
0 0 0 18160
0 0 0 0
0 0 0 0
1
p4 = − tr(A 4)
= −18160 , B4 = A4 + p4 I4 = .
0 0 0 0
0 0 0 0
0.0968 0.0153 0.0302 0.0063
1 −0.0210 0.0121 0.0817 0.0880
A−1 = − B3 = .
p4 0.0448 0.0845 0.0880 0.0456
0.0456 0.0368 −0.0751 −0.0101
Metoda coeficienţilor nedeterminaţi
27
Avem p4 = −2703. Se obţine sistemul
1 1 1 334
8 4 2 p= 482
27 9 3 372
Metoda rotaţiilor
Se verifică imediat că matricea A este simetrică. Se aleg p < q astfel încât
Atunci p = 1, q = 3. Se calculează
1 2 · apq π
θ= · arctan = .
2 app − aqq 6
Se ia
cos θ 0 − sin θ
T = 0 1 0
sin θ 0 cos θ
28
şi se calculează matricea
20 0 0
t
B = T AT = 0 8 4
0 4 8
Atunci p = 2, q = 3. Se calculează
π
θ= deoarece bpp = bqq .
4
Se ia
1 0 0
T = 0 cos θ − sin θ
0 sin θ cos θ
şi se calculează matricea
20 0 0
B = T t AT == 0 12 0
0 0 4
Ecuaţii neliniare în Rm
Principiul contracţiei
29
Folosind principiul contracţiei în raport cu norma
·
∞, să se arate că sistemul
(3) are soluţie unică v în V := [0, 2]3 . Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (1, 1, 1) să se calculeze iterata x(n) (din principiul contracţiei) pentru care
x(n) −
v
∞ ≤ ε.
deci
F (x, y, z)
∞ = max((|3x2 − 2x| + | − 3z| + | − 3y|)/100, (|4z| + | − 3y 2 | +
| − 2z + 4x|)/86, (| − 5y| + |2y − 5x| + |3z 2 |)/72) ≤ max(28/100, 32/86, 36/72) =
= 1/2 (am folosit 0 ≤ x, y, z ≤ 2). Putem lua q = 1/2. Pe de altă parte
F (a) − a
∞ =
max(28/100, 24/86, 35/72) = 35/72 < (1 − q)r = 1/2. Deci F este 1/2-contracţie a
mulţimii V în raport cu norma
·
∞ . Din principiul contracţiei rezultă că ecuaţia
F (x, y, z) = (x, y, z) are soluţie unică în V .
Pentru x(0) = (1, 1, 1) se calculează x(n) cu formula de recurenţă x(n) = F (x(n−1) ),
∀ n ∈ N. Se opreşte procesul iterativ atunci când q/(1 − q)
x(n) − x(n−1)
∞ < ε.
Metoda Gauss-Seidel neliniară
30
Folosind metoda Gauss-Seidel neliniară, să se arate că sistemul (4) are soluţie unică
v în V := [−2, 2] × [−1, 1] × [0, 1]. Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (0, 0, 1/2) să se calculeze iterata x(n) pentru care
x(n) − v
∞ ≤ ε.
deci
F (x, y, z)
∞ = max((|4x3 | + |4y 3 + 2yz 2 | + | − 8z 3 + 2y 2 z|)/234, (| − 4x3 + 6xz 2 | +
|8y 3 | + | − 12z 3 + 6x2 z|)/432, (|8x3 − 2xy 2 + 3| + | − 12y 3 − 2x2 y + 1| + |16z 3 |)/324) ≤
max(48/234, 88/432, 108/234) = 1/3 (am folosit −2 ≤ x ≤ 2, −1 ≤ y ≤ 1, 0 ≤ z ≤ 1).
Putem lua q = 1/3. Pe de altă parte |f (x, y, z) − a1 | ≤ (|432| + |x4 | + |y 4 | + |2z 4 | +
|y 2 z 2 |)/234 ≤ 452/234 < 2, |g(x, y, z)−a2 | ≤ (|324|+|x4 |+|2y 4 |+|3z 4 |+|3x2 z 2 |)/432 ≤
357/432 < 1 şi |h(x, y, z) − a3 | ≤ (|234| + |2x4 | + |3y 4 | + |4z 4 | + |x2 y 2 | + |3x| + |y|)/324 ≤
122/324 < 1/2, ∀ (x, y, z) ∈ V . Deci F (V ) ⊂ V şi F este 1/3-contracţie a mulţimii V în
raport cu norma
·
∞ . Din principiul contracţiei rezultă că ecuaţia F (x, y, z) = (x, y, z)
ar soluţie unică în V .
(n) (n) (n)
Pentru x(0) = (0, 0, 1/2) se calculează x(n) = (x1 , x2 , x3 ) cu formula de recurenţă
(n) (n) (n) (n−1) (n−1) (n) (n) (n) (n−1)
x1 = f(x(n−1) ), x2 = g(x1 , x2 , x3 ), x3 = h(x1 , x2 , x3 ) ∀ n ∈ N. Se
opreşte procesul iterativ atunci când q/(1 − q)
x(n) − x(n−1)
∞ < ε.
Metoda lui Newton
31
Exemplul -1.29 Fie sistemul de ecuaţii
x3 + 3xy 2 + 3xz 2 − 183x + 2 = 0
y 3 + +3x2 y + 3yz 2 − 193y + 1 = 0 (5)
z 3 + 3x2 z + 3y 2 z − 188(z − 1) − 1 = 0
Folosind metoda Newton relativă la norma
·
∞ , să se arate că sistemul (5) are soluţie
unică v în V := [−1, 1]2 × [0, 2]. Pentru o eroare ε dată şi pentru iterata iniţială
x(0) := (0, 0, 1) să se calculeze iterata x(n) , pentru care
x(n) − v
∞ ≤ ε.
Fie r = 1 şi a = (0, 0, 1). Atunci mulţimea V este Br (a) în raport cu norma
·
∞ . Fie funcţia F = (f, g, h) : V → R3 cu f (x, y, z) := x3 + 3xy 2 + 3xz 2 − 183x + 2,
g(x, y, z) := y 3 ++3x2 y+3yz 2 −193y+1 şi h(x, y, z) := z 3 +3x2 z+3y 2 z−188(z−1)−1 =
0, ∀ (x, y, z) ∈ V . Sistemul de ecuaţii (5) este echivalent cu F (x, y, z) = 0.
Avem F (x, y, z) =
3x2 + 3y 2 + 3z 2 − 183 6xy 6xz
6xy 3x2 + 3y 2 + 3z 2 − 193 6yz ,
6xz 6yz 3x2 + 3y 2 + 3z 2 − 188
6x 6y 6z 6y 6x 0 6z 0 6x
F (x, y, z) = 6y 6x 0 6x 6y 6z 0 6z 6x ,
6z 0 6x 0 6z 6y 6x 6y 6z
deci
F (x, y, z)
∞ ≤ max(|18x| + |12y| + |12z|, |12x| + |18y| + |12z|, |12x| + |12y| +
|18z|) ≤ max(54, 54, 60) = 60 (am folosit −1 ≤ x, y ≤ 1, 0 ≤ z ≤ 2). Putem lua
−180 0 0
M = 60. Avem F (a) = 0
−190 0 , deci F (a) inversabilă, (F (a))−1 =
0 0 −185
−1/180 0 0
0 −1/190 0 şi
(F (a))−1
∞ = max(1/180, 1/190, 1/185) = 1/180.
0 0 −1/185
32
Luăm α = 1/180. Cum M rα = 60/180 < 1 şi α/(1 − M Rα) = 1/120, putem
lua µ = 120. Avem F (a) = (2, 1, 0)t şi (F (a))−1 F (a) = (−1/90, −1/190, 0)t , deci
(F (a))−1 F (a)
∞ = 1/90. Luă m β = 1/90. Condiţia β ≤ (1 − q)r implică q ≤ 89/90.
Din
F (x, y, z)
∞ ≤ max(|x3 | + |3xy 2 | + |3xz 2 | + |183x| + 2, |y 3 | + |3x2 y| + |3yz 2 | +
|193y| + 1, |z 3 | + |3x2 z| + |3y 2 z| + |188(z − 1)| + 1) ≤ max(201, 210, 209) = 210 rezultă
că (M/µ2 )
F (x, y, z)
∞ ≤ q⇔q ≥ 210/240 = 7/8. Din M r/µ ≤ q rezultă q ≥ 1/2.
Deci putem lua q = 7/8 şi atunci ecuaţia F (x, y, z) = 0 are o soluţie unică în V .
Pentru x(0) = (0, 0, 1) se calculează x(n) cu formula de recurenţă (5) (folosind la
fiecare pas o procedură de inversare a matricei (F (x(n) ))−1 ). Se opreşte calculul iterativ
n n
atunci când (2µ)/M · q2 ≤ ε ⇔4 · (7/8)2 ≤ ε.
Metoda lui Newton simplificata
Fie r := 0, 2 = 1/5 şi a := (1, 1, 1). Atunci mulţimea V este Br (a) în raport cu
norma
·
∞ . Fie funcţia F = (f, g, h) : V → R3 cu f (x, y, z) := x2 + y 2 + z 2 + x +
y + z − 853/144, g(x, y, z) := 3x2 − 4y 2 + z 2 + x − y − 3z + 1309/432 şi h(x, y, z) :=
5x2 + 2y 2 − 3z 2 + 2x − 4y − 6z + 37/9, ∀ (x, y, z) ∈ V . Sistemul de ecuaţii (6) este
echivalent cu F (x, y, z) = 0.
33
Avem
2x + 1 2y + 1 2z + 1
F (x, y, z) = 6x + 1 −8y − 1 2z − 3 ,
10x + 2 4y − 4 −6z − 6
2 0 0 0 2 0 0 0 2
F (x, y, z) = 6 0 0 0 −8 0 0 0 2 ,
10 0 0 0 4 0 0 0 −6
deci
F (x, y, z)
∞ ≤ max(|2|+|2|+|2|, |6|+|−8|+|2|, |10|+|4|+|−6|) = 20, ∀ (x, y, z) ∈
3 9 3
V . Putem lua M = 20. Avem F (a) = 7 −9 −1 , cu det(F (a)) = 72, deci
12 0 −12
9 3 2
1
F (a) inversabilă, (F (a))−1 = 6 −6 2 şi
(F (a))−1
∞ = max(14/72, 14/72, 16/72) =
72
9 3 −4
2/9. Luă m α = 2/9. Avem F (a) = (11/144, 13/432, 1/9)t şi (F (a))−1 F (a) =
(1/72, 1/144, 1/216)t , deci
(F (a))−1 F (a)
∞ = 1/72. Luăm β = 1/72. Condiţia
β ≤ (1 − q)r implică q ≤ 67/72. Din αM r ≤ q rezultă q ≥ 8/9. Deci putem lua
q = 8/9 şi atunci ecuaţia F (x, y, z) = 0 are o soluţie unică în V .
Pentru x(0) = (1, 1, 1) se calculează x(n) cu formula de recurenţă (6). Se opreşte
calculul iterativ atunci când q/(1 − q) ·
x(n) − x(n−1)
∞ ≤ ε.
Interpolare polinomială
Formula lui Lagrange
Exemplul -1.31 Utilizând formula lui Lagrange de reprezentare să se determine poli-
nomul de interpolare de grad 2 ce verifică condiţiile:
34
Din curs rezultă că:
Avem:
(x − 1)(x − 4) x2 − 5x + 4
L1 (x) = = ,
(0 − 1)(0 − 4) 4
x(x − 4) x2 − 4x
L2 (x) = = ,
(1 − 0)(1 − 4) −3
x(x − 1) x2 − x
L3 (x) = = .
(4 − 0)(4 − 1) 12
Atunci:
x2 − 5x + 4 x2 − 4x x2 − x 1 3
P (x) = 2 · +1· +4· = x2 − x + 2.
4 −3 12 2 2
Nodurile sunt x1 = 0, x2 = 4, x3 = 12. Atunci P11 (x) = f(0) = 6, P12 (x) = f (4) =
10, P13 (x) = f (12) = 6. Rezultă că
10x − 6(x − 4)
P22 (x) = = x + 6,
4
6x − 6(x − 12)
P23 (x) = =6
12
şi astfel
x2 3x
P (f; 0, 4, 12; x) = P33 (x) = − + + 6.
8 2
35
√
Exemplul -1.33 Fie funcţia f : [0, 12] → R cu f(x) = 6 2x + 1 − 2x, ∀ x ∈ [0, 12].
Să se determine polinomul de interpolare Lagrange P (f ; 0, 4, 12; x) utilizând algoritmul
Neville.
Nodurile sunt x1 = 0, x2 = 4, x3 = 12. Atunci P11 (x) = f(0) = 6, P12 (x) = f (4) =
10, P13 (x) = f (12) = 6. Rezultă că
10x − 6(x − 4)
P22 (x) = = x + 6,
4
6(x − 4) − 10(x − 12) x
P23 (x) = = − + 12
8 2
şi astfel
x2 3x
P (f; 0, 4, 12; x) = P33 (x) = − + +6
8 2
36
vom organiza într-un tabel de forma:
9 3 7
P (f ; 0, 0, 0, 4, 4; x) = 6 + 4x − 3x2 + x − x3 (x − 4).
16 64
M5 3
|f (x) − P (f ; 0, 0, 0, 4, 4; x)| ≤ |x (x − 4)2 | ∀ x ∈ [0, 4],
5!
37
unde M5 = sup |f (5) (x)|. Avem f (3) (x) = 18(2x + 1)−5/2 , f (4) (x) = −90(2x + 1)−7/2 ,
x∈[0,4]
f (5) (x) = 630(2x + 1)−9/2 . Cum f (6) (x) = −630 · 9(2x + 1)−11/2 < 0, rezultă că f (5) este
descrescătoare şi cum f (5) (x) > 0 ∀ x ∈ [0, 4] rezultă că M5 = f (5) (0) = 630. Atunci
630 3 21
|f(x) − P (x)| ≤ |x (x − 4)2 | = x3 (x − 4)2 , ∀ x ∈ [0, 4].
120 4
Formula lui Newton de interpolare ascendentă
(De exemplu ∆1h f (x0 ) = ∆h f (x0 ) = f(x1 )−f(x0 ) = 3−1 = 2, ∆2hf (x0 ) = ∆1h ∆h f (x0 ) =
∆h f (x1 ) − ∆h f (x0 ) = ∆1hf (x1 ) − ∆1h f (x0 ) = 5 − 2 = 3, etc.) Atunci ∆0hf (x0 ) = 1,
∆1h f (x0 ) = 2, ∆2hf (x0 ) = 3, ∆3h f(x0 ) = 4.
x − x0 x−4 x−4
Fie x ∈ R Avem q = = şi atunci Cq0 = 1, Cq1 = q = , Cq2 =
h 2 2
q(q − 1) (x − 4)(x − 6) q(q − 1)(q − 2) (x − 4)(x − 6)(x − 8)
= , Cq3 = = . Rezultă
2 8 6 48
că: P (f ; x0 , x1 , x2 , x3 ; x) =
3
3 4
Cqi ∆ihf (x0 ) = 1 + (x − 4) + (x − 4)(x − 6) + (x − 4)(x − 6)(x − 8)
i=0
8 48
şi deci
9 1 39
P (f ; x0 , x1 , x2 , x3 ; 7) = 1 + 3 + − = = 4.875 .
8 4 8
38
Formula lui Newton de interpolare descendentă
(De exemplu ∇1h f (x0 ) = ∇h f(x0 ) = f (x0 ) − f (x−1 ) = 20 − 8 = 12, ∇2h f(x0 ) =
∇1h ∇h f (x0 ) = ∇h f (x0 ) − ∇h f (x−1 ) = ∇1hf (x0 ) − ∇1h f (x−1 ) = 12 − 5 = 7, etc.) Atunci
∇0h f (x0 ) = 20, ∇1h f(x0 ) = 12, ∇2h f (x0 ) = 7, ∇3h f (x0 ) = 4.
x − x0 x − 10
Fie x ∈ R. Avem q = = şi atunci
h 2
1 x − 10 −q(−q − 1) (x − 10)(x − 8)
0
C−q = 1, C−q = −q = − , C−q
2
= = , C−q
3
=
2 2 8
−q(−q − 1)(−q − 2) (x − 10)(x − 8)(x − 6)
= . Rezultă că:
6 48
3
P (f ; x0 , x−1 , x−2 , x−3 ; x) = (−1)i C−q
i
∇ih f (x0 ) =
i=0
12 7 4
= 20 + (x − 10) + (x − 10)(x − 8) + (x − 10)(x − 8)(x − 6)
2 8 48
şi deci
21 1 39
P (f ; x0 , x−1 , x−2 , x−3 ; 7) = 20 − 18 + + = = 4.875 .
8 4 8
39
Exemplul -1.37 Să se determine, folosind formula de interpolare Gauss înainte, poli-
nomul Lagrange ataşat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,
x1 = 8, x2 = 10) şi f : R → R o funcţie continuă cu f (x−2 ) = −2, f (x−1 ) = 1,
f (x0 ) = 3, f (x1 ) = 8, f (x2 ) = 20 şi să se estimeze valoarea funcţiei f în punctul
x = 7.
Avem: f (x0 ) = 3, ∆1h f(x0 ) = 5, ∆2hf (x−1 ) = 3, ∆3h f (x−1 ) = 4, ∆4hf (x−2 ) = 0. Cum
x−6 x−6 q(q − 1) (x − 6)(x − 8)
q = rezultă că Cq1 = q = , Cq2 = = , Cq+1
3
=
2 2 2 8
(q + 1)q(q − 1) (x − 4)(x − 6)(x − 8)
= . Atunci:
6 48
P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =
40
x−6 (x − 6)(x − 8) (x − 4)(x − 6)(x − 8)
=3+5 +3 +4
2 8 48
şi
5 3 1 39
f(7) P (f ; x−2 , x−1 , x0 , x1 , x2 ; 7) = 3 + − − = = 4.875 .
2 8 4 8
Exemplul -1.38 Să se determine, folosind formula de interpolare Gauss înapoi, poli-
nomul Lagrange ataşat datelor: n = 2, x0 = 6, h = 2 (de unde x−2 = 2, x−1 = 4,
x1 = 8, x2 = 10) şi f : R → R o funcţie continuă cu f (x−2 ) = −2, f (x−1 ) = 1,
f (x0 ) = 3, f (x1 ) = 8, f (x2 ) = 20 şi să se estimeze valoarea funcţiei f în punctul
x = 7.
41
Avem: f (x0 ) = 3, ∆1h f (x−1 ) = 2, ∆2h f (x−1 ) = 3, ∆3hf (x−2 ) = 4, ∆4hf (x−2 ) = 0. Cum
x−6 x−6 (q + 1)q (x − 4)(x − 6)
q = , rezultă că Cq1 = q = , Cq+1
2
= = , Cq+1
3
=
2 2 2 8
(q + 1)q(q − 1) (x − 4)(x − 6)(x − 8)
= . Atunci:
6 48
P (f ; x−2 , x−1 , x0 , x1 , x2 ; x) =
în t = 2, luând h = 0.5.
y 1
Avem f (t, y) = y 2 − − 2 , t0 = 1 şi y0 = 0.75 . Se obţine N = 2 şi yn+1 =
t 4t
yn + 0.5f (tn , yn ), pentru n = 0, 1 . Deci rezultă:
Metode Runge-Kutta
42
Exemplul -1.40 Se dă problema Cauchy:
y = y2 − y − 1 , t ∈ [1, 2.9]
t 4t2
y(1) = 0.75
Să se determine valoarea aproximativă a soluţiei în t = 2.9, folosind metoda şi RK24 ,
pentru N = 2.
y0,1 = y0 = 1 , t0,1 = t0 = 1 ,
y0,2 = y0 = 1 + 0.95f(t0,1 , y0,1 )/2 = 0.8812 , t0,2 = t0 + 0.95/2 = 1.4750 ,
y0,3 = y0 = 1 + 0.95f(t0,2 , y0,2 )/2 = 1.0305 , t0,3 = t0 + 0.95/2 = 1.4750 ,
y0,4 = y0 = 1 + 0.95f(t0,3 , y0,3 ) = 1.2360 , t0,4 = t0 + 0.95 = 1.9500 ,
y1 = y0 + 0.95(f(t0,1 , y0,1 ) + 2f (t0,2 , y0,2 ) + 2f (t0,3 , y0,3 ) + f (t0,4 , y0,4 ))/6 =
1 + 0.95(−0.2500 + 2 · 0.0642 + 2 · 0.2484 + 0.8281)/6 = 1.1905
t1 = t0 + h = 1.9500
- pentru n = 2:
43
l
Exemplul -1.41 Folosind metoda Adams-Bashforth pentru r = 3, determinaţi soluţia
aproximativă a problemei Cauchy:
y = y2 − y − 1 , t ∈ [1, 2.25]
t 4t2
y(1) = 0.75
y 1
Avem h = 0.25 şi f (t, y) = y 2 − − 2 . Aplicând metoda Euler progresivă se
t 4t
obţine:
t0 = 1 , y0 = 0.75 , f0 = f (t0 , y0 ) = −0.4375 ,
t1 = 1.25 , y1 = 0.6406 , f1 = f (t1 , y1 ) = −0.2621 ,
t2 = 1.5 , y2 = 0.5751 , f2 = f (t2 , y2 ) = −0.1638 ,
t3 = 1.75 , y3 = 0.5342 , f3 = f (t3 , y3 ) = −0.1015 ,
şi, în continuare, cu metoda Adams-Bashforth pentru r = 3, rezultă:
h
t4 = 2 , y4 = y3 + (55f3 − 59f2 + 37f1 − 9f0 ) = 0.5166 ,
24
f4 = f (t4 , y4 ) = −0.0539 ,
h
t5 = 2.25 , y5 = y4 + (55f4 − 59f3 + 37f2 − 9f1 ) = 0.5096 ,
24
f5 = f (t5 , y5 ) = −0.0162 .
44