Sei sulla pagina 1di 54

EQUAZIONI E SISTEMI DI EQUAZIONI

NON LINEARI

Letizia SCUDERI

Dipartimento di Scienze Matematiche, Politecnico di Torino


letizia.scuderi@polito.it

A.A. 2019/2020

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 1 / 54
Equazioni non lineari

Consideriamo anzitutto il seguente problema: la ricerca delle soluzioni o


radici di un’equazione non lineare

f (x) = 0

ovvero dei valori α tali che f (α) ≡ 0.


Ricordiamo che non sempre è possibile risolvere analiticamente
un’equazione non lineare.
Inoltre, quand’anche ciò fosse possibile, la sua risoluzione potrebbe
risultare complicata.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 2 / 54
Esempio
Le seguenti due equazioni non lineari non sono risolvibili con metodi
analitici:

f (x) = x 3 + 4x 2 − 10 = 0 e f (x) = xe −x − e −3 = 0

La rappresentazione grafica di f consente di dedurre che la prima


equazione (figura a sinistra) ammette una radice reale e due complesse e
coniugate; la seconda (figura a destra) ammette due radici reali.

60 0.5

50 0

40 -0.5

30 -1

20 -1.5

10 -2

0 -2.5

-10 -3
0 0.5 1 1.5 2 2.5 3 -2 0 2 4 6 8 10

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 3 / 54
In queste situazioni e quando non si conosce l’espressione analitica di f ma
si conosce soltanto il valore numerico f (x) che f assume in un qualunque
punto x, si rende necessario l’utilizzo di un metodo numerico in grado di
restituire un valore approssimato delle radici dell’equazione assegnata
(indipendentemente dalla complessità della funzione f ).

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 4 / 54
I metodi numerici per il calcolo delle radici di un’equazione non lineare
sono di tipo iterativo:
a partire da un valore x0 si determina una successione di valori {xn } che,
sotto opportune condizioni, converge a una radice α dell’equazione
assegnata
lim xn = α
n→∞

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 5 / 54
Per stimare la rapidità di convergenza di un metodo si introduce la
seguente definizione.
Definizione
Si definisce ordine di convergenza di una successione {xn } convergente
a α, il numero reale p ≥ 1 tale che

|α − xn+1 |
lim = C 6= 0, +∞
n→∞ |α − xn |p

Inoltre,
se p = 1, C < 1, la convergenza si dice lineare;
se 1 < p < 2, la convergenza si dice superlineare;
se p = 2, la convergenza si dice quadratica;
se p = 3, la convergenza si dice cubica.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 6 / 54
Definizione
Se la successione {xn } definita da un metodo per la risoluzione di
un’equazione f (x) = 0 ha ordine di convergenza p, allora si dice che il
metodo ha ordine di convergenza p.

Osservazione
Osserviamo che, se un metodo ha ordine di convergenza p, allora per n
sufficientemente grande si ha

|α − xn+1 | ≈ C |α − xn |p

e, conseguentemente,

|α − xn | ≈ 10−k ⇒ |α − xn+1 | ≈ C 10−kp

Pertanto, per n sufficientemente grande, se xn ha k decimali corretti, il


numero di decimali corretti presenti in xn+1 è dell’ordine di kp.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 7 / 54
La convergenza talvolta dipende dalla scelta del valore iniziale x0 .
Esistono infatti i teoremi di convergenza “locale” che garantiscono la
convergenza del metodo solo se x0 è “sufficientemente vicino” a α.
I teoremi di convergenza “globale” invece garantiscono la convergenza del
metodo per ogni scelta del punto iniziale x0 appartenente a un intervallo
(non necessariamente di ampiezza “piccola”) contenente la radice α.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 8 / 54
Pertanto è importante partire da un valore iniziale x0 che risulti una prima
approssimazione della radice α.
Per effettuare una “buona” scelta del valore iniziale x0 si può procedere
con la rappresentazione grafica della funzione f (x), oppure con la
determinazione di un intervallo di ampiezza “piccola” contenente α.
A tal scopo risulta utile il seguente teorema.

