Risoluzione di equazioni non lineari

Documenti analoghi
Problema. Equazioni non lineari. Metodo grafico. Teorema. Cercare la soluzione di

Metodi per il calcolo degli zeri di funzioni non lineari

Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni

RISOLUZIONE APPROSSIMATA DI UN EQUAZIONE

1 Esercizi relativi al Capitolo 1

Il Metodo di Newton, o delle Tangenti Federico Lastaria, Analisi e Geometria 1. Politecnico di Milano Corso di Analisi e Geometria 1

Capitolo 3: Ottimizzazione non vincolata parte III. E. Amaldi DEI, Politecnico di Milano

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Esercizio 1. Esercizio 2

IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero

Equazioni, funzioni e algoritmi: il metodo delle secanti

Corso di Calcolo Numerico

I teoremi della funzione inversa e della funzione implicita

Metodi Numerici con elementi di Programmazione (A.A )

Equazioni non lineari

Equazioni non lineari

Facoltá di Scienze MM.FF.NN. Corso di Studi in Informatica- A.A

INTERPOLAZIONE. Introduzione

Calcolo Numerico con elementi di programmazione

Raccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia

Corso di Analisi Numerica - AN1. Parte 3: metodi iterativi per sistemi lineari ed. equazioni nonlineari. Roberto Ferretti

Ottimizzazione numerica

Cancellazione numerica e zeri di funzione. Dott. Marco Caliari

ISTITUTO SUPERIORE XXV APRILE LICEO CLASSICO ANDREA DA PONTEDERA classi 5A-5B PROGRAMMA DI MATEMATICA

Funzioni implicite - Esercizi svolti

DERIVATA DI UNA FUNZIONE REALE. In quanto segue denoteremo con I un intervallo di IR e con f una funzione di I in IR.

Universita degli Studi di Ancona - Facolta di Ingegneria Laurea in Ing. Elettronica (VO) Ing. Informatica e Automatica - Ing. delle Telecomunicazioni

1) Applicando la definizione di derivata, calcolare la derivata in x = 0 delle funzioni: c) x + 1 d)x sin x.

Teoremi di Fermat, Rolle, Lagrange, Cauchy, de l Hôpital

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE

Capitolo 1. Esercizi a.a Esercizi. Esercizio 1.1 Dimostrare che il metodo iterativo

Metodi iterativi per equazioni nonlineari.

1 prof. Claudio Saccon, Dipartimento di Matematica Applicata, () December 30, / 26

Esercizi svolti. a 2 x + 3 se x 0; determinare a in modo che f risulti continua nel suo dominio.

Teorema delle Funzioni Implicite

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore

Corso di Analisi Matematica Calcolo differenziale per funzioni di una variabile

Corso di Calcolo Numerico

Prova di ammissione al Dottorato di Ricerca in Matematica XXVIII ciclo. Universitá del Salento, 9 Aprile 2013

Calcolo differenziale 2: Massimi e minimi. Studio di una funzione. (M.S.Bernabei & H. Thaler)

Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011

Appunti di matematica per le Scienze Sociali Parte 1

Alcuni Teoremi sulle funzioni continue e uniforme continuità

Facoltà di Scienze MM.FF.NN. Corso di Studi in Matematica- A.A Corso di ANALISI NUMERICA 1: Esempi di esercizi svolti

Corso di Analisi Matematica

A.A Prof. R. Morandi

Calcolo Numerico per Ingegneria. Corso estivo di Bressanone. Prof. L. Bergamaschi SOLUZIONE DELLA PROVA SCRITTA del

Daniela Lera A.A

Laurea in Informatica Corso di Analisi Matematica Calcolo differenziale per funzioni di una variabile

Dimostrazione. Indichiamo con α e β (finiti o infiniti) gli estremi dell intervallo I. Poniamo

Le derivate parziali

Raccolta di esercizi di Calcolo Numerico

Relazione di laboratorio di Analisi Numerica: metodi di ricerca zeri

a) Il denominatore dev essere diverso da zero. Studiamo il trinomio x 2 5x + 6. Si ha: x 1,2 = 5 ± se x ], 2[ ]3, + [;

Alcuni esercizi in preparazione all appello scritto di Calcolo Numerico

Argomento 7. Studio di funzione

Corso di Laurea in Ingegneria, Settore Informazione (gruppi 2-3), A.A. 2007/2008 Docente: Antonio Ponno

Funzioni derivabili (V. Casarino)

Studi di funzione. D. Barbieri. Studiare comportamento asintotico e monotonia di. f(x) = 1 x x4 + 4x e x

Massimi e minimi relativi in R n

EQUAZIONI non LINEARI

Esercizi di Analisi Matematica I

ULTERIORI ESERCIZI SUL CALCOLO DIFFERENZIALE

y = x 3 infinitesimo per x 3 lim = l 0 allora f(x) è dello stesso ordine di g(x), ossia tendono a DEF. Una funzione y = f(x) si dice infinitesimo per

Esercizi 3. cos x ln(sin x), ln(e x 1 x ), ln( x 2 1), x sin x + x cos x + x, x 3 2x + 1. x 2 x + 2, x cos ex, x 2 e x.

Alcune nozioni di calcolo differenziale

Analisi Matematica 1 (Modulo) Prove Parziali A.A. 1999/2008

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

Corso di Analisi Matematica. Polinomi e serie di Taylor

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Serie Borlini Alex

a) Determinare il dominio, i limiti agli estremi del dominio e gli eventuali asintoti di f. Determinare inoltre gli zeri di f e studiarne il segno.

Calcolo differenziale 2: Massimi e minimi. Studio di una funzione. (M.S.Bernabei & H. Thaler)

Corso di Calcolo Numerico

Lezione 3 (2/10/2014)

BOZZA :26

Analisi Matematica I Primo Appello ( ) - Fila 1

Continuità di funzioni

Soluzioni dello scritto di Analisi Matematica II - 10/07/09. C.L. in Matematica e Matematica per le Applicazioni

ANALISI 1 - Teoremi e dimostrazioni vari

