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