Equazioni non lineari - DISMA Dipartimento di Scienze Matematiche

Premessa
Metodo di bisezione
Metodo di Newton
Equazioni non lineari
Stefano Berrone
Dipartimento di Matematica
tel. 011 0907503
[email protected]
http://calvino.polito.it/~sberrone
Laboratorio di modellazione e progettazione materiali
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Trovare il valore x ∈ R tale che
f (x) = 0,
f : R 7→ R
Soluzioni (i valori di x per cui f (x) = 0) sono dette zeri o radici.
Quante soluzioni?
1
0 (x 2 + 1 = 0)
2
1 (2x + 3 = 0)
3
1 con molteplicità m = 2 (x 2 − 4x + 4 = (x − 2)2 = 0)
4
2 (x 2 − 5x + 6 = 0)
5
∞ ( x1 + sin(x) = 0)
6
...
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
In generale non esiste una formula risolutiva
metodi diretti ma solo iterativi
non esistono
Avremo due aspetti da analizzare:
1
Convergenza si/no
2
Velocità di convergenza (quando il metodo converge)
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Il caso non lineare presenta diverse criticità rispetto al caso lineare
Non lineare
Lineare
1
2
Convergenza non dipende
da scelta x0
Se metodo converge, limite
è sicuramente soluzione
(consistenza)
Stefano Berrone
1
Convergenza dipende in
modo critico da scelta x0
2
Metodi possono convergere
a punti che non sono le
soluzioni cercate (es. se ho
più soluzioni e voglio
approssimarne una in
particolare)
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Qualunque metodo si intenda applicare, sarà sempre necessario
effettuare uno studio preliminare della funzione in modo da
localizzare le eventuali radici, i.e. determinare un intervallo
(possibilmente piccolo) che contenga una e una sola radice
(sperabilmente quella che vogliamo approssimare).
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Metodo di bisezione
Teorema (esistenza degli zeri per funzioni continue)
Se f ∈ C [a, b] e f (a)f (b) < 0, ∃c ∈ (a, b) t.c. f (c) = 0
In realtà posso solo dire che esistono in (a, b) un numero dispari di
radici. Su questo teorema si basa il semplicissimo metodo di
bisezione.
Sia [a, b] l’intervallo in cui si è isolata la radice x ∗ e m = a+b
2 .
Ho due possibilità (escludendo il caso fortuito f (m) = 0)
Se f (m) è discorde con f (a), x ∗ ∈ [a, m]
Se f (m) è discorde con f (b), x ∗ ∈ [m, b]
In entrambi i casi, ovviamente x ∗ continua ad essere l’unica radice
nel nuovo intervallo di ampiezza dimezzata. E procedo
iterativamente dimezzando ad ogni passo l’ampiezza
dell’intervallo...
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
1
2
0
Dato [a0 , b0 ]; x0 = a0 +b
2
Per k = 0, 1, 2, ..., kmax
1
2
Se f (ak )f (xk ) < 0 poni ak+1 = ak , bk+1 = xk ,
altrimenti poni ak+1 = xk , bk+1 = bk
k+1
Poni xk+1 = ak+1 +b
(approx corrente della soluzione)
2
Errore? xk è il punto medio dell’intervallo corrente [ak , bk ]
ek = |xk − x∗ | ≤
b k − ak
bk−1 − ak−1
b 0 − a0
=
= . . . = k+1
2
4
2
Quindi limk→∞ ek = 0 indipendentemente dall’intervallo iniziale
[a0 , b0 ].
Definizione
Il metodo di bisezione è globalmente convergente, poichè la
convergenza è sempre garantita, qualunque sia la stima iniziale
della soluzione.
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Stima dell’errore
Supponiamo di voler garantire un errore assoluto inferiore ad una
certa tolleranza .
Nel metodo di bisezione è possibile stabilire il numero massimo di
iterazioni necessarie a soddisfare tale richiesta.
Infatti se garantiamo
b0 − a0
<
2k+1
i.e. k + 1 ≥ log2 (
b0 − a0
)
avremo sicuramente anche ek ≤ .
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Velocità di convergenza
Definizione
Sia {xk } una successione convergente a un limite x ∗ . Sia
ek = |xk − x ∗ |. Se esistono p ≥ 1 e una costante c > 0 (c < 1 se
p = 1) tale che
ek+1
lim
p =c
k→∞ ek
(i.e. asintoticamente ek+1 = O(ekp )) allora si dice che la
successione converge con ordine p.
1
p = 1 convergenza lineare
2
p = 2 convergenza quadratica
3
1 < p < 2 convergenza superlineare
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Osservazione
Se c’è convergenza lineare, limk→∞ ek+1 /ek < 1. Quindi (teorema
della permanenza del segno) asintoticamente l’errore deve
diminuire in modo monotono (ek+1 < ek ).
Metodo di bisezione non garantisce decrescita monotona dell’errore
velocità di convergenza meno che lineare! (sublineare)
Metodo bisezione quindi globalmente convergente ma molto
lento
Sfrutta solo il segno della funzione.
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Metodo di Newton o delle tangenti
Il metodo di Newton sfrutta informazioni sia sul valore di f (x)
che di f 0 (x)
Sia xk la stima corrente della soluzione di f (x) = 0
Approssimiamo localmente f con la retta tangente passante
per il punto (xk , f (xk )):
rk (x) = f (xk ) + f 0 (xk )(x − xk )
e prendiamo lo zero di tale retta come approssimazione dello
zero della funzione
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
xk+1 t.c. rk (xk+1 ) = 0:
f (xk ) + f 0 (xk )(xk+1 − xk ) = 0
xk+1 = xk −
f (xk )
,
f 0 (xk )
k = 0, 1, . . .
Richiede ad ogni passo f (xk ) e f 0 (xk )
Se f 0 (xk ) = 0 per qualche k il procedimento si blocca
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Velocità di convergenza
Teorema
Sia f ∈ C 2 in un intorno della soluzione x ∗ . Se la successione {xk }
generata dal metodo di Newton converge a x ∗ e f 0 (x ∗ ) 6= 0, allora
l’ordine di convergenza è almeno 2, p ≥ 2. (Abbiamo p = 2 se
f 00 (x ∗ ) 6= 0, altrimenti p > 2)
Richiede ad ogni passo f (xk ) e f 0 (xk )
Se f 0 (xk ) = 0 per qualche k il procedimento si blocca
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
È un procedimento globalmente convergente?
Esempio
f (x) = arctan(x)
Banalmente la soluzione è x ∗ = 0
Applichiamo il metodo di Newton con tre stime iniziali diverse:
x0 = 1,
x0 = 1.3917,
x0 = 1.46
Apparentemente tutte e tre ragionevolmente vicine alla soluzione
esatta.
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
x0 = 1
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
x0 = 1.3917
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
x0 = 1.46
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Teorema
Sia f ∈ C 2 [a, b] chiuso e limitato. Se:
1
2
3
4
f (a)f (b) < 0
f 0 (x) > 0 ∀x ∈ [a, b] o f 0 (x) < 0 ∀x ∈ [a, b] (non si azzera
mai in [a, b])
f 00 (x) ≥ 0 ∀x ∈ [a, b] o f 00 (x) ≤ 0 ∀x ∈ [a, b] (non cambia
segno in [a, b])
f (a) f (b) <
b
−
a
e
f 0 (a) f 0 (b) < b − a
allora f (x) = 0 ha un’unica radice x ∗ in [a, b] e il metodo di
Newton converge a x ∗ ∀x0 ∈ [a, b].
Stefano Berrone
Equazioni non lineari
Premessa
Metodo di bisezione
Metodo di Newton
Teorema (Teorema degli estremi di Fourier)
Sia f ∈ C 2 [a, b] chiuso e limitato. Se:
1
f (a)f (b) < 0
2
f 0 (x) 6= 0 ∀x ∈ [a, b]
allora la radice x ∗ ∈ [a, b] esiste ed e‘ unica, inoltre se
4
f 00 (x) 6= 0 ∀x ∈ [a, b]
5
f (x0 )f 00 (x0 ) > 0 ∀x0 ∈ [a, b]
allora il metodo di Newton converge a x ∗ .
Stefano Berrone
Equazioni non lineari