Massimi e minimi vincolati

Esercitazioni di Matematica

Concentriamo la nostra attenzione sull insieme dei numeri razionali Q. In Q sono definite

Esercizi di Complementi di Matematica (L-Z) a.a. 2015/2016

Calcolo del fattore di convergenza

MATEMATICA. a.a. 2014/15

Equazione della retta tangente al grafico di una funzione

Università degli Studi di Palermo Facoltà di Economia. Dipartimento di Scienze Economiche, Aziendali e Statistiche. Appunti del corso di Matematica

FUNZIONI ELEMENTARI, DISEQUAZIONI, NUMERI REALI, PRINCIPIO DI INDUZIONE Esercizi risolti

Annamaria Mazzia. Corso di Metodi Numerici per l Ingegneria dispense e altro materiale su

2. Costruire un M function file di Matlab che calcola il valore del

Punti di estremo e Teorema di Fermat

Metodi iterativi per sistemi lineari

TEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2.

Laboratorio di Matematica Computazionale A.A Lab. 4

Tutorato di Complementi di Analisi Matematica e Statistica Parte di Analisi 6 e 10 aprile 2017

Università Politecnica delle Marche - Facoltà di Ingegneria Ing. Informatica e Automatica - Ing. Logistica e Produzione

Introduzione al problema

Laboratorio di Calcolo Numerico A.A Laboratorio 4 Risoluzione di sistemi non lineari Metodo di punto fisso

Transcript:

Risoluzione di equazioni non lineari Si considera il problema di determinare la soluzione dell equazione f(x) = 0 ove f(x) è una funzione definita in un intervallo [a, b], chiuso e limitato. Ogni valore x [a, b] per cui f(x ) = 0 si dice RADICE dell equazione f(x) = 0 oppure ZERO della funzione f(x). Se non si hanno a disposizione strumenti analitici, il grafico di f(x) nell intervallo considerato può fornire in modo rapido una approssimazione della soluzione cercata. Risulta tuttavia preferibile disporre di metodi numerici in grado di fornire soluzioni con una accuratezza prefissata. Esempio. Supponiamo che una reazione chimica origini a un certo istante x una concentrazione di un particolare ione descritta dalla legge f(x) = 7.e 5x + 3.e x. Ci si chiede per quale istante x la concentrazione si dimezza rispetto a quella iniziale f(0) = 10, ossia quando f(x ) = 5. Si tratta di risolvere l equazione f(x) 5 = 0 in un intervallo [0, c] ove c è un valore per cui f(c) 5 < 0. Per esempio, per c = 1, f(c) 5 = 4.54. Dal grafico della funzione si deduce che x 0.18. Vale che f(0.18) 5 = 0.0610. L accuratezza può essere non soddisfacente. 5 4 3 1 f(x) 0 1 3 4 5 0 0.1 0. 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x

