• Non ci sono risultati.

Metodi numerici per la risoluzione di sistemi non lineari

N/A
N/A
Protected

Academic year: 2021

Condividi "Metodi numerici per la risoluzione di sistemi non lineari"

Copied!
32
0
0

Testo completo

(1)

Metodi numerici per la risoluzione

di sistemi non lineari

(2)

Equazioni non lineari

Data una funzione f: RR, si consideri il problema di determinare i valori di x per cui

f(x)0

Tali valori sono solitamente chiamat zeri o radici della funzione f

Esempi:

In generale non sono disponibili formule esplicite per la determinazione delle radici di una funzione non lineare (per esempio, per le equazioni algebriche)

 METODI ITERATIVI

Pn(x) 

n akxk  0

k=1 equazione algebrica

x4sin(x)0 exx20 x log(x)3

(3)

Metodi iteratvi  1

Tecniche che consentono di risolvere un problema approssimandone le soluzioni con un grado di precisione prestabilito

A partre da un’approssimazione iniziale, viene costruita una successione che, sotto opportune ipotesi, converge alla radice cercata

Tre aspetti fondamentali:

Velocità di convergenza

Scelta del valore di innesco Criteri di arresto

3

(4)

Definizione

Data una successione x

(1)

, x

(2)

,… convergen- te ad un limite α, si ponga e

(n)

x

(n)

  ; se esistono due numeri reali, p e C, tali che

si dice che la successione ha ordine di convergenza p e fattore di convergenza C

Per p1 e p2 la convergenza si dice, rispettivamente, lineare e quadratica

Nel caso p1 si ha necessariamente C1

Metodi iteratvi

Velocità di convergenza

 e(n1)

lim  C

 e(n)p

n

(5)

Un metodo converge localmente ad α se la convergenza della successione dipende in modo critco dalla vicinanza del valore di innesco x(0) al valore limite α

Il procedimento è globalmente convergente quando la convergenza non dipende da quanto è vicino x(0) ad α

 Per i metodi a convergenza locale la scelta del punto di innesco è cruciale

5

Metodi iteratvi

Scelta del valore di innesco

(6)

Non è evidentemente possibile generare infinite iterate della successione {x

(k)

}

Il procedimento iteratvo dovrebbe arre- starsi quando

Non disponendo, tuttavia, della soluzione è necessario procurarsi una stma di e

(k)

Metodi iteratvi

Criteri di arresto  1

erel   toll  x(k)



(7)

Una possibile strategia è quella di appros- simare e

(k)

 con x

(k1)

x

(k)

 Si ottiene il criterio relatvo

Quando x

(k1)

è molto piccolo, tale criterio risulta però troppo stringente ed è più opportuno usare un criterio di arresto assoluto

7

Metodi iteratvi

Criteri di arresto  2

x(k1)x(k)   tollA  tollx(k1)x(k) R

x(k1)

(8)

Fondendo i due criteri si ottiene il criterio di arresto misto

dove tollR e tollA sono rispettivamente la tolleranza relatva ed assoluta

Automatcamente il criterio sarà di tpo assoluto quando x(k1) è molto piccolo e di tpo relatvo negli altri casi

Si può vedere che x(k1)x(k) è asintotcamente una buona stma di e(k) nel caso di convergenza quadratca o superlineare, mentre nel caso di convergenza lineare l’approssimazione sarà tanto migliore quanto la costante C è vicina a zero

Metodi iteratvi

Criteri di arresto  3

x(k1)x(k)   tollR x(k1) tollA

(9)

Il metodo di bisezione è il metodo iteratvo più semplice per approssimare gli zeri reali di una funzione

Ipotesi

1) f(x) contnua nell’intervallo [a,b]

2) f(a)f(b)<0

 Per il teorema degli zeri f(x)0 ammette almeno una soluzione α in (a,b)

 Si procede dividendo a metà, ad ogni passo, l’intervallo [a,b] e determinando in quale dei due sottointervalli si trova la soluzione, dimezzando così l’ampiezza dell’intervallo

che contene α

9

Il metodo di bisezione  1

(10)

Si pone a1a, b1b Per i1,2,…,nmax

ci(aibi)/2 Si calcola f(ci)

Se f(ci)f(ai)0 si pone ai1 ci, bi1 bi

Altriment, se f(ci)f(ai)0 si pone ai1 ai, bi1 ci Altriment, f(ci)0 e   ci

Stop se vale f(ci) e/o bi ai

Il metodo di bisezione  2