Teorema
Se f ∈ C ([a, b]) e f (a)f (b) < 0, cioè f (x) assume valori di segno opposto
agli estremi dell’intervallo [a, b], allora esiste almeno un punto α ∈ (a, b)
tale che f (α) ≡ 0.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 9 / 54
Metodo di bisezione

Nel caso di radici semplici, un intervallo di ampiezza “piccola” contenente


α può essere individuato mediante il metodo di bisezione.
Tale metodo consiste nel partire dall’intervallo (a0 , b0 ), per il quale risulta
f (a0 )f (b0 ) < 0, e nel costruire una successione di intervalli (an , bn ) di
ampiezza sempre più piccola e contenenti la radice α.
Gli intervalli successivi (an , bn ), n = 1, 2, ... vengono individuati con la
seguente strategia.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 10 / 54
Supponiamo f (a0 ) < 0 e f (b0 ) > 0. Dato (an−1 , bn−1 ), determiniamo il
punto medio
an−1 + bn−1
mn =
2
e calcoliamo f (mn ). Se f (mn ) = 0 allora α = mn , altrimenti poniamo:

(mn , bn−1 ) se f (mn ) < 0
(an , bn ) =
(an−1 , mn ) se f (mn ) > 0

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 11 / 54
Esempio
La figura mostra le prime due iterazioni del metodo di bisezione applicato

all’equazione x 4 − 4 = 0 per il calcolo della radice reale positiva α = 2, a
partire dai valori a0 = 1 e b0 = 2.5.

45

40

35

30

25

20

15

10

5 a0=a1
0

-5
a2 b1=b2 b0

-10
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 12 / 54
Cosı̀ facendo ad ogni passo si determina un intervallo di ampiezza
dimezzata rispetto alla precedente contenente la radice α:
bn−1 − an−1 bn−2 − an−2 b 0 − a0
b n − an = = 2
= ... =
2 2 2n
Se come stima della radice α prendiamo mn+1 , si ha

bn − an b 0 − a0
|α − mn+1 | < = n+1
2 2
La convergenza del metodo è dunque garantita ma è lenta. A ogni passo
l’errore al massimo si dimezza rispetto al passo precedente

|α − mn+1 | 1

|α − mn | 2

e quindi la convergenza è soltanto lineare.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 13 / 54
Osservazioni
Questo metodo non garantisce una progressiva riduzione dell’errore,
ma solo un dimezzamento dell’ampiezza dell’intervallo al quale la
radice appartiene. Per questo motivo, se si usa come solo criterio di
arresto quello basato sull’ampiezza dell’intervallo, possono venire
inavvertitamente scartate approssimazioni accurate della radice.
Questo metodo non tiene conto dell’andamento della funzione: esso
non converge alla soluzione in un solo passo neppure se f è lineare, a
meno che l’intervallo di partenza non sia simmetrico rispetto alla
radice.
Questo metodo non tiene conto dei valori della funzione ma soltanto
dei segni.
Questo metodo viene generalmente utilizzato per inizializzare metodi
più rapidamente convergenti.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 14 / 54
Prima di analizzare ulteriori metodi per la risoluzione di equazioni non
lineari, descriviamo i criteri che generalmente si utilizzano per arrestare i
procedimenti iterativi definiti dai suddetti metodi.
Un criterio consiste senz’altro nel fissare un massimo numero di iterazioni
nmax. Un altro criterio si basa sulla bontà dell’approssimazione xn+1 e
consiste nel fissare una tolleranza assoluta (relativa) tol e nell’arrestare il
processo quando

|xn − xn+1 | ≤ tol (|xn − xn+1 | ≤ tol |xn+1 |)

Tale criterio potrebbe risultare non affidabile quando la convergenza è