Metodo di bisezione La tecnica più semplice per determinare lo zero di una funzione continua in [a, b] che assume segno opposto agli estremi dell intervallo, consiste nella dimostrazione costruttiva del seguente teorema (è un corollario del Teorema del valor medio). Teorema degli zeri di una funzione continua. Sia f(x) una funzione continua in [a, b] chiuso e limitato e sia f(a).f(b) < 0. Allora esiste un punto x (a, b) tale che f(x ) = 0. Per determinare x si costruisce una successione di intervalli I 1 = [a 1, b 1 ], I = [a, b ],..., I k = [a k, b k ] tali che I k I k 1 I k... I 1 con f(a k ).f(b k ) < 0, k = 1,,... E a 1 = a, b 1 = b. La costruzione degli intervalli avviene nel seguente modo. Si pone a 1 = a, b 1 = b. Sia f(a 1 ) < 0 e f(b 1 ) > 0 (in caso contrario si determinano le radici di f(x) = 0). Al passo k si calcola c k = a k + b k k = 1,,... e il valore f(c k ). Se f(c k ) = 0, c k = x. Altrimenti si pone: [a k+1, b k+1 ] = { [ak, c k ] se f(c k ) > 0 [c k, b k ] se f(c k ) < 0

Pertanto è f(a k+1 ) < 0, f(b k+1 ) > 0 e I k+1 I k. b k+1 a k+1 = 1 (b k a k ) = 1 (b k 1 a k 1 ) =... = 1 k(b 1 a 1 ) Allora in I k+1 giace x che è la radice di f(x) = 0 e x = c k+1 ±ɛ k+1, ove ɛ k+1 1 k+1(b a) Pertanto, fissata ɛ tale che ɛ = 1 k+1(b a), il numero c k+1 è una approssimazione di x entro una tolleranza ɛ. Col metodo di bisezione è possibile determinare una successione di approssimazioni di x tali che c k x 1 k(b a) k 1 Per k, {c k } converge a x con velocità di convergenza pari a quella della successione { 1 k}. Il metodo fornisce un valore maggiorante dell errore. Da tale valore è possibile determinare il minimo numero di iterazioni k necessarie ad ottenere un errore assoluto che non supera una tolleranza ɛ prefissata. Infatti k è tale che 1 k(b a) ɛ k b a b a k log = log 10 b a ɛ ɛ ɛ log 10 Occorrono allora almeno k + valutazioni di funzione (1 per ogni iterazione + per il passo iniziale).

Esempio. Si vuole risolvere x 78.8 = 0 in [6, 1]. f(6) = 36 78.8 < 0 f(1) = 144 78.8 > 0 k a k b k c k f(c k ) 1 6 1 9. 6 9 7.5 -.55 3 7.5 9 8.5-10.7375 4 8.5 9 8.65-4.409375 5 8.65 9 8.815-1.139844 6 8.815 9 8.9065 0.51891 7 8.815 8.9065 8.859375-0.3114746 8 8.859375 8.9065 8.88813 0.1043579 8.88813 è una approssimazione della soluzione 8.876936408 tale che 8.88813 x 1 86 = 0.034 78.8 L errore assoluto è 0.00587... Occorrono 10 valutazioni di funzione. Esempio. Determinare il numero di iterazioni necessarie a risolvere x 3 + 4x 10 = 0 con una tolleranza ɛ = 10 5 in [1, ]. Deve essere 1 k(b a) 10 5 k b a 10 k log 5 10 5 16.6 Allora deve essere k almeno uguale a 17. Occorrono 17 + valutazioni di funzioni.

Osservazioni Se a e b sono valori molto vicini, operando con aritmetica finita, il calcolo di c con la formula a+b può fornire un numero esterno a [a, b]. Conviene calcolare il punto medio con la formula c = a + b a. Per esempio, se a = 0.983, b = 0.986, lavorando in artimetica finita con tre cifre di precisione decimale, si ha: fl(a + b) = fl(0.983 + 0.986) =.196 10 1 troncamento fl( a + b 101 ) = fl(.196 ) =.980 che è esterno all intervallo [.983,.986]. fl(b a) = fl(0.986 0.983) =.3 10 fl( b a 10 ) = fl(.3 ) =.150 10 fl(a + b a ) = fl(.983 +.150 10 ) = fl(.983 +.0015) = che è interno all intervallo [.983,.986]. Pur essendo f(a) e f(b) rappresentabili sulla macchina, può essere che il loro prodotto, calcolato per verificare il segno, non sia rappresentabile sulla macchina. E preferibile allora usare la funzione sign(x) per esaminare il segno di f(a) e di f(b), ove sign(x) = 1 x > 0 0 x = 0 1 x < 0 L algoritmo di bisezione realizzato in aritmetica finita può non avere fine. Se a k = 98.5 e b k = 98.6 e ɛ = 0.004 in aritmetica

con tre cifre decimali di precisione, il test b k a k < ɛ non è verificato. Ma c k = a k + b k a k = 98.5 + 0.1/ = 98.55, ma f l(98.55) = 98.5. Si genera una successione di iterati costanti. Occorre dunque usare il test b k a k < ɛ + eps.max( b, a ) (in modo che si eliminano inconvenienti dovuti al fatto di scegliere una tolleranza troppo piccola, inferiore relativamente rispetto alla precisione di macchina) e prevedere un massimo numero di iterazioni. Il metodo di bisezione ha la caratteristica positiva di convergere a uno zero di f(x) nella sola ipotesi di f(x) continua con segno opposto agli estremi. Tuttavia la convergenza è lenta (si guadagna una cifra decimale ogni 3 iterazioni circa se b a = 1 ). Pertanto spesso viene usato solo per individuare l intervallo entro cui cade lo zero di una funzione come tecnica di approssimazione iniziale. Una volta individuato tale intervallo (entro cui in genere valgono ipotesi più forti), si raggiungono approssimazioni migliori con metodi a convergenza più veloce.

Metodo delle approssimazioni successive Il problema di determinare lo zero di una funzione in genere non si risolve in un numero finito di passi. Si tratta di generare un procedimento iterativo. Esso comporta: determinazione di una approssimazione iniziale alla soluzione x di f(x) = 0; determinare una relazione funzionale a partire da f(x); a partire da x 0, generare, valutando la relazione funzionale determinata, una successione di iterati x k fino ad ottenere la precisione desiderata o fino a che si raggiunge un massimo numero di iterazioni. Occorre poi determinare le condizioni per cui {x k } converge per k. Se {x k } converge per ogni x 0 [a, b] si parla di convergenza globale; se invece si ha convergenza solo per gli x 0 appartenenti a un opportuno intervallo che contiene x, allora si parla di convergenza locale.

Il problema di cercare la radice di f(x) = 0 è strettamente connesso al problema di determinare la soluzione dell equazione x = g(x) ossia il valore x per cui x = g(x ). x si dice punto fisso di g(x). Infatti, data f(x) = 0 in [a, b], sia φ(x) una funzione che non si annulla ed è limitata in [a, b]: 0 < φ(x) < x [a, b] Preso g(x) = x φ(x)f(x), il problema f(x) = 0 x [a, b] è equivalente a trovare le soluzioni di x = g(x) x [a, b] Se infatti x è punto fisso di g(x), ossia x = g(x ), si ha che f(x ) = x g(x ) φ(x ) = 0 φ(x ) 0 Viceversa se f(x ) = 0, allora g(x ) = x φ(x )f(x ) = x Pertanto si riporta il problema di determinare lo zero di f(x) in [a, b] a quello di individuare il punto fisso di g(x) in [a, b]. Geometricamente questo significa calcolare l intersezione tra la retta y = x (bisettrice del I e III quadrante) e la funzione y = g(x). Una possibile scelta di φ(x) è φ(x) = ±1.

1.5 1 0.5 0 0.5 0 0.5 1 1.5

Teorema. Sia g(x) continua in [a, b] e tale che g(x) [a, b]. Sia L una costante 0 L < 1 tale che, per ogni x, y [a, b], vale che g(x) g(y) L x y (ossia g(x) è una contrazione in [a, b]). Allora esiste un unico punto fisso x di g(x) in [a, b]. Dimostrazione. (Esistenza). Sia h(x) = x g(x). Poichè g(x) [a, b], g(a) a e g(b) b. Se g(a) = a o g(b) = b, allora si è già trovato il punto fisso. In caso contrario, è g(a) > a e g(b) < b. Dunque, h(a) = a g(a) < 0 h(b) = b g(b) > 0 e poichè h(x) è continua, per il teorema degli zeri di una funzione continua, esiste x (a, b) tale che h(x ) = 0 e dunque x = g(x ). (Unicità). Supponiamo che ci siano due punti fissi x e y in [a, b]. Allora, se x y, segue x y = g(x ) g(y ) L x y < x y Ciò è assurdo. Se g(x) è derivabile in [a, b] con g (x) L < 1 per x [a, b], allora g(x) è una contrazione. Infatti per il teorema di Lagrange, esiste ξ [a, b], tale che g(x) g(y) x y = g (ξ) x < ξ < y Allora g(x) g(y) = g (ξ) x y L x y Il viceversa non è vero poichè g(x) può non essere differenziabile.

4 3.5 g(x) 3 b.5 1.5 1 a 0.5 a b 0 0 0.5 1 1.5.5 3 3.5 4 Occorre g(x) [a, b] 4 3.5 3 b g(x).5 1.5 1 a 0.5 a b 0 0 0.5 1 1.5.5 3 3.5 4 Occorre g(x) continua perchè ci sia un punto fisso 4 3.5 3 b g(x).5 1.5 1 a 0.5 a b 0 0 0.5 1 1.5.5 3 3.5 4 Occorre che g(x) non oscilli troppo, ossia che sia una contrazione, perchè ci sia un unico punto fisso.

Esempi. 1. g(x) = x in [0, 1] ha infiniti punti fissi. x è continua in [0, 1] e x [0, 1]. Ma g (x) = 1 per x [0, 1].. g(x) = x sin(πx) in [0, 1] ha due punti fissi x = 0 e x = 1. g(x) è continua in [0, 1]. Ma g(x) non appartiene a [0, 1] (g(1/) = 1/). 3. g(x) = (x 1)/3 in [ 1, 1]. g(x) è continua e g(x) [ 1, 1]. Inoltre g (x) = 3 x e g (x) 3 per x [ 1, 1]. Dunque esiste un unico punto fisso in [ 1, 1]. Esso è x 1 3 = x x 3x 1 = 0. Perciò x = 3 13. In [3, 4], g(x) ha un altro punto fisso x = 3+ 13. Ma g(x) non appartiene a [3, 4] e g (4) = 8/3 > 1. Qui non sono soddisfatte le ipotesi del teorema. Infatti queste sono solo condizioni sufficienti.

Data una approssimazione iniziale x 0 di x, punto fisso di g(x) in [a, b], si genera una successione di iterati mediante il metodo delle approssimazioni successive o del punto fisso o iterazione funzionale: x k+1 = g(x k ) Se g(x) è continua e la successione {x k } degli iterati è convergente per k a un punto x, allora x è punto fisso fi g(x). Infatti x = lim k x k+1 = lim k g(x k ) = g(lim k x k ) = g(x ) Dal punto di vista geometrico, il metodo dell iterazione funzionale equivale alla costruzione di una poligonale con lati orizzontali e verticali orientata nel piano xy. Le figure seguenti aiutano a individuare le condizioni da imporre a g(x) perchè i vertici della poligonale convergano a (x, g(x )).

4 3.5 3 b.5 g(x) 1.5 1 a 0.5 a x x1 x0 b 0 0 0.5 1 1.5.5 3 3.5 4 Convergenza monotona: {x k } converge a x approssimando sempre per eccesso o per difetto. 4 3.5 3 b g(x).5 1.5 1 a 0.5 a x0 0 0 0.5 1 1.5.5 3 3.5 4 x x3 x1 b Convergenza alternata: {x k } converge a x approssimando per eccesso e per difetto. 4 3.5 3 b g(x).5 1.5 1 a 0.5 a 0 0 0.5 1 1.5.5 3 3.5 4 g (x) > 1 4 b 3.5 g(x) 3 b.5 1.5 1 a 0.5 a 0 0 0.5 1 1.5.5 3 3.5 4 g (x) < 1 b

Per g (x) > 1 non c è convergenza.

Teorema di convergenza globale del metodo delle approssimazioni successive Sia g(x) una funzione definita in un intervallo [a, b]chiuso e limitato. Sia: g(x) continua in [a, b]; g(x) [a, b]; g(x) sia una contrazione in [a, b]. Allora per ogni x 0 [a, b], la successione delle approssimazioni successive {x k } con x k = g(x k 1 ), k = 1,,..., converge per k all unico punto fisso x di g(x) in [a, b]. Dimostrazione. Le ipotesi garantiscono l esistenza e l unicità di un unico punto fisso x della funzione g(x) in [a, b]. Poichè inoltre x k = g(x k 1 ), allora per ogni successione generata a partire da un punto x 0 [a, b], l iterato x k è ben definito, ossia x k [a, b], poichè g(x k 1 ) [a, b]. Si consideri: x k x = g(x k 1 ) g(x ) L x k 1 x = = L g(x k ) g(x ) L x k x... L k x 0 x Poichè 0 < L < 1, per k si ha lim k L k = 0 e dunque lim k x k = x. Si può trovare una maggiorazione dell errore, osservando che: x 0 x = x 0 x 1 + x 1 x x 0 x 1 + L x 0 x Da ciò x 0 x 1 L 1 x 1 x 0. Allora x k x Lk 1 L x 1 x 0 La velocità di convergenga dipende da L. Quanto più L è vicino a 1 quanto più la convergenza è lenta e viceversa.

Esempio. Si considerano vari modi di innescare un procedimento iterativo di punto fisso per poter trovare la soluzione della funzione x 3 + 4x 10 = 0 in [1, ]. Si considera come punto iniziale in tutti i casi x 0 = 1.5. (a). x = x x 3 4x + 10 = g 1 (x); (b). x = ( 10 x 4x) 1/ = g (x) (da x 3 = 10 4x )); (c). x = 1 (10 x3 ) 1/ = g 3 (x) (da x = 1 4 (10 x3 )); ( 1/ 10 (d). x = x+4) = g4 (x) (da x 3 + 4x = 10); (e). x = x x3 +4x 10 3x +8x = g 5 (x) (da x = x f(x) f (x) ). k (a) (b) (c) (d) (e) 1-0.875 0.8165 1.86953768 1.34839975 1.373333333 6.73.9969 1.40540804 1.36737637 1.3656015 3-469.7 ( 8.65) 1/ 1.345458374 1.364957015 1.36530014 4 1.08 10 8 impossibile 1.37517053 1.36564748 1.36530013... diverge...... 15 1.3653680 1.36530013...... 30 1.36530013 Non tutte le scelte portano a un metodo convergente (caso (a)) o ben definito (caso (b)). Tuttavia anche se il metodo è convergente, ci sono funzioni che portano a una più rapida convergenza di altre (con il metodo di bisezione sono necessarie 7 valutazioni di funzioni). (a). g 1 (x) = 1 3x 8x, g 1 (x) > 1 per x [1, ]; (b). g (x) è definita per 10/ x 10/ 1.581113; dunque g (x) non appartiene a [1, ]; x (c). g 3 (x) = 3 4 (10 x 3 ) 1/; dunque g 3 (x).113. Tuttavia se ci si restringe a [1, 1.5], 1.8 g 3 (x) 1.5 e max [1,1.5] g 3 (x) = g 3 (1.5) 0.6556 < 1;