(11)

Per costruzione, ad ogni passo, l’ampiezza dell’in- tervallo viene dimezzata; dopo n passi, l’intervallo [an,bn] ha ampiezza

bnan (bn1an 1)/2 (bn2an 2)/22…(b0a0)/2n Se come stma di α si considera cn(bnan)/2, si ha dunque

en  cn en (b0a0)/2n1 Infine, se poniamo (b0a0)/2n1 , si ottiene

2n1 (b0a0)/  nlog2[(b0a0)/]1

11

Il metodo di bisezione

Ampiezza dell’intervallo ed errore  1

(12)

Il metodo di bisezione converge sempre alla soluzione con la sola ipotesi che f sia con- tnua in [a,b]; la convergenza, però è lenta e questo costtuisce il limite del metodo

Una possibile spiegazione sta nel fatto che il metodo non tene conto dei valori della funzione ma soltanto dei segni

Geometricamente, il metodo costruisce ad ogni passo l’approssimazione della radice calcolando l’intersezione della retta passan- te per i punt (a

i

,sgn(a

i

)) e (b

i

,sgn(b

i

)) con l’asse delle x

Il metodo di bisezione

Ampiezza dell’intervallo ed errore  2

(13)

Un modo naturale per migliorare il metodo di bisezione è quello di considerare anche i valori che la funzione assume negli estremi dell’intervallo e prendere come nuova approssimazione della solu- zione l’intersezione della retta passante per (ak,f(ak)) e (bk,f(bk)) con l’asse delle ascisse

Il metodo risultante è noto come metodo della regula falsi o della falsa posizione

Il metodo della regula falsi  1

Dato [a0,b0] tale che f(a0)f(b0)0

Finchè non si verifica il criterio di arresto:

Si pone wk(f(bk)akf(ak)bk)/(f(bk)f(ak)) Se f(ak)f(wk)0, allora ak1ak , bk1wk Altriment ak1wk , bk1bk

kk1

wk

(14)

Il metodo genera una successione di intervalli decrescent in cui è contenuta la radice

È più veloce rispetto al metodo di bisezione, anche se in generale [ak,bk]0 per k

Pertanto il criterio di arresto basato sull’ampiezza dell’intervallo non è applicabile

Il metodo converge globalmente con velocità lineare

Il metodo della regula falsi  2

(15)

Una variante della regula falsi è il metodo delle secant, in cui sono richieste due ap- prossimazioni iniziali della radice, senza al- cuna altra condizione e senza la necessità di controllare il segno di f (x)

Assegnat due valori iniziali x

(1)

e x

(0)

si costruisce la successione

x

(k1)

 x

(k)

 f(x

(k)

) k0

La convergenza del metodo è garantta se le approssimazioni iniziali sono “abbastanza vicine” alla radice α  convergenza locale

Il metodo delle secant  1

f(x

(k)

) f(x

(k1)

)

x

(k)

 x

(k1)

(16)

Teorema

Sia f(x)C

2

(), essendo  un intorno op- portuno della radice  , e si assuma f (  )0;

se i dat iniziali x

(1)

e x

(0)

sono scelt in  sufficientemente vicini ad  , la successione converge alla radice in modo superlineare, con ordine

Il metodo delle secant  2

(17)

Tuttavia, per garantre maggiore velocità di conver- genza, è necessario utlizzare un maggior numero di informazioni sulla funzione

Per esempio, nel caso in cui essa sia derivabile, si può considerare anche la derivata prima f (x)

Sviluppando f in serie di Taylor in un intorno di  e arrestando lo sviluppo al primo ordine, si ottiene una versione linearizzata del problema f (x)0

f()  0  f (x)(x)f()  (,x)

Assumendo quindi f ()≠0 (radice semplice), ed assegnando un valore iniziale x(0) si ottiene il metodo di Newton

x

(k1)

 x

(k)

 k0 f (x

(k)

) f (x

(k)

)

Il metodo di Newton  1

17

(18)

periore al primo (in generale, quadrat- ca)

Il metodo di Newton  2

Geometcamente, si prende come nuova approssi- mazione della radice  l’intersezione della retta tangente in (x(k), f(x(k))) con l’asse delle ascisse

Per ogni iterazione, il metodo di Newton richiede la valutazione di due funzioni

L’aumento del costo computazionale è compensato dal fatto che la convergenza (locale) è di ordine su-

(19)

Teorema

Se f (x) è “sufficientemente regolare”, il metodo di Newton converge quadratcamente verso radici semplici