soltanto lineare.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 15 / 54
Un altro criterio consiste nel fissare una tolleranza ftol e nell’arrestare il
metodo non appena
f (xn ) ≤ ftol

Questo criterio potrebbe portare a degli inconvenienti nelle due seguenti


situazioni:

f(xn)

xn
xn

f(xn)

Nella figura a sinistra la quantità |xn − α| è “piccola” ma il valore f (xn ) è


“grande”; invece, nella figura a destra, |xn − α| è “grande” ma f (xn ) è
“piccolo”.
L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 16 / 54
Metodo delle secanti

Il metodo delle secanti rappresenta un primo modo naturale di utilizzare


i valori della funzione, oltre che il segno.
Infatti, in tale metodo, si considera come approssimazione della funzione
f , nell’intervallo (an , bn ), la retta interpolante i punti (an , f (an )) e
(bn , f (bn )) anziché, come nel metodo di bisezione, i punti (an , sgn(f (an )))
e (bn , sgn(f (bn ))).
Risolvendo poi la corrispondente equazione lineare, si ottiene la nuova
approssimazione della radice.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 17 / 54
Pertanto, il metodo parte da x0 e x1 e genera una successione di valori
xn+1 con n = 1, 2, . . ., ottenuti come l’intersezione della retta passante per
i punti (xn−1 , f (xn−1 )) e (xn , f (xn )) con l’asse delle ascisse :

metodo delle secanti


3.5

2.5

1.5

0.5

xn+1
0
xn−1 α xn

−0.5

−1