(d). g 4 (x) = 1 x+4 10, per cui g 4 (x) 0.15; la convergenza è più rapida che nel caso (c); (e). g 5 (x) = 6x4 +3x 3 +3x 60x 80 (3x +8x) ; in [1, ], g 5 (x) 0.6. Tuttavia g 5 (x) è il metodo a convergenza più rapida. Ciò dipende dal fatto che in [1, 1.5], g 5 (x) 0.11. Invece g 4 (x) 0.13. Da ciò segue la più veloce convergenza del caso (e) rispetto a (d).

Spesso è difficile verificare la condizione: per x [a, b], g(x) [a, b] che è essenziale nel teorema di convergenza globale; in tal caso è utile un teorema di convergenza locale che assicura la convergenza di {x k } a un punto fisso x di g(x) se x 0 è sufficientemente vicino a x. E necessario sapere a priori che x è un punto fisso di g(x), ossia che g(x) ha un punto fisso. Teorema di convergenza locale. Sia x un punto fisso di g(x); si suppone che g(x) sia continua e sia una contrazione per ogni x [x ρ, x + ρ] = I ρ. Allora, per ogni x 0 I ρ, la successione degli {x k } è ben definita, ossia x k I ρ e converge per k a x. Inoltre x è l unico punto fisso di g(x) in I ρ. Dimostrazione. Per ipotesi x 0 Iρ e dunque x 0 x ρ Preso g(x 0 ) = x 1, x 1 x = g(x 0 ) g(x ) L x 0 x Lρ < ρ poichè L < 1. Supposto ora che x,..., x k Iρ, si dimostra che ciò vale anche per x k+1 : x k+1 x = g(x k ) g(x ) L x k x Lρ < ρ La successione è ben definita. Inoltre, x k x L x k 1 x L x k x... L k x 0 x L k ρ Per k, lim k L k = 0 e dunque x k è convergente a x. Supposto per assurdo che y sia un punto fisso di g(x) in Iρ diverso da x, si ha che: x y = g(x ) g(y ) L x y < x y Ciò è assurdo.

