Calcolo numerico/Metodi multipasso

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:Calcolo numerico

Aumento dell'ordine di convergenza

Per aumentare l'ordine di convergenza del metodo ci sono due strade possibili:

  1. metodi multipasso: usano informazioni precedenti ma rimangono lineari, ne sono esempi i metodi di Adam-Bashword (espliciti), di Adam-Multonn (impliciti), di Mistrom, i generalized Simpson (espliciti e impliciti), BDF usate nel caso dei problemi stiff;
  2. metodi a un passo non lineari.

Metodi multipasso lineare

I metodi di questo tipo si definiscono come

∑j=0kαjyn+j=h∑j=0kbjfn+j

dove

fn+j=f(tn+j,yn+j)

αj,βj sono tali che αk=1 e

∑|α0|+|β0|≠0

Osserviamo che se βk=0 il metodo è esplicito perché a secondo membro non compare la soluzione da calcolare al passo corrente, mentre diversamente è implicito, e si può pensare di applicare il metodo del punto fisso

yn+k=hβkf(tn+k,yn+k)+ϕ

Dev'essere h<1/(|βk|∗L).

Teorema 7.2

Consideriamo i seguenti polinomi

ρ(z)=∑j=0kαjzj

con z variabile complessa (primo polinomio caratteristico).

σ(z)=∑j=0kβjzj

e consideriamo il metodo

∑j=0kαjyn+j=hϕf(yn+k,yn+k−1,yn,tn,h)=h∑j=0kβjfn+j