−1.5
0.8 1 1.2 1.4 1.6 1.8 2 2.2

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 18 / 54
Per ricavare la formula iterativa del metodo, partiamo allora da
(
y = f (xn ) + f (xxnn)−f (xn−1 )
−xn−1 (x − xn )
y =0

e deduciamo
xn − xn−1
xn+1 ≡ x = xn − f (xn ) , n = 1, 2, . . .
f (xn ) − f (xn−1 )

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 19 / 54
Teorema di convergenza locale
Sia f (x) tale per cui tutte le successive approssimazioni xn generate dal
metodo delle secanti appartengano all’intervallo [a, b] e sia α una radice
semplice di f (x) = 0 in [a, b].
Se f ∈ C 2 ([a, b]), x0 , x1 ∈ [a, b] e |α − x0 |, |α − x1 | sono sufficientemente
piccoli, allora lim xn = α.
n→∞
Inoltre l’ordine di convergenza del metodo delle secanti è

1+ 5
p= ≈ 1.618
2
.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 20 / 54
Function Matlab
function [x,n,ier] = secanti(f,x0,x1,nmax,tol)
ier = 0;
for n = 1:nmax
x = x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
if abs(x-x1) <= tol
ier = 1;
break
end
x0 = x1;
x1 = x;
end

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 21 / 54
Esempio

Determiniamo la radice α = 2 ≈ 1.414213562373095 dell’equazione
f (x) = x 4 − 4 = 0 mediante il metodo delle secanti. Scegliendo x0 = 1,
x1 = 2, nmax = 100, tol = 1.0e − 10, si ha:

n xn |xn+1 − xn | |α − xn |
1 2.000000000000000 8.00e − 01 5.86e − 01
2 1.200000000000000 1.11e − 01 2.14e − 01
3 1.310661764705882 1.32e − 01 1.04e − 01
4 1.442979105271929 3.21e − 02 2.88e − 02
5 1.410915551310193 3.20e − 03 3.30e − 03
6 1.414114438843506 9.95e − 05 9.91e − 05
7 1.414213909809020 3.47e − 07 3.47e − 07
8 1.414213562336565 3.65e − 11 3.65e − 11

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 22 / 54
Metodo delle tangenti

Nel metodo delle tangenti o di Newton-Raphson si utilizza, quando la


funzione è derivabile, la derivata di f per adattare il metodo iterativo alla
particolare funzione e ottenere una più rapida convergenza.
In tale metodo, si considera come approssimazione della funzione f , la
retta tangente il grafico di f nel punto (an , f (an )) e si risolve la
corrispondente equazione lineare per ottenere una nuova approssimazione
della radice.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 23 / 54
Il metodo parte da x0 e genera una successione di valori xn+1 con
n = 1, 2, . . ., ottenuti come l’intersezione della retta tangente la curva
y = f (x) nel punto (xn , f (xn )) con l’asse delle ascisse:

metodo delle tangenti


3.5

2.5

1.5

0.5

α
0
xn+1 xn

−0.5

−1

−1.5
0.8 1 1.2 1.4 1.6 1.8 2 2.2

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 24 / 54
Pertanto, per ricavare la formula iterativa del metodo, partiamo da

y = f (xn ) + f 0 (xn )(x − xn )




y =0

e deduciamo
f (xn )
xn+1 ≡ x = xn − , n = 0, 1, 2, . . .
f 0 (xn )

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 25 / 54
Teorema di convergenza locale
Sia f (x) tale per cui tutte le successive approssimazioni xn generate dal
metodo delle tangenti appartengano all’intervallo [a, b] e sia α una radice
semplice di f (x) = 0 in [a, b].
Se f ∈ C 2 ([a, b]), x0 ∈ [a, b] e |α − x0 | è sufficientemente piccolo, si ha
lim xn = α.
n→∞

Inoltre, se α è una radice semplice, cioè f (α) = 0 e f 0 (α) 6= 0, l’ordine di


convergenza del metodo delle tangenti è

p=2

Se α non è semplice, cioè f (α) = 0 e f 0 (α) = 0, allora

p=1

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 26 / 54
Di seguito l’enunciato di un teorema di convergenza globale per il metodo
delle tangenti.
Teorema di convergenza globale
Se f ∈ C 2 ([a, b]) e se
1 f (a)f (b) < 0
2 f 0 (x) 6= 0 per ogni x ∈ [a, b]
3 f 00 (x) ≥ 0 oppure f 00 (x) ≤ 0 per ogni x ∈ [a, b]

f (a) f (b)
f 0 (a) < b − a e f 0 (b) < b − a
4

allora il metodo di Newton converge all’unica soluzione α in [a, b] per ogni


scelta di x0 ∈ [a, b].

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 27 / 54
Function Matlab
function [x,n,ier] = tangenti(f,fd,x0,nmax,tol)
ier = 0;
for n = 1:nmax
x = x0-f(x0)/fd(x0);
if abs(x-x0) <= tol
ier = 1;
break
end
x0 = x;
end

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 28 / 54
Esempio

Determiniamo la radice α = 2 ≈ 1.414213562373095 dell’equazione
f (x) = x 4 − 4 = 0 mediante il metodo delle tangenti. Scegliendo x0 = 1,
nmax = 100, tol = 1.0e − 10, si ha:

n xn |xn+1 − xn | |α − xn |
0 1.000000000000000 7.50e − 01 4.14e − 01
1 1.750000000000000 2.51e − 01 3.36e − 01
2 1.499088921282799 7.79e − 02 8.49e − 02
3 1.421153542275386 6.89e − 03 6.94e − 03
4 1.414264232528399 5.07e − 05 5.07e − 05
5 1.414213565096140 2.72e − 09 2.72e − 09
6 1.414213562373095 0.00e + 00 0.00e + 00

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 29 / 54
Metodo del punto fisso

Il problema del calcolo delle radici dell’equazione f (x) = 0, ovvero dei


valori
α : f (α) ≡ 0,
può essere riformulato (riscrivendo in maniera opportuna l’equazione
assegnata) nel problema equivalente del calcolo delle radici dell’equazione
x − g (x) = 0, ovvero dei valori

α: α − g (α) ≡ 0

Ciascun valore di α tale che α ≡ g (α) si definisce punto fisso della


funzione g (x).
Pertanto, il primo problema consiste nella ricerca delle radici della funzione
f (x), il secondo nella ricerca dei punti fissi della funzione g (x).

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 30 / 54
La funzione g (x) del secondo problema si definisce a partire dalla funzione
f (x).

Per esempio,
f (α) ≡ 0 =⇒ α + f (α) ≡ α ⇒ g (x) = x + f (x);
| {z }
g (α)
f (α) f (x)
f (α) ≡ 0 =⇒ α + ≡ α ⇒ g (x) = x +
| {z }k k
g (α)

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 31 / 54
Esempio
Le equazioni
(x 4 − 4)
x4 − 4 = 0 =x e x+
k
con k = −11 per esempio, sono equivalenti.

Pertanto possiamo determinare α = 2 sia come zero della funzione
f (x) = x 4 − 4, sia come punto fisso della funzione
g (x) = x − (x 4 − 4)/11. Graficamente si ha:
12 2

1.8
10
y=x
y=x4− 4 1.6
8
1.4

6
1.2

4
4 1 y=x − (x − 4)/11

0.8
2

0.6
0
α y=0 0.4

−2
0.2

α
−4 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 32 / 54
Il metodo del punto fisso consiste nel determinare α tale che g (α) ≡ α,
a partire da x0 e come limite della successione {xn } cosı̀ definita

xn+1 = g (xn ), n = 0, 1, 2, . . .

Osservazione
Osserviamo che se lim xn = α e g è continua, allora α = g (α).
n→∞

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 33 / 54
Osservazione
Osserviamo che il metodo delle tangenti è un particolare metodo del punto
f (x)
fisso; esso si ottiene per g (x) = x + con k = −f 0 (x).
k
Il metodo delle secanti non è invece un metodo del punto fisso in quanto
la generica iterata xn+1 non dipende dalla sola xn , ma anche da xn−1 .

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 34 / 54
Teorema di convergenza locale
Sia α un punto fisso di una funzione g di classe C 1 in un intorno I di α.
Se |g 0 (α)| < 1 e |α − x0 | è sufficientemente piccolo, allora per la
successione {xn } definita da xn+1 = g (xn ) si ha lim xn = α.
n→∞

Si dimostra che, se esiste un intorno I di α per il quale


|g 0 (x)| > 1, ∀x ∈ I, allora lim xn 6= α.
n→∞

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 35 / 54
Teorema di convergenza globale
Sia I un intervallo dell’asse reale. Se
1 g (x) ∈ I per ogni x ∈ I (cioè g (I) ⊆ I)
2 g ∈ C 1 (I)1
3 ∃m < 1 : |g 0 (x)| ≤ m per ogni x ∈ I
allora esiste uno e un solo punto fisso α di g in I e per xn+1 = g (xn ) si ha

lim xn = α per ogni x0 ∈ I


n→∞

Inoltre,
α − xn+1
lim = g 0 (α)
n→∞ α − xn

1
È sufficiente che la funzione g (x) risulti lipschitziana in I, ossia
|g (x1 ) − g (x2 )| ≤ m |x1 − x2 | per ogni coppia di punti x1 e x2 appartenenti a I
L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 36 / 54
Dimostrazione
L’ipotesi 1) e la continuità di g assicurano che la funzione di iterazione g
ammetta almeno un punto fisso α in I.
L’ipotesi 3) assicura l’unicità del punto fisso. Infatti se per assurdo
esistesse β ∈ I distinto da α e tale che g (β) = β, allora per il teorema di
Lagrange esisterebbe ξ appartenente all’intervallo di estremi α e β e quindi
appartenente a I tale che

