Documente Academic
Documente Profesional
Documente Cultură
CURS 2
METODE NUMERICE PENTRU SISTEME DE ECUAŢII NELINIARE
------------------------------------------------------------------------------------------------------------
0. Preliminarii: Norma unui vector si norma unei matrici (rapel).
1. Sisteme de ecuaţii neliniare. Definiţii.
2. Metoda punctului fix.
3. Metoda Newton; metode cvasi-Newton.
2. || λ ⋅ x || = | λ | ⋅ || x || , ∀λ = scalar ( λ ∈ R sau λ ∈ C ).
3. || x + y || ≤ || x || + || y ||
n
|| x ||1 = ∑ | xi | … norma-1
i =1
1/ 2
n
|| x ||2 = ∑ | xi |2 … norma-2 (norma euclidiană)
i =1
■
Fie An este mulţimea matricilor n × n cu elemente scalare (reale, complexe).
Norma unei matrici A ∈ An este o aplicaţie || . ||: An → R + , care satisface axiomele
1 – 3, şi în plus, următoarele:
4. || A ⋅ B || ≤ || A || ⋅ || B ||
5. || A ⋅ x || ≤ || A || ⋅ || x ||
Observaţie
Definiţia normei unei matrici, indusă de norma vectorului, este:
|| A ⋅ x ||
|| A || = sup
x ≠0 || x ||
Pentru detalii privind norma unui vector şi norma unei matrici, vezi Capitolul 4-I ■
Exemple de norme ale unei matrici:
|| A || ∞ = max ∑ | a ij | - norma liniilor
i
j
[
|| A ||2 = ρ ( A ∗ ⋅ A ) ] 1/ 2
- norma euclidiană,
1 Definiţii
Fie sistemul de ecuaţii neliniare
f 1 ( x1 , x 2 , ... , x n ) = 0
KK
f n ( x1 , x 2 , ... , x n ) = 0
f ( x) = 0 (1)
unde f : I → R n , I ⊂ R n . Explicit:
x1 0 f1 ( x)
x 0 f ( x)
2 2
x = . , 0 = . , f ( x) = . ,
. . .
x n 0 f n (x)
Pentru rezolvarea prin metoda punctului fix, sistemul (1) se va considera pus sub
forma:
x = g (x ) (2)
în care g : I → R n , I ⊂ R n ,
|| x || ∞ = max | xi | ; || A || ∞ = max ∑ | a ij | .
i i
j
x ( n +1) = g (x ( n ) ), n ≥ 0
Observaţie
Dacă g : C → C şi C ⊂ R n este un compact (mulțime mărginită și închisă), atunci
Teorema 1
Presupunem:
|| x − α || ∞ ≤ ρ .
∂g i (x)
max ∑ ≤ λ < 1 , ∀x ∈ I .
i
j ∂x j
Atunci, ∀x ( 0 ) ∈ I :
(a) Iteratele x ( n ) ∈ I .
(b) Şirul x ( n ) → α .
x2
x
ξ
ρ y
α
x1
Intervalul I din Condiția (2).
Sumarul demonstraţiei:
|| g(x) − g(y ) || ∞ ≤ λ ⋅ || x − y || ∞
Rezultă:
şi prin inducţie:
|| x ( n ) − α ||∞ ≤ λn ⋅ ρ
Observaţii
1) Matricea jacobian a funcţiei g:
∂g 1 ∂g1 ∂g 1
∂x ...
∂x 2 ∂x n
∂g i 1
G ( x) = = . . . . . . . . . . . . . . . . . . . . .
∂x j x ∂g
n ∂g n ... ∂g n
∂x1 ∂x 2 ∂x n x
2) Convergenţa liniară:
|| x ( n +1) − α || ∞ ≤ λ ⋅ || x ( n ) − α || ∞ .
∂g i
G( α ) = O ⇔ = 0; i, j = 1, 2, …, n
∂x j α
Atunci, ∃ρ > 0 astfel încât condiţia 3 sau 3' este satisfăcută. Dacă, în plus, derivatele
de ordinul 2 există şi sunt mărginite pe || x − α || ∞ ≤ ρ , adică:
∂ 2 gi
max ≤ M1 ,
i , j ,k ∂x j ∂x k
1 2
unde M = ⋅ n ⋅ M1 ,
2
Cu x = x ( n ) , g( x ( n ) ) = x ( n +1) , rezultă:
2
|| x ( n +1) − α ||∞ ≤ M ⋅ || x ( n ) − α ||∞
Considerăm sistemul dat sub forma f (x) = 0 şi vrem să-l transformăm într-un sistem
echivalent de forma x = g (x) .
g(x ) = x − A(x ) ⋅ f (x )
x = g(x ) ⇔ f (x ) = 0 .
g(x ) = x − A ⋅ f (x )
G ( x) = I − A ⋅ F ( x ) ,
∂f j
F ( x) = .
∂x k x
Explicit:
∂f 1 ∂f 1 ∂f 1
∂x ∂x ... ∂x
∂f 1 2 n
F ( x) = i = . . . . . . . . . . . . . . . . . . . . .
∂x j x
∂f n ∂f n ... ∂f n
∂x1 ∂x 2 ∂x n x
G( α ) = O .
Rezultă A ⋅ F (α ) = I , sau
A = [F (α )] .
−1
(3)
[
A = F(x ( 0) ) ] −1
. (4)
Iteraţia va fi definită de
x ( n +1) = x ( n ) − A ⋅ f (x ( n ) ) , (5)
Procedeul practic, care evită inversarea matricii F(x ( 0) ) , este următorul. Punem:
δx ( n +1) = x ( n +1) − x ( n ) ,
şi rezultă – pentru n ≥ 0 :
n +1 ≤ lnit (7b)
unde toleranţa eps şi numărul limită de iteraţii lnit, sunt alese dinainte. Procedeul este
util mai ales dacă actualizăm A după un număr de paşi, conform Observaţiei 1.
[
x ( n +1) = x ( n ) − F(x ( n ) ) ]
−1
⋅ f (x ( n ) ) .
3 Metoda Newton
Ecuaţii de forma f (x) = 0 .
Metoda
Căutăm A(x) , astfel ca metoda punctului fix pentru g să aibă ordinul doi. Condiţia
este – v. mai sus, G(α ) = O , sau
∂g i
=0, i, k = 1, 2, .., n .
∂x k x =α
det(F (α )) ≠ 0 .
det(F (x)) ≠ 0 .
Alegem atunci
A(x) = [F (x)] ,
−1
|| x − α || ≤ ρ ,
−1
g ( x ) = x − [F( x )] ⋅ f ( x )
[
x ( n +1) = x ( n ) − F( x ( n ) ) ]
−1
⋅ f (x ( n ) ) (6)
Propoziţie
Dacă f are derivate parţiale de ordinul 2, mărginite pe || x − α || ≤ ρ , şi x ( 0) este
suficient de apropiat de α, atunci metoda Newton are convergenţă pătratică ■
Notă
Ipotezele de mai sus, în particular det(F (α )) ≠ 0 , se poate înlocui cu altele – v . Cap.
3-IV, 3.1, Teorema 3. Astfel, metoda se poate aplica şi în cazul det(F (α )) = 0 . În
acest caz, convergenţa este liniară. ■
f i (x) sunt date numeric. În astfel de cazuri, derivatele se calculează numeric, prin
diferenţe divizate:
unde | h | este ‘mic’. Creşterea h poate constantă, sau poate fi variată de la un pas la
| h | ≤ C || f (x (k ) ) || ,
unde C este o constantă pozitivă, fixată dinainte (Ralston & Rabinowitz (1978)).
Metoda Newton este metoda descrisă de formula de iterare (6), care utilizează
jacobianul evaluat la fiecare pas x (n ) (analitic, sau numeric).
Dacă jacobianul F(x (n ) ) este înlocuit cu o aproximaţie a acestuia, metodele se zic
metode Newton-modificate sau metode cvasi-Newton.
A (l ) = F(x ( k ) ) - pentru l = k , K , k + (m − 1) .
Această schemă reduce viteza convergenţei, dar este economică la o rulare lungă.
f i (x) = 0, i = 1, 2, K, n
jurul lui x ( 0) :
n
∂f i
f i ( x) = f i ( x ( 0 ) ) + ∑ ( x j − x (j0) ) + K
j =1 ∂x j
x( 0 )
unde termenii nescrişi sunt de ordin mai mare sau egal cu doi în ( x j − x (j0 ) ) .
n
∂f i
f i ( x) ≈ f i ( x ( 0 ) ) + ∑ ( x j − x (j0) )
j =1 ∂x j
x( 0 )
∂f i
Notăm F ji = elementele jacobianului F al lui f, adică
∂x j
∂f 1 / ∂x1 L ∂f 1 / ∂x n F1 L Fn
1 1
F(x) = L L L = L L L
∂f n / ∂x1 L ∂f n / ∂x n F1n L Fnn
Desvoltarea devine
n
f i (x) ≈ f i (x ( 0 ) ) + ∑ F ji (x ( 0) )( x j − x (j0) ) ,
j =1
Sau, matriceal,
x1 − x10
x 2 − x 20
f i (x) = f i (x ( 0 ) ) + [ F1i F2i K Fni ]x ( 0 ) ⋅
M
0
x n − x n
Rezultă:
δx = x − x ( 0) .
Presupunând că aproximaţia x (1) este mai bună decât x ( 0) , atunci metoda constă în
aplicarea repetată a formulei (10), înlocuind, la pasul următor, x ( 0) cu x (1) .
∂f i ( x ( 0) , y ( 0) ) ∂f ( x ( 0) , y ( 0 ) )
z ≈ f i ( x (0 ) , y (0) ) + ( x j − x (j0 ) ) + i ( y j − y (j0) )
∂x ∂y
Intersecţiile planelor tangente cu planul x-y vor fi două drepte – care aproximează
curbele C1 şi C 2 . Intersecţia dreptelor este aproximaţia rădăcinii.
Exemplu
Fie sistemul de două ecuaţii neliniare:
f 1 ( x, y ) ≡ x 2 + y 2 − 5 = 0 , f 2 ( x, y ) ≡ y − e x − 1 = 0 .
x ( 0) = (−2, 1) , şi x ( 0) = (0.5, 2) .
x2 + y2 = 5 , y = e x +1.
2 ⋅ x 2 ⋅ y
F ( x, y ) = x .
− e 1
Luăm eps = 1E-6. Calculul este efectuat în simplă precizie. Soluţia calculată (x, y),
numărul de iteraţii, şi valorile lui f în soluţie, sunt date în tabelele de mai jos.
Observaţii
Derivatele parţiale ale funcţiilor f i sunt calculate numeric , cu h = 0.001. Numărul
de iteraţii pentru a doua rădăcină este mai mare decât cel pentru prima rădăcină,
întrucât aproximaţia iniţială (0.5, 2) este mai îndepărtată de rădăcină. Cu aproximaţia
x ( 0) = (0.2, 2.2), se găseşte aceeaşi soluţie în 8 iteraţii.
2) Metoda Newton:
Exerciţiu
Să se rezolve sistemul:
xy − z 2 = 2
2 2
− xyz − x + y = 4
e x − e y − z = 7
Să se găsească rădăcinile din vecinătatea punctelor w0 = (2, 2, − 1) şi w0 = (1, 1, 1) .
■