Anche in questo caso si prova che: x k x Lk 1 L x 1 x 0

Propagazione degli errori nel metodo delle approssimazioni successive Poichè si opera in aritmetica finita anzichè su numeri reali, è impossibile calcolare esattamente la funzione g(x) per x assegnato. Piuttosto, per x assegnato, si calcola una approssimazione di g(x), data da a(x) = g(x) + δ(x) ove δ(x) è l errore commesso. Di solito è nota una maggiorazione di tale errore δ(x) δ. Pertanto operando in aritmetica finita, il metodo delle approssimazioni successive diventa: w k+1 = a(w k ) = g(w k ) + δ k k = 0, 1,,... ove w k è il k esimo iterato ottenuto operando con numeri finiti e δ k δ. In generale la successione dei w k non converge. Tuttavia è possibile determinare, sotto opportune condizioni, una approssimazione di x tanto più accurata quanto più δ è piccolo. Teorema. Sia x un punto fisso di g(x) e supponiamo che, in un intervallo I ρ = [x ρ, x + ρ], g(x) sia continua e sia contrattiva; allora, per ogni w 0 I ρ0 = [x ρ0, x +ρ0], con ρ0 = ρ δ 1 L, con δ δ k, la successione dei w k, ottenuta da w k = g(w k 1 ) + δ k 1 è tale che: e i w k appartengono a I ρ. w k x δ 1 L + Lk (ρ0 δ 1 L ) Nella diseguaglianza il primo termine è indipendente da k e può essere grande se L è prossimo a 1; il secondo termine tende a 0 per k. Pertanto non si ha più convergenza della successione degli iterati a x.

Si osservi che w k+1 w k = w k+1 x + x w k w k+1 x + x w k + = δ 1 L + Lk (ρ0 δ 1 L ) + δ 1 L + Lk+1 (ρ0 δ 1 L ) = δ 1 L + Lk (L + 1)(ρ0 δ 1 L ) Per quanto k sia preso grande, la differenza tra due iterati successivi non δ può essere più piccola di 1 L, a causa degli errori di arrotondamento nel calcolo di g(x).

Criteri di arresto per il metodo delle approssimazioni successive Occorre determinare un criterio per vedere se l approssimazione ottenuta è punto fisso di g(x), ossia se x g(x) = φ(x)f(x) = 0. Si ritiene che x k sia una approssimazione accettabile se contemporaneamente: f(x k ) ɛ 1 e x k x k 1 ɛ oppure f(x k ) σ 1 e x k x k 1 σ f max x k ove ɛ 1, ɛ, σ 1, σ sono tolleranze assegnate e f max = max x I ρ f(x). La scelta delle tolleranze è cruciale. Può essere che f(x k ) sia piccola pur non essendo x k accettabile e, viceversa, può essere che f(x k ) sia grande pur essendo x k accettabile. ɛ deve essere inoltre maggiore o uguale a δ 1 L, poichè questo termine che tiene conto degli errori di arrotondamento non converge a 0 per k. x k x k 1 può convergere a 0, pur essendo le due successioni divergenti. Se non si conosce nulla di f(x), conviene applicare i test relativi.