|α − β| = |g (α) − g (β)| = |g 0 (ξ)||α − β| ≤ m|α − β|

Essendo m < 1 questa diseguaglianza è possibile solo se α = β.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 37 / 54
... continua dimostrazione
Partendo da un’approssimazione iniziale x0 ∈ I, si ha x1 = g (x0 ) ∈ I per
l’ipotesi 1). Per l’ipotesi 2) e il teorema di Lagrange risulta

α − x1 = g (α) − g (x0 ) = g 0 (ξ0 )(α − x0 )

con ξ0 punto non noto dell’intervallo di estremi α e x0 . Analogamente, si


ha che
α − x2 = g (α) − g (x1 ) = g 0 (ξ1 )(α − x1 )
...
α − xn = g (α) − g (xn−1 ) = g 0 (ξn−1 )(α − xn−1 )
con ξi , i = 1, ..., n − 1, punto dell’intervallo di estremi α e xi .
Si ha allora
|α − xn | = |g 0 (ξn−1 )||α − xn−1 | = |g 0 (ξn−1 )| |g 0 (ξn−2 )| |α − xn−2 | = ...
= |g 0 (ξn−1 )| |g 0 (ξn−2 )| · ... · |g 0 (ξ0 )| |α − x0 | ≤ mn |α − x0 |

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 38 / 54
... continua dimostrazione
Da quest’ultima diseguaglianza, in virtù dell’ipotesi 3), si ha la
convergenza della successione {xn } ad α.
Inoltre, da
α − xn+1 = g 0 (ξn )(α − xn )
poiché limn→∞ ξn = α (essendo ξn un punto dell’intervallo di estremi xn e
α e xn tende a α per n → ∞), dalla continuità di g 0 segue che
α − xn+1
lim = lim g 0 (ξn ) = g 0 (α).
n→∞ α − xn n→∞

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 39 / 54
Osservazione
Se g ∈ C k+1 (I) si ha:
00
xn+1 − α =g (xn ) − g (α) =   + g 0 (α)(xn − α) + g (α) (xn − α)2
g (α)