Il metodo è consistente (cioè l'errore di troncamento locale tende a 0 per h→0), se valgono le seguenti condizioni:

∑j=0kαj=0,⟶ρ(1)=0

∑j=0kjαjf(tn,y(tn))=ϕf(tn,tn,tn

(h tende a 0 quindi tutti gli istanti tendono tn)

con ϕf=∑jβjfn+j.

Dimostrazione

Affermiamo che

y(tn+j)−y(tn)=jhy′(ξj)=jhf(ξj)

con ξj∈(tn,tn+j) con j=0,…,k per il teorema del valor medio.

Consideriamo l'errore di troncamento:

τ=1/h[∑j=0kαjy(tn+j)−hϕf]

e in base a quanto appena ricavato per yn+j:

=1/h[∑j=0kαj∗(y(tn)+jhy′(ξj))]−ϕf

e spezzando le somme

=1/h∗∑j=0kαj∗y(tn)+∑j=0kjαjy′(ξj)−ϕf

Per h→0 y′(ξj)→y′(tn) e ϕf(y′(t),y″(t),…)=ϕf(tn,tn,tn)

Segue quindi che si ha consistenza se

∑j=1kαj=0

e se

∑j=0kjαjy′(tn)−ϕf=0

Nella pratica tenendo conto che y′(tn)=f(tn,yn) si impongono le condizioni di consistenza:

∑jαj=0

∑j[jαj−βj]=0

∑j[j2/2αj−jβj]=0

∑j[j3/6αj−j2/2βj]=0…

Relazione tra convergenza e consistenza

Se ho convergenza, allora ho consistenza, ma non vale viceversa. Per avere convergenza, oltre alla consistenza dobbiamo richiedere la 0-stabilità.

Template:Definizione

Si dice che il problema è ben posto o totalmente stabile se per qualunque coppia di perturbazioni (δ(t),δ) e (δ∗(t),δ∗) tali che

|δ(t)−δ∗(t)|<|δ−δ∗|

segue che, posto z(t),z∗(t) le soluzioni dei corrispondenti problemi di Cauchy, esiste una costante s positiva tale che per ogni t∈I0,

|z(t)−z∗(t)|≤sε

Definizione corrispondente nel discreto: consideriamo un sistema di differenze perturbato.

{zn+1=zn+hϕf(tn,yn,h)+δn+1)z0=y0+δ0

Il metodo è 0-stabile se, date le successioni delle perturbazioni {δn}n=0N, e {δn∗}n=0N che corrispondono a soluzioni zn per n=0,…,N e zn∗ per n=0,…,N, se esiste una costante s positiva ed esiste h0>0 tale che scelto 0<H<H0, segue che la norma della differenza tra le due soluzioni discrete è minore di sε, dove supponiamo che |δn−δn∗|<ε (la differenza rispetto alla definizione precedente è che deve esistere H0 tale per cui si abbia la conservazione dell'entità della perturbazione).

Stabilità come condizione necessaria

Questo esempio mostra che è necessario richiedere la stabilità.

Esempio 7.1

Consideriamo il problema di Cauchy

{y′=0y(t0)=0

Applicando il metodo multipasso:

∑j=0kαjyn+j=0

perché f (e quindi il secondo membro) è identicamente nullo.

(y1,…,yk−1) sono molto piccoli ma non esattamente nulli.

Questa è un'equazione alle differenze omogenea. Il polinomio

ρ(z)=∑j=0kαjzj

ha radici z1,…,zs distinte rispettivamente con molteplicità μ1,…,μs, allora la soluzione dell'equazione alle differenze è

yn=∑i=0s∑j=0μi−1cijzin∗nj

(simile alla scrittura delle soluzioni nelle equazioni differenziali nel continuo).

Se |zj|>1, il metodo diverge, e lo stesso avviene nel caso in cui il modulo di z è uguale a 1 e ha molteplicità maggiore di 1.

Root condition

Template:Definizione

Template:Definizione

Teorema 7.3

Il metodo numerico

∑j=0sαjyn+j=h∑jβjfn+j

è 0-stabile se e solo se vale la root condition.

Teorema 7.4

Il metodo

∑j=0sαjyn+j=h∑jβjfn+j

è convergente se e solo se è consistente e 0-stabile.

Teorema 7.5 (prima barriera di Dahlquist)

Nessun metodo lineare multipasso a k passi che sia 0-stabile può avere ordine di convergenza maggiore di k+1 se k è dispari, e di k+2 se k è pari.

Espressione dei polinomi caratteristici nei metodi multipasso

Nei metodi di Adam-Bashword e Adam-Multonn il polinomio caratteristico è della forma

ρ(z)=zk−1∗(z−1)

e z=1 è la radice principale necessaria per la consistenza, e c'è poi la radice 0 con molteplicità k−1.

Nel Simpson generalizzato

ρ(z)=zk−zk−2=zk−2∗(z2−1)

dove le radici sono z1=1,z2=−1 con molteplicità 1, e z=0 con molteplicità k−2.

Le BDF hanno il secondo polinomio caratteristico definito come

σ(z)=βk∗zk

Metodi di Adam-Bashword

I metodi di Adam-Bashword derivano da formule di quadratura. Consideriamo l'equazione integrale

y(tn+1)−y(tn)=∫tntn+1f(t,y(t))dt

Consideriamo il polinomio interpolante f con nodi equispaziati: in particolare, per i metodi espliciti consideriamo il polinomio interpolante di grado p nei nodi (tn,…,tn−p), per gli Adam-Multonn consideriamo il polinomio di grado p+1 nei nodi tn+1,…tn−p e otteniamo la formula

yn+1=yn+h∑j=−1pβjfn−j

Se β−1=0 il metodo è esplicito, altrimenti è implicito.

Metodi di Adam-Bashword:yn+1=yn+hfn1 nodo, Eulero esplicito

yn+1=yn+h/2(3fn−fn−1)2 nodi, trapezi esplicito

yn+1=yn+h/12(23fn−16fn−1+5fn−2)3 nodi

Adam-Multon

yn+1=yn+hfn+11 nodo, Eulero implicito

yn+1=yn+h/2(fn+1+fn)2 nodi, trapezi implicito

yn+1=yn+h/12(5fn+1+8fn−fn−1)3 nodi

In conclusione vale il seguente teorema.

Teorema 7.6

I metodi espliciti di Adam-Bashword hanno ordine q mentre quelli di Adam-Multonn hanno ordine p=q+1<math>aeccezionedell′Euleropercui<math>q=1 e p=1./

Tecnica del predictor-corrector

Consideriamo un metodo multipasso implicito, da risolvere con un metodo di punto fisso. Poniamo

z=yn+1

e consideriamo la relazione

z=yn+hβ−1f(tn+1,z)+h∑j=0pβjfn−j

dove il secondo addendo è noto e ne conosciamo tutte le quantità. zk+1=g(zk) con g=yn+hβ−1f(tn+1,z)+h∑j=0pβjfn−j, e si dà come innesco yn soluzione all'istante precedente. Si impone g′<1 quindi

|g′(z)|=hβ−1∗|∂f∂z|≤hβ−1L

e supponendo di avere le condizioni del teorema di esistenza e unicità

hβ−1L<1

cioè sul passo h otteniamo la condizione h<|β−1|∗L e la costante di Lipschitz condiziona la convergenza del metodo di punto fisso.

Il metodo è costoso, perché a ogni iterazione del metodo di punto fisso si richiede una valutazione della funzione f. Più l'innesco fornito è buono, più velocemente viene soddisfatto il criterio d'arresto, e meno oneroso è il metodo dal punto di vista computazionale.

Metodo predictor-corrector

Il metodo predictor-corrector consiste dei seguenti passi:

1. predictor (𝒫): yn+1(x0) è ottenuto applicando uno schema multipasso esplicito, cioè

yn+1(0)=yn+h∑j=0p¯βjfn−j

2. evaluation (ℰ):

fn+1=f(tn+1,yn1+(0))

(ora un'espressione approssimativa di fn+1 è nota)

3. corrector (𝒞):

yn+1=yn+hβ−1fn+1+h∑j=0pβjfn−j

I passi ℰ,𝒞 possono essere iterati nel seguente modo:

ℰfn+1(k)=f(tn+1,yn+1(k))

𝒞yn+1(k)=yn+hβ−1fn+1(k)

dove fn+1(k) è stato calcolato prima.

Si può quindi considerare anche il metodo:

𝒫(ℰ𝒞)m

in cui valutazione e correzione vengono alternate m volte.

Il passo finale è

fn+1m=f(tn+1,yn+1m)

cioè il metodo si prepara per un'eventuale iterazione. Se 𝒫 ha ordine p−1 i dati di innesco aggiuntivi sono calcolabili con un errore di ordine di o(hp) e se il corrector è di ordine p, allora (𝒫𝒞) ha ordine p.

Esempio 7.2 (esempio di metodo predictor corrector)

Usiamo come predictor l'Eulero esplicito

yn+1(0)=yn+hfn

e come corrector il metodo dei trapezi:

yn+1=yn+h/2(fn+f(tn+1,yn+1(0)))

Questo metodo può anche essere considerato come metodo a un passo.

Template:Avanzamento