Dimostrazione

Sia  la radice di f (x)0 e sia fC2[,];

considerando lo sviluppo di Taylor

0  f()  f(x(k))f(x(k))(x(k))[f()(x(k))2]/2  f (x(k))

(

f(x(k))/f(x(k))x(k)

)

[f()(x(k))2]/2

Il metodo di Newton  3

2f() f () (e(k))2

e(k1) (e(k))2

e(k1)

19

lim 2f(x(k)) k

f ()

(20)

Teorema

Se f (x) è sufficientemente regolare, il metodo di Newton converge linearmente verso una radice di molteplicità m1, con fattore di convergenza (m1)/m

Dimostrazione

Sia  la radice di f (x)0 e sia fCm1[,]; si ottiene:

e(k) e(k1)

x(k) x(k)

x(k1)

f (x(k)) f (x(k))

x(k)   

Il metodo di Newton  4

mg(x), si ottiene

(21)

(x(k)  ) 

x(k)

m(x(k) )m1g(x(k))  (x(k) )mg(x(k)) (x(k) )mg(x(k))

mg(x(k))e(k) g(x(k)) (m1)g(x(k))e(k) g(x(k))

m m1 e(k1)

e(k)lim

k

21

Il metodo di Newton  5

(22)

La ricerca degli zeri di una funzione f è ricondotta allo studio dei punt fissi di una opportuna funzione g(x)xf(x)

f()0  g()

La successione delle approssimazioni sarà definita come x(k1)g(x(k))

La funzione di iterazione g non è unica e può essere costruita in modi diversi, ma non tutti daranno luogo a strument efficient

Occorre studiare sotto quali condizioni la successione delle iterate appartene sempre al dominio di f ed è convergente ad

Metodi di iterazione funzionale  1

(23)

Teorema

Sia data la successione x(k1)g(x(k)) per k0, con x(0) assegnato; supponiamo che la funzione g soddisfi le seguent condizioni

(i) g: [a,b] → [a,b]

(ii) gC1[a,b]

(iii) l1: g(x) l x[a,b]

allora g ha un unico punto fisso α[a,b] e la successione delle iterate da essa generate conver- ge ad α, per ogni scelta del punto iniziale x(0)[a,b];

inoltre

Metodi di iterazione funzionale  2

23

k x(k) x(k1)

lim g()

(24)

Dimostrazione

L’ipotesi (i) e la contnuità di g (implicita in (ii)) garan- tscono che g abbia almeno un punto fisso in [a,b]; la (iii) assicura che g è una contrazione, per cui il punto fisso è unico (si dimostra per assurdo)

Per dimostrare che la successione converge si considera x(k1)  g(x(k))g() e, applicando il teorema della media si ha:

x(k1)  g(x(k))g()g(k)(x(k) ), k[, x(k)]

 x(k1) lx(k) lk1x(0)

 lim x(k1) 0

Inoltre, dalla contnuità di g, si ha

Metodi di iterazione funzionale  3

k

x(k) k

 x(k1)

lim lim g(k)  g()

k

(25)

Teorema (Ostrowski)

Sia  un punto fisso di gC1[,]; se

g(x) 1 x[,]

allora x(0)[,] la successione delle iterate generate da g è tale che

(i) x(k)

(ii) x(k)[,]

Si può avere convergenza in intervalli più ampi rispetto al verificarsi della condizione g(x) 1 (condizione sufficiente, convergenza locale)

Metodi di iterazione funzionale  4

Risultato importante dal punto di vista teorico; nella pratca è difficile stabilire a priori l’intervallo in cui sono soddisfatte le ipotesi

0  g(x)  1 convergenza monotona

1  g(x)  0 convergenza alternata

(26)

Il metodo di Newton può essere visto come un metodo di iterazione funzionale con la funzione g data da

g(x) x

Osservando che, se fC

2

e f (  )0,

g (x)  g(  ) 0 il metodo è localmente convergente

La convergenza è quadratca per radici semplici e si riduce a lineare per radici multple

Ancora sul metodo di Newton  1

( f (x))

2

f (x) f (x)

f f (x) (x)

(27)

Teorema (convergenza globale) Sia fC

2

[  ,    ] tale che

(i) f (x) f (x)0 in (,] (ii) f (x)  0 in (,]

allora x

(0)

(  ,    ] la successione origina- ta dal metodo di Newton decresce monoto- namente ad α; per gli intorni sinistri [αρ,α) si ottiene una successione che converge in modo monotono crescente ad α