2
g (k) (α) g (k+1)
(ξ)
+ ... + (xn − α)k + (xn − α)k+1 − 
g (α)


k! (k + 1)!

Pertanto è immediato dedurre l’ordine p del metodo del punto fisso. Si ha:

Se g 0 (α) 6= 0, allora p = 1.
Se g 0 (α) = 0 e g 00 (α) 6= 0, allora p = 2.
Se g 0 (α) = ... = g (k−1) (α) = 0 e g (k) (α) 6= 0, allora p = k.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 40 / 54
Function Matlab
function [x,n,ier] = puntofisso(g,x0,nmax,tol)
ier = 0;
for n = 1:nmax
x = g(x0);
if abs(x-x0) <= tol
ier = 1;
break
end
x0 = x;
end

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 41 / 54
Esempio

Determiniamo la radice α = 2 ≈ 1.414213562373095 dell’equazione
f (x) = x 4 − 4 = 0 mediante due metodi del punto fisso:
i) xn+1 = xn + (xn4 − 4);
(x 4 − 4)
ii) xn+1 = xn − n .
11
Scegliendo x0 = 1, nmax = 100, tol = 1.e − 10, si ha:
i) ii) ii)
n xn xn |α − xn |
1 −2 1.272727272727273 1.41e − 01
2 10 1.397830500897231 1.64e − 02
3 104 1.414390239825487 1.77e − 04
4 1016 1.414208489661399 5.07e − 06
5 1064 1.414213707013457 1.45e − 07
6 1.414213558248080 4.13e − 09
7 1.414213562490736 1.18e − 10
8 1.414213562369740 3.36e − 12

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 42 / 54
Il diverso comportamento dipende dal fatto che risulta:
i) g (x) = x + (x 4 − 4) =⇒ |g 0 (x)| = |1 + 4x 3 | > 1 per ogni xq> 0;
4 −4) 3
ii) g (x) = x − (x 11 =⇒ |g 0 (x)| = |1 − 4x 11 | < 1 per x ∈ (0,
3 11
2 ).
q
Pertanto, posto I = (0, 3 11 2 ), il teorema precedente garantisce la
convergenza a partire da qualsiasi x0 ∈ I. Graficamente si ha:
metodo del punto fisso
2

1.8 y=x

1.6

1.4

1.2

0.8 y=x−(x4−4)/11

0.6

0.4

0.2

0
0 0.5 1 1.5 2

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 43 / 54
Di seguito la descrizione di due comandi Matlab : il primo per la
risoluzione di una generica equazione non lineare f (x) = 0, il secondo per
il calcolo delle radici della seguente equazione algebrica

c(1) x n + c(2) x n−1 + ... + c(n + 1) = 0

Comandi Matlab
r = fzero(f,x0,tol) calcola un’approssimazione r di una radice
dell’equazione f (x) = 0, con tolleranza assoluta tol e a partire
dall’approssimazione iniziale x0.
r = roots(c) calcola e memorizza in r gli zeri del polinomio i cui
coefficienti, a partire da quello del termine di grado massimo, sono
memorizzati in c.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 44 / 54
Sistemi di equazioni non lineari
Consideriamo ora il seguente problema: la ricerca delle soluzioni di un
sistema di equazioni non lineari

 f1 (x1 , x2 , ..., xn ) = 0


 f (x , x , ..., x ) = 0
2 1 2 n


 ...

fn (x1 , x2 , ..., xn ) = 0
che possiamo riscrivere nella forma più compatta
f(x) = o
avendo definito
f1 (x1 , x2 , ..., xn ) x1
   
 f (x , x , ..., x ) x 
 2 1 2 n   2
f(x) =   e x= 
 ...  ...
fn (x1 , x2 , ..., xn ) xn
L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 45 / 54
Metodo di Newton per sistemi

Alcuni dei metodi per la risoluzione di una singola equazione possono


venire generalizzati al caso di sistemi di equazioni non lineari.
Descriviamo il metodo di Newton.
(i) (i) (i)
Consideriamo un’approssimazione x(i) = (x1 , x2 , ..., xn )T della radice
α = (α1 , α2 , ..., αn )T . Supponiamo che ogni singola funzione fj (x) sia
derivabile due volte con derivate seconde parziali continue, in un intorno di
α contenente x(i) e consideriamo i seguenti sviluppi in serie di Taylor.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 46 / 54
    
(i) ∂f1 (i) ∂f1
f1 (x ) + (α1 − x1 )+ ... + (αn − xn(i) )


∂x1 x=x(i) ∂xn




 x=x(i)



 +termini ordine 2 = 0

    
 ∂f2 (i) ∂f2
 f2 (x(i) ) + (αn − xn(i) )

 (α1 − x1 )+ ... +
∂x1 x=x(i) ∂xn x=x(i)



 +termini ordine 2 = 0

...




    
∂fn ∂fn


(i) (i)
(αn − xn(i) )

 fn (x ) +
 (α1 − x1 )+ ... +
∂x ∂xn

1
 (i)

 x=x x=x(i)

+termini ordine 2 = 0

Trascurando i temini di ordine 2 otteniamo un sistema la cui soluzione, se


unica, non sarà α ma una sua approssimazione x(i+1) .

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 47 / 54
Denotando con
      
∂f1 ∂f1 ∂f1
 ∂x1 ...
 x=x(i) ∂x2 x=x(i) ∂xn x=x(i) 

    
 ∂f2 ∂f2 ∂f2
 
...

J(i)
 
 ∂x1 x=x(i) ∂x2 x=x(i)
= ∂xn x=x(i) 

 ... 
 
      
 ∂fn ∂fn ∂fn 
...
∂x1 x=x(i) ∂x2 x=x(i) ∂xn x=x(i)

la matrice Jacobiana del sistema, il metodo di Newton per sistemi di


equazioni non lineari è definito da, per i = 0, 1, 2, ...:

J(i) h(i) = −f(x(i) ) ⇒ h(i)


x(i+1) = x(i) + h(i)

Di conseguenza il metodo di Newton richiede a ogni passo la soluzione di


un sistema lineare con matrice J(i) .
L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 48 / 54
Nota un’approssimazione iniziale x(0) sufficientemente vicina alla soluzione
α, il processo iterativo determina una successione {x(i) } convergente ad α.
Come nel caso monodimensionale il metodo ha ordine di convergenza 2,
cioè
||α − x(n+1) ||
lim = C 6= 0, +∞
n→∞ ||α − x(n) ||2

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 49 / 54
Function Matlab
function [x,ier] = newton system(F,J,x,nmax,tol)
ier = 0;
for n = 1:nmax
[L,U,P] = lu(J(x));
y = L\(-P*F(x));
e n = U\y;
% oppure e n = -J(x)\F(x);
x = x + e n;
if norm(e n) <= tol*norm(x)
ier = 1;
break
end
end

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 50 / 54
I punti delicati del metodo di Newton sono:
determinazione della scelta del punto iniziale;
calcolo della matrice Jacobiana e sua valutazione a ogni passo (punto
dispendioso);
non singolarità della matrice Jacobiana e in caso di “quasi singolarità”
il sistema risulterebbe mal condizionato;
risoluzione a ogni passo di un sistema lineare (punto dispendioso).
Per ridurre il costo computazionale del metodo sono state proposte diverse
alternative:
approssimazione delle derivate con opportuni rapporti incrementali;
utilizzo della medesima matrice Jacobiana o di una sua
approssimazione per alcune fissate successive iterazioni, al fine di
mantenere la fattorizzazione PJ(i) = LU della matrice Jacobiana J(i)
per più iterate.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 51 / 54
Metodi iterativi per sistemi
Anche il metodo iterativo del punto fisso, definito per una singola
equazione non lineare, può essere generalizzato al caso di sistemi di
equazioni.
A tal scopo si riscrive il sistema
f(x) = o
nella forma
x = ϕ(x)
con
x = (x1 , x2 , ..., xn )T e ϕ(x) = (ϕ1 (x), ϕ2 (x), ..., ϕn (x))T

A partire da una approssimazione iniziale x(0) della soluzione α, si genera


mediante la formula iterativa
x(i+1) = ϕ(x(i) )
una successione di approssimazioni x(i) , i = 1, 2, ... convergente sotto
opportune condizioni alla soluzione α.
L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 52 / 54
Il teorema che segue fornisce le condizioni che assicurano la convergenza
del metodo iterativo e generalizza il teorema di convergenza globale per
una singola equazione.
Teorema di convergenza globale
Sia Sr (x(0) ) = {x ∈ R : ||x − x(0) || < r } un intorno dell’approssimazione
iniziale x(0) e sia J la matrice Jacobiana della funzione ϕ. Se
1 ∃ L < 1 : ||J(x)|| ≤ L ∀x ∈ S̄r (x(0) ) = {x ∈ R : ||x − x(0) || ≤ r }
2 ||ϕ(x(0) ) − x(0) || ≤ (1 − L)r
allora
tutte le approssimazioni x(i) generate dalla formula x(i+1) = ϕ(x(i) )
appartengono a Sr (x(0) )
il processo iterativo converge all’unica soluzione α presente in
S̄r (x(0) ) tale che α = ϕ(α)
Li
||α − x(i) || ≤ ||x(1) − x(0) ||
1−L

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 53 / 54
Di seguito un comando Matlab per la risoluzione di un sistema di
equazioni non lineare.

Comando Matlab
r = fsolve(f,x0) calcola un’approssimazione r di una soluzione del
sistema di equazioni f(x) = 0, a partire dall’approssimazione iniziale x0.

L. Scuderi (Politecnico di Torino) Equazioni e sistemi di equazioni non lineari A.A. 2019/2020 54 / 54