Ordine di convergenza Definizione. Sia x un punto fisso di g(x). Se per ogni x 0 I ρ = [x ρ, x + ρ], la successione generata con l iterazione funzionale è tale che esistono una costante positiva C e un positivo p tale che x k x C x k 1 x p k 1 con C > 0 per p > 1 e 0 < C < 1 per p = 1, allora il metodo di dice un metodo iterativo di ordine p. Se p = 1, il metodo si dice lineare; se p =, si dice che ha velocità di convergenza quadratica,... Teorema. Se x un punto fisso di g(x) e se il metodo d iterazione è un metodo di ordine p, allora per ogni x 0 I ρ = [x ρ, x + ρ] la successione degli {x k } x per k. Dimostrazione. Dato x 0 Iρ si ha che x k x C 1 x k 1 x p p > 1, C 1 > 0 x k x C x k 1 x p = 1, 0 < C < 1 Per p = 1, si ha: x k x C x k 1 x... C k x 0 x C k ρ Per k, lim k x k = x, perchè C k 0. Inoltre x k I ρ. Se p > 1, x k x C 1 x k 1 x p C 1 C p 1 x k x p... C 1 C p 1...Cpk 1 1 x 0 x pk = C 1 1 p 1 = (C 1 x 0 x ) pk 1 x0 x 1 p k 1 p x 0 x pk =

1 p 1 Se vale che C 1 ρ < 1, allora x k x 1 1 p (C 1 ρ) pk 1 x0 x Allora x k Iρ e per k, lim k x k = x. Poichè un metodo di ordine p è localmente convergente in un opportuno intorno di x, la definizione di ordine di convergenza può essere data anche in modo alternativo.