Ancora sul metodo di Newton  2

27

(28)

La maggior parte dei metodi considerat per il caso monodimensionale possono venire generalizzat ai sistemi non lineari

Fra quest non possono essere annoverat quei metodi che considerano, ad ogni ite- razione, una scelta opportuna di un inter- vallo in cui è compresa la radice (bisezione, regula falsi)

Problema: data F: R

n

R

n

trovare x

*

R

n

tale che F(x

*

)0

Sistemi non lineari  1

(29)

Per la soluzione, l’approccio più usato è rappresentato dall’estensione vettoriale del metodo di Newton

x

(k1)

 x

(k)

 [J

F

(x

(k)

)]

1

F(x

(k)

)

dove J

F

(x) indica la matrice Jacobiana (J

F

(x))

ij

F

i

(x)/x

j

Dal punto di vista implementatvo, il meto- do può essere riscritto considerando due passi ad ogni iterazione

Risolvere J

F

(x

(k)

)x

(k)

  F(x

(k)

) Calcolare x

(k1)

 x

(k)

 x

(k)

Ad ogni iterazione k, si risolve un sistema lineare con matrice J

F

(x

(k)

)

Sistemi non lineari  2

29

(30)

Per quanto riguarda la convergenza, si può dimo- strare (risultato dovuto a Kantorovich) che, se la matrice Jacobiana è non singolare, partendo da una approssimazione iniziale x(0) sufficientemente buona, il processo iteratvo genera una successione convergente alla radice x*

L’ordine di convergenza è quadratco Tuttavia…

La sensibilità del metodo alla scelta del punto iniziale è molto più marcata che nel caso scalare

Il costo richiesto ad ogni passo per la risoluzione del sistema lineare è molto elevato per n grande

La matrice Jacobiana può essere malcondizionata, dando luogo a soluzioni non necessariamente accurate

 Variant del metodo di Newton

Convergenza

(31)

Metodo di Newton modificato: si effettua una valutazione ciclica della matrice Jaco- biana, ovvero si mantene la stessa matrice Jacobiana per un certo numero p, con p1, di iterazioni

L’aumento di efficienza è pagato da una velocità di convergenza più bassa

Metodi di Newton inesatti: si risolvono i sistemi lineari con un metodo iteratvo (ef- fettuandone solo alcuni passi); per esem- pio, si usano i metodi di Jacobi o di Gauss

Seidel

Variant del metodo di Newton  1

31

(32)

Approssimazione della matrice Jacobiana con rapport incrementali: ad ogni passo si considera, al posto della matrice Jacobiana, una sua approssimazione calcolata median- te rapport incrementali ndimensionali (come vantaggio non si devono calcolare le derivate parziali contenute in J(x))

(J

h

)

j

 , k0

Variant del metodo di Newton  2

(k)

F(x

(k)

h

j(k)

e

j

)F(x

(k)

)

h

j(k)

Riferimenti

Documenti correlati

Nei metodi diretti, la presenza di eventuali element nulli nella matrice non può essere sfruttata ai fini di ridurre il costo computa- zionale e l’occupazione

Baulig et al., “Organic compounds from diesel exhaust particles elicit a proin- flammatory response in human airway epithelial cells and induce cytochrome p450 1A1 expression,”

diagonali non nulle , i metodi di Jacobi e Gauss-Seidel sono o entrambi convergenti o divergenti e il tasso di convergenza del metodo di Gauss-Seidel `e il doppio di quello del

si pu`o dimostrare che il metodo `e convergente e fornisce in aritmetica esatta la soluzione del sistema Ax = b in al massimo n iterazioni. Questo teorema tradisce un po’ le attese,

Alvise Sommariva Metodi iterativi per la soluzione di sistemi lineari 48/ 81.. Supponiamo di dover risolvere il sistema lineare Ax = b.. Il metodo del gradiente coniugato ha

Se A ` e una matrice simmetrica e definita positiva di ordine n, allora il metodo del gradiente coniugato ` e convergente e fornisce in aritmetica esatta la soluzione del sistema Ax =

Si rimane un po’ sorpresi dal fatto che per w = 1.350 il numero di iterazioni fosse inferiore di quello fornito dal valore ottimale teorico w ∗ = 1.333.. Il fatto `e che questo

considerano tutti i casi possibili, che ad ogni equazione di primo grado in due variabili corrisponde una retta i cui punti hanno per coordinate le soluzioni dell equazione stessa.