Un metodo iterativo che genera una successione di iterati {x k } convergenti a x, si dice che è di ordine p o ha velocità di convergenza pari a p se esistono costanti C e p tali che: lim k x k+1 x x k x p = C p > 1 oppure x k+1 x lim = C p = 1, 0 < C < 1 k x k x Se p = 1 e 0 < C < 1, il metodo si dice lineare. Se invece è x lim k+1 x k x k x = 0, il metodo è superlineare, mentre se il limite vale 1, il metodo si dice sublineare. C si dice costante asintotica di errore. Vale che o anche e k+1 = x k+1 x C x k x p = Ce p k con lim k δ k = 0. e k+1 = (C + δ k )e p k Teorema. Sia x un punto fisso di g(x). Supponiamo che g(x) sia di classe C p in un opportuno intervallo I ρ = [x ρ, x + ρ] con g (i) (x ) = 0, i = 1,,..., p 1 e g p (x ) 0 e in modulo minore di 1 se p = 1. Allora per ogni x 0 I ρ opportuno, il metodo di iterazione funzionale è un metodo convergente di ordine p. Dimostrazione. Poichè g(x) C p ed è g (x) = 0 oppure g (x) < 1 per p = 1, allora esiste un intervallo Iρ = [x ρ, x + ρ] per cui g (x) L < 1 per x Iρ ed g(x) Iρ. Infatti, x 0 Iρ, e vale che x 1 x = g(x 0 g(x ) = g (ξ) x 0 x < x 0 x < ρ

In generale x k x = g(x k 1 ) g(x ) L x k 1 x... L k x 0 x < ρ Dunque x k Iρ e x k x per k. Se si considera lo sviluppo in serie di Taylor di punto iniziale x, si ha: x k+1 = g(x k ) = g(x ) + g (x )(x x ) +... + gp 1 (x ) (p 1)! (x x ) p 1 + + gp (ξ k ) (x x ) p p! con ξ k (x k, x ) Iρ. Allora lim k gp (ξ k ) = g p ( lim k (ξ k )) = gp (x ) e, poichè segue Se p = 1, g (x ) < 1. x k+1 x (x k x ) p = gp (ξ k ) p! x k+1 x lim k (x k x ) p = gp (x ) p! Conseguenze. 1. Se x è punto fisso di g(x) e g C 1, con g (x ) 0 ed è g (x ) < 1, allora esiste un intorno I ρ = [x ρ, x + ρ] per cui g (x) < 1 per x I ρ. In tale intervallo, per ogni x 0 I ρ, il metodo iterativo converge al punto fisso in modo lineare.. Se x è punto fisso di g(x) e g C, con g (x ) = 0 e g (x ) 0, allora esiste un intorno I ρ = [x ρ, x + ρ] tale che, per ogni x 0 I ρ, il metodo iterativo converge al punto fisso

con velocità di convergenza quadratica e vale che o equivalentemente lim k x k+1 x (x k x ) = g (x ) x k+1 x = g (ξ k ) (x k x ) con ξ k I ρ. Se M è un valore maggiorante della derivata seconda di g(x) in I ρ, allora M g (x ). e k+1 M e k è la costante che maggiora l errore il cui valore asintotico è

Data l equazione f(x) = 0, si può determinare x, soluzione di f(x) = 0, come punto fisso di x = x φ(x)f(x) = g(x) con φ(x) 0 per ogni x nell intervallo in cui si cerca la soluzione. Per esaminare la velocità di convergenza, si consideri g (x): g (x) = 1 φ(x)f (x) φ (x)f(x) In x, g (x ) = 1 φ(x )f (x ). Il metodo iterativo ha velocità di convergenza lineare se φ (x ) 1 f (x, supposto che f (x ) 0. Se ) φ(x) è costante, φ(x) = m 1 f (x, il metodo è lineare. ) La convergenza è quadratica se φ(x ) = 1 f (x ) con f (x ) 0. Allora o si pone φ(x) = 1 f (x ) costante (ma x è incognito), oppure si pone φ(x) = 1 f (x) ottenendo un metodo a convergenza quadratica dato da x k+1 = x k f(x k) f (x k ) Il metodo è detto metodo di Newton. Vale che g (x ) = 1 f (x ) f(x )f (x ) f (x ) = f(x )f (x ) f (x ) = 0

g (x ) = f (x ) f (x ) Allora se f(x ) = 0, f (x ) 0, f (x ) 0, il metodo di Newton ha convergenza quadratica con costante asintotica di convergenza f (x ) f (x ). Si dice anche metodo delle tangenti, perchè geometricamente x k+1 è il punto d intersezione tra y = 0 e la retta tangente a f(x) in (x k, f(x k )): y = f(x k ) + f (x k )(x x k ) 8 7 f(x) 6 5 4 3 1 0 x* x x1 x0 1 0 0.5 1 1.5.5 3 Riassumiamo tutte le condizioni per la convergenza locale del metodo di Newton: Sia x uno zero di f(x). Sia f(x) continua insieme alle sue derivate prima, seconda e terza (continuità di g, g, g ). Sia f (x) 0 per x in un opportuno interno di x e sia f (x ) 0 ( f(x) f deve essere definita (x) e deve essere g (x ) 0). Allora, per ogni x [x ρ, x + ρ], la successione generata dal metodo di Newton converge a x in modo quadratico.

Esempi. 1. sin(x) ( x ) = 0 in [1, ]. f (x) = cos(x) x ; f (x) = sin(x) 1 x k+1 = x k sin(x k) ( x k ) cos(x k ) x k k x k f(x k ) f (x k ) f(x k )/f (x k ) 0 1.5 0.434995-0.6796 0.64039 1.14039-0.303197-1.60948-0.18838 1.9501-0.0437-1.34805-0.01808 3 1.93393-0.00033-1.317-0.00018 4 1.93375 0.000005 Costante asintotica di errore g (x ) = f (x ) f (x 0.54. ). x γ = 0 x k+1 = 1 ) (x k + γxk Per γ =, e [1, ], si ha: k x k 0 1.5 1 1.41666666 1.4141568 3 1.41413561 4 1.4141356 La costante asintotica di errore vale f (x )/(f (x )) = 1/( γ). Se γ è piccolo, la convergenza può essere lenta. La complessità del metodo è pari a una valutazione di funzione e una valutazione della derivata prima per passo; se la complessità di f è analoga a quella di f, si dice che il metodo richiede due valutazioni di funzioni per passo.

Condizioni per la convergenza globale del metodo di Newton Teorema. Sia f C [a, b]. Sia inoltre: 1. f(a) < 0, f(b) > 0;. f (x) 0; 3. f (x) 0; 4. f(b) (b a) f (b). Allora il metodo di Newton genera una successione di iterati convergenti all unica soluzione di f(x) = 0 appartenente ad [a, b] a partire da un qualunque x 0 [a, b]. Il teorema resta valido se valogono le seguenti condizioni: 1. f(a) < 0, f(b) > 0;. f (x) 0; 3. f (x) 0; 4. f(a) (b a) f (a). oppure 1. f(a) > 0, f(b) < 0;. f (x) 0; 3. f (x) 0; 4. f(b) (b a) f (b). e, rispettivamente, 1. f(a) > 0, f(b) < 0;. f (x) 0; 3. f (x) 0; 4. f(a) (b a) f (a).

Definizione. Si dice che x è uno zero di f(x) di molteplicità m se f(x) = (x x ) m q(x), x x, e lim x x q(x) 0. Se m = 1, x è uno zero semplice. Teorema. Sia f C [a, b], ove [a, b] contiene uno zero x di f(x). x è uno zero semplice f(x ) = 0, f (x ) 0. Dimostrazione. Se x è uno zero semplice, f(x ) = 0 e f(x) = (x x )q(x), con lim x x q(x) 0. Vale che: f (x) = (x x )q (x) + q(x) Allora Se, viceversa, f(x ) = 0, f (x ) 0, allora lim x x f (x) = f (x ) = lim x x q(x) 0 f(x) = f(x ) + (x x )f (ξ) = (x x )f (ξ) con ξ compreso tra x e x. Posto q(x) = f (ξ), si ha lim x x f (ξ) = f (lim x x ξ) = f (x ) 0. Teorema. Sia f C m [a, b], ove [a, b] contiene uno zero x di f(x). x è uno zero di molteplicità m f (i) (x ) = 0, i = 0, 1,..., m 1 ed è f m (x ) 0.

Se x è uno zero semplice di f(x), il metodo di Newton converge quadraticamente. Se x è uno zero di molteplicità m, allora poichè f(x) = (x x ) m q(x), con lim x x q(x) 0, f (x) = m(x x ) m 1 q(x) + (x x ) m q (x) = = (x x ) m 1 (mq(x) + (x x )q (x)) f (x) = m(m 1)(x x ) m q(x) + m(x x ) m 1 q (x) + + m(x x ) m 1 q (x) + (x x ) m q (x) = = (x x ) m.. (m(m 1)q(x) + mq (x)(x x ) + (x x ) q (x)) f(x) f (x) = (x x q(x) ) mq(x) + (x x )q (x) g (x) = f(x)f (x) f (x) = q(x)(m(m 1)q(x) + mg (x)(x x ) + (x x ) q (x)) (mq(x) + (x x )q (x)) = g (x ) = (m m)q(x ) m q(x ) = 1 1 m 0 com m > 1. E g (x ) < 1. Dunque il metodo di Newton diventa convergente solo linearmente. Tuttavia se si modifica l iterazione nel seguente modo: x k+1 = x k m f(x k) f (x k ) la convergenza ritorna almeno quadratica: g (x ) = 1 m + m f(x )f (x ) f (x ) = 1 m + m(1 1 m ) = 0

Un altro modo per ottenere un metodo a convergenza quadratica consiste nell osservare che f(x) f = (x (x) x q(x) ) (mq(x)+(x x )q ha in (x)) x uno zero di molteplicità 1. Dunque si applica il metodo di Newton a f(x) f : (x) x k+1 = x k f(x k )/f (x k ) (f (x k ) f(x k )f (x k ))/f (x k ) Se g(x) è sufficientemente regolare in un opportuno intervallo che contiene x, allora si ha convergenza quadratica al punto fisso x. Per x k sufficientemente vicino a x, f (x ) e f(x ) sono piccoli e si possono avere problemi di cancellazione.

Il metodo di Newton si può derivare considerando lo sviluppo in serie di Taylor a partire da x k e calcolandolo in x, trascurando i termini di ordine superiore a 1. 0 = f(x ) = f(x k ) + f (x k )(x x k ) + f (ξ) (x x k ) x x k f(x k) f (x k ) Se si sostituisce la funzione f(x) con il polinomio di grado 1 tale che p(x k ) = f(x k ) e p (x k ) = f (x k ) (modello lineare di f(x)), si ottiene il metodo di Newton. Se si sostituisce la funzione f(x) con il polinomio di grado anzichè di grado 1, tale che il polinomio coincide con f(x) fino alla derivata seconda, si ottiene la seguente iterazione funzionale: x k+1 = x k f (x k ) ± f (x k ) f(x k )f (x k ) f (x k ) Per uno zero semplice, il metodo ha ordine di convergenza 3. Tuttavia queste iterazioni funzionali comportano alta complessità poichè richiedono il calcolo non solo della funzione ma anche delle derivate ad ogni passo. Anzichè usare polinomi di Taylor per approssimare f(x) e calcolarne uno zero, si possono usare polinomi di interpolazione. Da tale idea nascono i metodi di interpolazione per la determinazione degli zeri di una funzione.

Regula falsi Sia a 1 a, b 1 b, tali che f(a).f(b) < 0, con f C[a, b]. Per ogni k = 1,,... si costruisce a partire da [a k, b k ] con f(a k ) f(b k ) < 0 una successione di iterati dati da: c k+1 = b k f(b k f(b k ) f(a k ) b k a k. Geometricamente c k+1 è l intersezione tra l asse delle x e la retta che unisce i punti di coordinate (a k, f(a k )) e (b k, f(b k )): y = 0 Si calcola c k+1 e si pone y = f(b k ) + f(b k) f(a k ) b k a k (x b k ) [a k+1, b k+1 ] = { [ak, c k+1 ] f(a k )f(c k+1 ) < 0 [c k+1, b k ] f(a k )f(c k+1 ) > 0 Se f(c k+1 ) = 0, x = c k+1. La regula falsi è convergente. L ordine di convergenza è lineare. Non è detto che abbia maggiore efficienza del metodo di bisezione. Ciò dipende dalla particolare scelta della funzione. Si veda il comportamento di f(x) = sin(x) 0.9 nell intervallo [0, 1.5].

Metodo delle secanti x k+1 = x k f(x k ) f(x k ) f(x k 1 ) x k x k 1 x k+1 è intersezione tra y = 0 e il polinomio che interpola f(x) nei punti (x k 1, f(x k 1 )) e (x k, f(x k )). Tuttavia non è detto che f(x k ) e f(x k 1 ) siano di segno contrario (questo può dare problemi di cancellazione che non ci sono con la regula falsi). Si ha bisogno di due approssimazioni iniziali. La convergenza è ottenibile solo se x 0 e x 1 appartengono a un intervallo sufficientemente piccolo attorno a x, zero di f(x). Se f C, si può dimostrare che il metodo delle secanti genera una successione di iterati che converge alla soluzione x con velocità di convergenza frazionaria data da p = 1.618..., ove p à soluzione di p p 1 = 0. Posto e k = M x k x, ove M è una costante positiva, si ha che: e k+1 (K) pk+1 = (K pk ) p ove K è una costante positiva minore di 1. Un passo del metodo delle secanti richiede una sola valutazione di funzione. Dunque due passi hanno la stessa complessità del metodo di Newton. Per quanto riguarda la convergenza, si ha: e k+ (K) pk+ = (K pk ) p (K pk ) p+1 perchè p = p + 1. Per cui si un procedimento con velocità di convergenza p + 1 =.618..., localmente più veloce di quello di Newton.

Generalizzazione del metodo delle secanti Dati r + 1 valori approssimati x k, x k 1,..., x k r, si determina x k+1 come intersezione tra y = 0 e il polinomio di grado r, tale che f(x k i ) = p(x x i ), i = 0, 1,..., r Per r = 1, si ottiene il metodo delle secanti. Per r =, si ottiene il metodo di Muller. Dati x k, x k 1, x k, si determina p(x) = a(x x k ) + b(x x k ) + c tali che p(x k ) = f(x k ) = c p(x k 1 ) = f(x k 1 ) = a(x k 1 x k ) + b(x k 1 x k ) + c p(x k ) = f(x k ) = a(x k x k ) + b(x k x k ) + c c = f(x k ) b = a = (x k x k ) (f(x k 1 ) f(x k )) (x k 1 x k ) (f(x k ) f(x k )) (x k x k )(x k x k 1 )(x k 1 x k ) (x k 1 x k )(f(x k ) f(x k )) (x k x k )(f(x k 1 ) f(x k )) (x k x k )(x k x k 1 )(x k 1 x k ) c x k+1 = x k b ± b 4ac Il segno è scelto in modo che x k+1 x k sia più piccolo possibile, ossia la quantità al denominatore più grande possibile: c x k+1 = x k b + segno(b) b 4ac

Se f C 3 e f (x ) 0, in prossimità di x si ha convergenza con ordine di convergenza p = 1.84, ove p è radice di p 3 = p + p + 1. Il metodo delle secanti possiede un altra generalizzazione. Se f(x) nell intorno di x è biunivoca, allora essa è invertibile, ossia esiste una funzione g(y) tale che g(f(x)) = x. Pertanto vale che g(f(x )) = g(0) = x. Allora a partire da f(x k ),..., f(x k r ) si può costruire un polinomio q(y) di grado r tale che q(f(x k i )) = x k i, i = 0,..., r. Si considera come nuovo iterato x k+1 il valore di q(0). Questi metodi vengono detti metodi dell interpolazione inversa. Per r = 1 si riottiene il metodo delle secanti, per r = il metodo dell interpolazione quadratica inversa. Si tratta di costruire un polinomio q(y) di grado q(y) = α 1 y + α y + α 3 che passa per i punti (f(x k ), x k ), (f(x k 1 ), x k 1 ), (f(x k ), x k ), e di considerare come nuovo iterato x k+1 = q(0) = α 3. Il procedimento viene poi reiterato. La funzione di Matlab fzero è un polialgoritmo che usa al suo interno il metodo di bisezione, il metodo delle secanti e il metodo dell interpolazione quadratica inversa. Si sceglie un metodo piuttosto che l altro in modo da garantire convergenza globale.