17
WALTER GAUTSCHI 1975 Rendiconti di Matematica (2) Vol. 8, Serie VI. Stime errore globale nei metodi " one - step ,, per equazioni differeuziali ordinarie (*) di W AL'l'Elt GAU'l'SCHI (a Lafayette, U. S. A.) Dedicato al Professor Mauro Picone in occasione del suo novantesimo compleanno. SuMMARY - We consider one-step methods for the numerical solution of ordinary differential equations and propose to utilize recent progress in the estimation of the local error in order to asymptotically estimate the global error:. 1. Introduzione. La maggior parte dei metodi numerici per la soluzione di sistemi di equazioni differenziali ordinarie generano approssimazioni del vet- tore - soluzione in corrispondenza di una . successione finita di punti. Come errore globale generalmente si intende la differenza fra il vettore - approssimazione e il vettore - soluzione nei suddetti punti. L'errore locale, invece, e la differenza fra la soluzione approssimata e quella esatta, dopo un solo passo del metodo iniziato con dati esatti. E opinione generalmente accettata che i metodi « one - step », in i me- todi tipo Runge - Kutta, notoriamente non permettono una facile ed efficiente stima dell'errore locale, per non parlare di quello globale. La situazione, negli anni recenti, e un po cambiata dopo che sono di- ventati noti schemi abbastanza efficienti per stimare accuratamente (almeno asintoticamente per piccoli passi) l'errore locale. E naturale, (*) Questo lavoro e stato sovvenzionato in parte dalla National Science Foundation, progetto di ricerca GP- 36557.

Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

  • Upload
    buingoc

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

WALTER GAUTSCHI 1975 Rendiconti di Matematica (2) Vol. 8, Serie VI.

Stime dell~ errore globale nei metodi " one - step ,, per equazioni

differeuziali ordinarie (*)

di W AL'l'Elt GAU'l'SCHI (a Lafayette, U. S. A.)

Dedicato al Professor Mauro Picone in occasione del suo novantesimo compleanno.

SuMMARY - We consider one-step methods for the numerical solution of ordinary differential equations and propose to utilize recent progress in the estimation of the local error in order to asymptotically estimate the global error:.

1. Introduzione.

La maggior parte dei metodi numerici per la soluzione di sistemi di equazioni differenziali ordinarie generano approssimazioni del vet­tore - soluzione in corrispondenza di una . successione finita di punti. Come errore globale generalmente si intende la differenza fra il vettore -approssimazione e il vettore - soluzione nei suddetti punti. L'errore locale, invece, e la differenza fra la soluzione approssimata e quella esatta, dopo un solo passo del metodo iniziato con dati esatti. E opinione generalmente accettata che i metodi « one - step », in particolar~ i me­todi tipo Runge - Kutta, notoriamente non permettono una facile ed efficiente stima dell'errore locale, per non parlare di quello globale. La situazione, negli anni recenti, e un po cambiata dopo che sono di­ventati noti schemi abbastanza efficienti per stimare accuratamente (almeno asintoticamente per piccoli passi) l'errore locale. E naturale,

(*) Questo lavoro e stato sovvenzionato in parte dalla National Science Foundation, progetto di ricerca GP- 36557.

Page 2: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

602 WALTER GAUTSCHi [2]

allora, tentare di incorporare tali schemi in procedimenti per la stima dell'errore globale. Questo e l'oggetto del nostro lavoro.

Le stime desiderate (come, nei principi, e stato da tempo noto) possono essere ottenute integrando l'equazione differenziale variazionale soddisfatta dalla parte principale dell'errore globale. Quest'approccio richiede il calcolo della matrice di Jacobi del sistema differenziale, valutata lungo la traiettoria della soluzione, e percio, in pratica, puo limitare l'applicabilita del procedimento a problemi di piccola o me­dia dimensione. Ciononostante, la presenza della matrice di Jacobi e del tutto naturale, in vista del suo ben noto ruolo nella teoria delle perturbazioni. (Per procedimenti che non usano la matrice di Jacobi, vedi [20] ).

Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one- step », includendo anche le loro proprieta di stabilita e conver­genza ([11], [10], [21]). L'attuazione numerica, e la giustificazione teorica, del procedimento per la stima dell'errore globale e presentata nei paragrafi 8-9. II paragrafo 10, finalmente, contiene un esempio numerico.

2. II sistema ditferenziale.

Consideriamo il problema di Cauchy

(2.1) dyfdx = f (x, y), a::;;;: x ~ b, Y (a.)= Ya,

per un sistema di m equazioni differenziali ordinarie del primo ordine. Supponiamo f definita e sufficientemente regolare nel dominio rettan­golare

fRo= [a, bj X CJJ0 , CJJ0 = ~ y E.1Rm : ci::::;:;: yi::;;;: di, i = 1, 2, ... , m t, dove yi denota la i-esima componente di y. Consideriamo C'f20 come dominio fondamentale in cui si troveranno non solo la soluzione esatta, ma anche tutte le approssimazioni costruil:e. Per varie ragioni dovremo in seguito allargare leggermente il dominio in cui f e definita.

Intanto, assumiamo, una volta per sempre, che YaE CJJo, e che (2.1) abbia un'unica soluzione y (x) su [a, b] tale che y (x)ECJJo per a<x<b.

3. Metodi <<one-step».

Un metodo « one - step » per il calcolo di una soluzione approssi­mata di (2 .1) puo essere individuato da una funzione

Page 3: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

Stime dell'errore g1obale nei metodi «one-step» ecc. 603

(3.1) cp: [a, b] X CJJ0 X lO, h0]-+ 1Rm,

che in qualche modo e legata alia funzione f in (2.1). In accordo con

(3.2)

essa indica come procedere da un punto generico (x, y) al punto « successivo » (x+h, Yh), proprio come f indica il procedere da (x, y) a (x+dx, y+fdx).

Per ottenere una successione Un = y (xn) di approssimazioni della soluzione di (2.1), la formula (3.2) e usata nel modo seguente:

dove Xn =a+ ht + hz + ... + hn, e XN =b. La scelta dei «passi» ht, h2, ... , hN fa parte del meccanismo di controllo per la (3 .2), che, normalmente, viene costruito con l'intenzione di mantenere sufficientemente piccola la norina dell'errore, II Un-Y (xn) 11. Piu in generale, il meccanismo di controllo puo anche involvere la scelta di metodi « one - step » differenti per valori di n differenti. Per semplicita, tuttavia, supponiamo che cp rimanga fisso.

Come indicato in (3.1), vogliamo che cf> sia definita su tutto LRo X [0, ho]. Per qualche metodo, questa assunzione richiede che il dominio di definizione di f sia leggermente allargato. Per esempio, se cf> rappresenta la regola del punto medio,

cp (x, y; h) =f(x + + h, y + T hj(x, y)),

l'intervallo [a, b] dovra essere allargato a destra, della quantita + h0,

mentre i lati di CJJo dovranno essere estesi da ambo gli estremi, della

quantita +hoMo, dove Mo = mass II f (x, y) 11. CRo

Assumiamo, una volta per sempre, che O<hn+l <ho e Un€ CJJo per ogni n=O, 1, ... , N -1.

4. Descrizione locale dei metodi << one-st.ep >>.

Ci sono alcuni concetti che descrivono le proprieta locali di un metodo cf>. Incominciamo con quello dell'errore di troncamento (o « errore locale »).

Page 4: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

604 WALTER GAUTSCHI (4] -----------------------------------------

Dato un punta generico (x, y)ECfto, costruiamo un tratto di so­luzione di (2.1) passante per esso,

(4.1) dujdt =f(t, u), x s;;: t s;;: x + h0 , u (x) = y.

Chiamiamo u (t), x<t<x+ho, la soluzione di riferimento nel punta (x, y), e denotiamola, se necessaria, piu completamente con u (t; x, y). Supponiamo che u (t; x, y), x<t<x+ho, sia definita per tutti i punti (x, y)ECfto; ancora una volta, questa ipotesi richiede una leggera esten­sione del dominic di definizione di f.

DEFINIZIONE 4.1. Per qualunque (x, y)ECfto e hE(O, ho], !'errore di troncamento di (/) nel punto (x, y) e definite da

(4.2) t (x, y; h) = h-1 [Yh - n (x + h; x, y)].

Per la (3.2), quindi,

(-4.2') t (x, y; h)= iJ> (x, y; h)- h-1 [u (x +h)- n (x)].

DEFINIZIONE 4.2. II metodo ifJ e detto consistente se

t (x, y ; h) --+ 0 quando h --+ o,

uniformemente per (x, y)E LR0 •

Per la (4.2') e (4.1), se ifJ e consistente, allora necessariamente

(4.3) cJ> (x, y; 0) = f(x, y).

DEFINIZIONE 4.3. II metodo ifJ ha ordine p se esiste una costante C>O, indipendente da x, y e h, tale che

(4:4) II t (x, y; h) II ~ OhP per ogni (x, y) E lft0 , It E [0, h0].

La proprieta (4.4) sara espressa piu brevemente nella forma

(4.4') t (x, y; h) = 0 (hP), h--+ 0.

Normalmente, p e un intero. (Vedi, tuttavia, [5]). Chiamiamo p ordine -esatto di ifJ se Ia (4.4) non vale per nessun p piu grande. Evidentemente, p > 0 implica la consistenza di ifJ,

Page 5: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

[5] Stime dell'errore globale nei metodi «one-step» ecc. 605

DEFINIZIONE 4.4. Una funzione r (x, y) su lf20 , per la quale r (x, y)$0 e

(4.5) t (x, y; h)= -z: (x, y) hP + 0 (hP+1), h---+ 0,

e chiarnata funzione-errore principale del metodo C/J. Poiche r$0, p in (4.5) e l'ordine esatto di C/J.

o. Descrizione globale dei metodi << one-step >>.

Esarniniarno ora il cornportarnento globale dell'algoritrno (3.3). L'insierne di punti

verra chiarnato una maglia sull'intervallo [a,b], e lo denotererno con mh [a, b], dove h sta per l'insierne delle lunghezze ht, hz, ... , hN. L'am­piezza della rnaglia 11lh [a, b] e definita da

I h I = mass hn . l;S;n;S;N

Una funzione (a valori vettoriali) definita sulla rnaglia mh [a, b] e chia­rnata una funzione maglia. Qualunque funzione y (x) definita su [a, b] induce una funzione rnaglia mediante restrizione.

All'algoritrno (3.3) associarno un operatore Dh definito da

Dh agisce su funzioni rnaglia u (con UnE CJJ0) e genera una nuova fun­zione rnaglia definita ovunque sulla rnaglia, eccetto al punto finale XN.

Notiarno che per la soluzione esatta y (x) della (2.1), in virtu della (4.2'),

(5,2)

DEFINIZIONE 5.1. 11 rnetodo C/J e detto stabile su [a, b] se per una rnaglia arbitraria mh [a, b], con I hI arbitrariamente piccola, e per funzioni rnaglia arbitrarie v, w (con VnECJJ0 , tf'nECJJ0,), esiste una costan­te K > 0 non dipendente da n e h tale che

(5.3) mass II 'Vn - Wn II:::;;: K (II v0 - w0 II + mass II (Dn v)n- (Dh w)n II). OSn;S;N O.;S;n;S;N-1

Page 6: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

606 WALTER GAUTSCHI [6]

Ci riferiamo alla (5.3) come disuguaglianza di stabilita. Per moti­vare la Definizione 5.1, siano u, w due funzioni maglia per le quali

(Dh u)n = O, 0 < n ~ N- 1, u 0 = Ya,

(Dh W)11 = Bn , 0 ~ n ~ N- 1, W 0 = Ya + e,

dove En, c sono vettori « piccoli ». Possiamo interpretare u come il ri­sultato dall'algoritmo (3.3, calcolato con precisione infinita, e w come quello ottenuto con precisione finita. I vettori residui En e E riflettono la presenza di errori di arrotondamento. La stabilWt, allora, implica che

mass II ttn- w,. II S: K( II e II+ mass II e,. II), o.s;n.:SN o.s;n.:SN-1

cioe, !'errore del risultato con precisione finita e della stesso ordine di grandezza degli errori di arrotondamento, qualunque sia la « finezza »

della maglia scelta. E rimarchevole che essenzialmente tutti i metodi « one -step »

sono stabili.

TEOREMA 5.1. Se <!> (x, y; h) soddisfa ad una condizione di Lipschitz rispetto a y, uniformemente su [a, b] X CJJo X [0, h0], cioe,

ll£P (x, Y; h) - lP (x, y" i h) II < M II Y - y* II ' (5.4)

per ogni x € [a, b], y, y* € CZJ0 , h € (0, h0 ],

aflora il metoda iP e stabile.

Per la dimostrazione si prendono due qualunque funzioni maglia v, w, e si verifica che

en ~ (1 + hn M) en-1 + hn d, n = 1, 2, ... , N, dove

en= 1/ v,. - Wn II, d = mass II (Dh v)n - (Dh w)n II. O.:Sn.=;;;N-1

Segue allora facilmente che

n en ~ e<b-a)M eo + e(b-a)M ~ hk d :::;;: e(b- a)M ~ eo+ (b - a) d f,

k=l

n = o, 1, 2, ••. , N,

Page 7: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

[7]

cioe,

Stime dell'errore globale nei metodi «one-step» ecc.

mass e,. ~ e'b-a)M~ e0 + (b- a) d I, 05.n5.N

607

che e la disuguaglianza di stabilita (5.3) con K=e<b-a)M mass (1, b-a). Il Teorema 5.1 rimane valido per algoritmi a metodi variabili,

invol venti una famiglia di metodi « one - step » { <Pn}, se per ciascuno assumiamo una condizione di Lipschitz con costante M indipendente dan.

E utile notare che <P non deve essere necessariamente continua in x.

CoROLLARIO. Sia mh [a, b] una arbitraria maglia su [a, b] e siano An, bn due funzioni maglia su mh [a, b], la prima a valori matri­ciali e l'altra a valori vettoriali, tali che

(5.5) II A,. II< a, II b,. II S: ~ per n = 0, 1, ... , N- 1,

dove a, (J non dipendono da n e h. Data una qualunque junzione maglia u (a valori vettoriali) su mh [a, b], soddisjacente

esiste una cost ante y > 0, indipendente da n e h, e dipendente solo da a, fJ e uo, tale che

(5. 7) II Un II< y, n = O, 1, ... , N.

Il corollario segue ponendo An= A (Xn), bn = b (xn), per certe fun­zioni limitate A (x), b (x), e osservando che

<P (x, y; h) = A (x) y + b (x)

soddisfa ad una condizione di Lipschitz (5.4) su 92o= [a, b] xmm con costante M=a. Prendendo Vn=Un, 1Vn=O nella disuguaglianza di sta­bilita (5.3), otteniamo la limitazione desiderata (5.7) con r=K(l!uoll +fJ). La costante K dipende da a.

6. Convergenza dei metodi «one-step».

DEFINIZIONE 6.1. Il metodo <P e detto convergente su [a, b] se per x arbitraria, con a<x<b, abbiamo

(6.1) mass II u,.- y {xn) II-+ 0 quando I hI~ o, O~n~N

Page 8: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

608 WALTER GAUTSCHI [8] ----------------------------------------------

dove a=xo<Xl < ... <xN=x e una maglia su [a, x] con ampiezza I hI = mass (Xn -Xn-1), { Un} sono i vettori approssimazione generati

!-S;n5N

dall'algoritmo (3.3) su quella maglia, e y (xn) e il vettore soluzione esatto della (2.1) al punto- maglia Xn.

La disuguaglianza di stabilita (5.3), applicata con Vn=Un, wn=

=y (Xn), e la (5.2), insieme danno immediatamente il risultato seguente:

TEJOREMA 6.1. Un metoda cfJ e convergente se e consistente e sta­bile. Di piu, se cfJ ha ordine p, allora

(6.2) mass II Un- y (xn) II= 0 (I hIP), j hI-+ 0. O.sin5N

7. Formula asintotica dell'enore.

Per quello che segue avremo bisogno di un raffinamento del Teore­ma 6.1, ottenuto indipendentemente da HENRICI [11] e TIHONOV­GoRBUNOV [23], [24]. (Per risultati alternativi piu recenti, vedi

RAKITSKII [16] ). Supponiamo che

(7.1) hn+I = {} (xn) h, n = O, 1, ... : N - 1,

dove i} (x) e continua a tratti su [a, b] e

(J:::;;;; {} (x):::;;;; e su [a, b], 0 < (J::::;;: 1 ~ e.

Inoltre, per il « passo base » h in (7 .1) richiediamo che

0 < h:::;;;; h0 @-1

cosi che hn+l < ho, in accordo con precedenti ipotesi.

(7.2)

L'algoritrno (3.3) diventa allora

I Xn+l = Xn + {} (xn) h,

ltn+l = .. Un .+ {} (xn) h iP (xn 'Un; {} (xn) h), n = o, 1, ... 1 N- 1,

Xo = a, tto = Ya '

con N tale che XN=b.

TEOREMA 7.1. Supponiamo che

Page 9: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

[9] Stime dell'errore globale nei metodi «one-step» ecc. 609

(i) r!J (x, y; h)EC2 [C"RoX [0, ho]],

(ii) r!J sia un metoda di ordine p > 1 ammettente una funzione­errore principale r (x, y)EC [020,],

(7.3)

(iii) e (x) sia Ia soluzione del problema lineare a valori iniziali

l e' = jy (x, y (x)) e + [ ~ (x)]P 1: (x, y (x)),

e (a)= 0,

dove fy= [f~i] denota Ia matrice di Jacobi di f. All ora

(7.4) mass II ttn- y (xn)- e (:r,.) hP II = 0 (hP+1), h-+ 0. os;ns;N

Quest'ultima sara espressa piu brevemente nella forma

8. Stime dell'errol'e globale.

Per stimare l'errore Un-Y (xn), ad eccezione di termini di ordine 0 (hP+1), basta, secondo la (7 .4'), ottenere e (xn) con un errore di ordine O(h). Questa puo essere realizzato integrando la (7.3) mediante il metodo di Euler, usando approssimazioni appropriate per la matrice di Jacobi e per la funzione-errore principale lungo la traiettoria della solu­zione.

TEOREMA 8.1. Assumiamo che

(i) r!J (x, y; h)EC2 [C"RoX [0, ho]],

(ii) r!J sia un metoda di ordine p > 1 ammettente una junzione -errore principale r (x, y)EC1 (020],

(iii) sia nota una stima r (x, y; h)EC [C"RoX [0, ho]] dell' errore di troncamento t (x, y; h) soddisjacente

(8.1) r (x, y; h)= t (x, y; h)+ 0 (hP+t), h-+ 0,

unijormemente per (x, y)€ 020 ,

(iv) insieme con Un sia generata Ia successione Vn, n=O, 1, ... , N, nel modo seguente

Page 10: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

610 WALTER GAUTSCHI [10]

I Xn+l = Xn + {} (xn) h, · ·

ttn+l = Un + {} (xn) h iP (Xn , 1ln; {} (xn)h), (8.2) ·1••+• = ~. +.? (xn) h [f, (xn , •.) Vn + h-P r (xn , "• ; .? (xn) h)],

, X.o = a, Jt0 :::= '!fa ~. v0 . .0,

dove XN=b. Allor a

(8.3) Un - y (xn) = Vn hP + 0 (hP+I), 0 ::;: n ~· N.

DIMOSTRAZIONE. Notiamo dapprima che

(8.4)

(8.5)

. . . '

Infatti, la (8.4) segue dalla (6.2) e dall'ipotesi (i), secondo la quale f (x, y)=«P (x, y; 0)€C2 [CRo]. Inoltre, poiche ry e continua per l'ipo-tesi (ii), : . , , 1 • , ,

'f (Xn, Un) = 7: (Xn, Y (.t:n)) + l'y (Xn, 11n) (Un- Y (xn)),

dove Un e un punto del segmento cbn estremi Un e y (xn) (la sua esatta posizione varia·· da componente ·a cdmponente). Quindi, usanda di nuo­vo'Ia (6.2), z(xn,Un)=r(Xn,y(xn))+O(hP), e per l'ipotesi (iii),:e Ia {4.-5),

i;"

. da cui segue la (8.5), essengo p> 1. Sia ora g (x, y)=fy (x, y (x)) y+ W. (x)]P r (x, y (x)). Avendo l'equ,a­

zione per 1'n+l in (8.2) la forma Vn+t=v,+hn+l (An 1'n+bn), con An rna­. trici limitate e bn vetfori limitati, dal corollario del Teorema 5.1 segue

che

(8.6) Vn --;- Q (l), ·'. ~ --+ Q,

Sostituendo (8.4), (8.5) e (8.6) nell'equazione per Vn+I, e notando dalla (8.5) che

', (

Page 11: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

[11] Stime dell'errore globale nei metodi «one-step» ecc. 611

troviamo

Poiche Vo=O, quest'ultima e una 0 (h2)- perturbazione del metodo di Euler applicato a e' = g (x, e), e (a)=O, {< equa'zione variazionale- »• ·(7 .3) del Teorema 7 .1. Essendo il metodo di Euler stabile, possiamo conclu­dere che Vn-e (xn)+O(h), da cui, in virtu della (7.4'), segue la (8.3). II Teorema 8.1 e cosl provato.

E di qualche interesse notare che l'assunzione (ii), concernente 'r,

puo essere indebolita a 'r (x, y)EC [0201. Poiche l'ipotesi piu forte fu usata solo per provare la (8.5), basta mostrare che la (8.5) pl1o essere ottenuta sotto la piu debole ipotesi.

Dalla definizione ( 4.2') dell'errore di troncamento, abbiamo

(8. 7) ty (x, y; h) · · <Py (.v, y; h) - h-1 [u~ (x +h) - uy (x)],

dove Uy (t) e la matrice di Jacobi della soluzione di riferimentO U (t; X, y). Poiche f (x, y)EC2 [020], possiamo sfruttare il ben noto fatto [3, p. 27] che Uy (t) e' soluzione del problema a valori iniziali .

" ~ duyjdt =fy (t, u) tty, x::::::;: t < x + h0 ,

( uy (x) =I,

dove I e la rna trice identita. Inoltre, Uy € C2 [x, X+ ho] . Quindi l -·

dove x < g < x + h (la posizione esatta di g differisce da c.omponente a componente). Usando quest'ultima .relazione nella (8.7),,.insieme con

<Py (x, y; h)=Py (x, y; O)+hPyh(x,y;h)=f~ (x, y)+O(h), ~·tteniamo

(8.8) ty (x, y; h) = 0 (h), h' '---+ 0.

Ora, dalla (8.1),

r (fn 1 Un; h)= t (Xn, Un i h)+ 0 (hP+l) =

Page 12: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

612 WALTER GAUTSCHI (12]

e quindi dalle (8.8) e (6.2),

la quale, di nuovo, afferma la (8.5).

9. Stimatori per l'errore di t•·oncamento.

Molti stimatori r (x, y; h) per l'errore di troncamento, che soddisfa­no la (8.1), sono stati trovati. Il pili noto, forse, e quello basato sulla estrapolazione a zero di Richardson. Tuttavia, questo procedimento e alquanto inefficiente, in termini di valutazioni addizionali di funzioni. Pili attrattivi sono stimatori usanti coppie di metodi « one- step ». Se <P e il metodo base di integrazione, di ordine p, e <P':' e un qualunque metodo di or dine p* = p + 1, all ora

(9.1) t· (x, y; h) = <P (x, y; h) - tP" (x, y; h)

e uno stimatore accettabile. Infatti, dalla definizione (4.2),

tP (x, y; h) - h-1 [n (x + h)- u (x)] = t (x, y; h),

t;P* (x, y; h) - h-1 fu (x + h)- u (x)] = 0 (hP+1),

da cui la (8.1) segue per sottrazione. Spesso, <P e un processo Runge- Kutta esplicito a s fasi,

( let = f (x, y),

'ka =J(x + fta h, Y + h ai 1Aa.-k.), a= 2, 3, ... , s, I 3 ·=1

I <P (x, y; h)= X aa lea (x, y; h). \ u=l

Per rendere efficiente la (9.1), come <P* si sceglie un processo analogo a s* fasi, con s* >s, in modo tale che

11: = fta , A.;,= Aa• per a = 2, 3, ... , s.

Lo stimatore r (x, y; h) allora «costa» solamente s*-s valutazioni addizionali di f. Se s* =s+ 1, si puo anzi tentare di risparmiare una

Page 13: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

[13] Stime dell'errore globale nei metodi «one-step» ecc. 613

ulteriore valutazione, scegliendo (se possibile)

(9.2) f's* = 1, As•r =a, per -c = 1, 2, ... , s•- 1.

In questo caso, infatti, ks• sara identico al k, del passo successivo. Molte coppie di formule Runge - Kutta di questo tipo sono state

sviluppate da FEHLBERG [6], [7], [8]. Esiste una considerevole liberta nella scelta dei parametri P,a , Aar , aa • Le scelte di FEHLBERG furono guidate da un tentativo di ridurre la grandezza della funzione- errore principale r (x, y) del metodo fP. Le sue formule corrispondono ai va­lori di p, s, s* qui sotto riportati.

p 3 4 5 6 7 8

8 4 5 6 8 11 15

s* 5 6 8 10 13 17

Per p=3 (p* =4), per esempio, le formule soddisfano la (9.2), e assumono la forma seguente:

lei =f(x, y),

+ 35 + 805 77175 97125 k4 = f (x 38 h, Y u.t.4 hki - 54872 hk2 + 54872 hka),

(9.3)

+ 79 + 2175 + 2166 'Yh = '!! h (490 k1 3626 k3 9065 k.i),

Formule simili sono state ricavate da altri autori; vedi per esempio, CESCHINO [2], TANAKA [22], BACHMANN (1], SARAFYAN [17], ENG­LAND [ 4]. Stimolatori che usano informazioni su piu passi consecutivi

Page 14: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

614 WALTER GAUTSCHI [14]

v

sono dati da SHINTANI [18], [19], PROTHERO [15], KIS [13], (14], e HUDDLESTON [12].

10. Esempio numerico.

Illustriamo il Teorema 8.1 applicando il metodo di Fehlberg del terzo ordine (9.3) ad un esempio preso da [9], ossia,

d 2cjdx2 = - n 2 x2 c- n 8 (c2 + s2)-1/2,

(I 0.1) 2 Jlq~x~ 2 Vq + 1,

dove q > 0 e un intero. Scegliamo come condizioni iniziali

(10.2) c = 1, dcfdx = 0, 8 = 0, d8/dx = 2n Jlq per x = 2 V(/,

le quali (per ogni q=O, 1, 2, ... ) individuano Ia soluzione

(10.3) c(x) =cos (i- x 2), 8 (x) =sen (-'i .~r2 ), 2 Vq ~ x ~ 2 fq+ 1.

Per lo scopo di questa illustrazione, (10.1) e trattato come un sistema di quattro equazioni differenziali del primo ordine per la funzione vettore

y(x) =

c (x)

c' (x)

8 (x)

s' (x)

La lunghezza dell'intervallo di integrazione e ten uta costante a 1, rna l'intervallo stesso viene spostato a destra come q assume i valori 0, 1, 2, ... , ricoprendo in questo modo regioni di frequenze gradual­mente crescenti. Ci si aspetta, percio, che la stima dell'errore diventi pili difficile al crescere di q.

Scegliamo (arbitrariamente) la funzione di controllo per il passo

( 1 1

,? (x) J+ se 0<~<,,

1 1 se ,<~~2,

~~ 1 a se 2 < ~~,' 3 se 7 < ~~ 1,

Page 15: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

q -

0

-0

1

2

3

4

5

[15] Stime deU'errore globale nei metodi «one-step» ecc. 615

dove g = x- 2 llq. Risultati numerici selezionati sono riportati piu sotto nella Tavola 1. La prima colonna contiene i valori di q, la seconda al­cuni valori selezionati Xn di x, la terza gli errori globali osservati II Un-Y (Xn) lloo, e la quarta le stime II t'n h3 JJ= secondo la (8.3) (dove p=3). La colonna etichettata con « % » indica le discrepanze, in per­centuale, tra gli errori effettivi e quelli stimati. La parte inferiore del­la tavola riporta solamente quegli errori e queUe stime per cui la di­screpanza e massima.

h= .025 h = .0125 h = .00625

X errore stima Ofo errore stima % ~rrore stima --

X 107 X 107 X 108 X 108 X 109 X 109 I

.1 .67665 67638 .04 .84548 .84529 .02 1.0566 1.0565

.2 1.3532 1.3484 .36 1.6850 1.6818 .19 2.1017 2.0996

.3 1.7165 1.7037 .75 2.1259 2.1175 .39 2.6442 2.6388

A 1.7566 1.7400 .95 2.1663 2.1555 .50 2.6885 2.6815

.5 1.7439 1.7200 1.37 2.1349 2.1195 .72 2.6395 2.6295

.6 5.00i3 5.1641 3.19 6.5333 6.6252 1.41 8.3289 8.3839

.7 12.075 12.161 .72 15.551 15.584 .22 19.689 19.704

.8 69.886 66.962 4.18 89.073 86.832 2.52 111.59 110.06

.9 219.68 202.87 7.65 267.98 256.04 4.46 327.51 319.58

1.0 417.22 368.32 11.7 476.14 442.74 7.01 559.66 537.85

--

mnx 4.17(-5) 3.68(-5) 11.7 4.76(-6) 4.43(-6) 7.01 5.60(-7) 5.38(-7)

max 2.10(-4} 2.63(-4) 25.0 .970(-3) 1.19( -3) 23.1 9.04(-5) 1.05( -4)

max 2.73( -3) 3.69(-3) 34.9 3.95( -4) 5.09(-4) 28.8 2.28(-4) 2.71(-4)

max 7.45( -3) 11.5(-3) 54.4 4.82(-3) 6 67(-3) 38.3 8.43( -4) 1.11(-3)

max 1.45( -2) 2.62( ·-2) 81.3 1.49(-3) 2.18(-3) 46.8 1.6l(-3) 2.19(-3)

max ,3.34(-2) 6.94(-2) 107. 2.79(-3) 4.50(-3) 61.1 2.88(-3) 4.07(-3)

TAVOLA 1. Errori globali, e lora stime, per l'esempio (10.1), calcolati con i1 metoda di Fehlberg (9.3) e con procedura di stima (8.2). (I numeri in parentesi indicano potenze decimali, per esempio, 4.17 (-5) = =4.17X 10-5).

%

.01

.10

.20

.26

.38

.66

.07

1.37

2.42

3.90

--3.90

16.3

19.0

31.5

36.1

41.2

Page 16: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

616 WALTER GAUTSCHI [16]

Come aspettato, la qualita delle stime peggiora al crescere di q, rna migliora al decrescere di h. Per q = 0 la deviazione percentuale viene circa dimezzata ogni volta che h e ridotto a h/2, indicando che i risultati rispettano la Iegge asintotica espressa in (8.3). Per q> 0, la situazione non e ancora del tutto maturata a questo punto, rna le stime, ciononostante, sono piuttosto soddisfacenti.

BIBLIOGRAFIA

[1] K. H. BACHMANN: Geniiherte Integration von Differentialgleichungssystemen mit Schrittweitensteuerung, Z. Angew. Math. Mech. 48 (1968), 210-212.

[2] F. CEsCHINo: Evaluation de l'erreur par pas dans les problemes differen­tiels, Chiffres 5 (1962), 223-229.

[3] E. A. CoDDINGTON - N. LEVINSON: Theory of ordinary differential equations, McGraw-Hill, New York, 1955.

[4] R. ENGLAND: Error estimates for Runge-Kutta type solutions to systems of ordinary differential equations, Comput. J. 12 (1969/70), 166-170.

[5] H. EssER - K. SCHERER: Konvergenzordnungen von Ein-und Mehrschritt­verfahren bei gewohnlichen Differentialgleichungen, Computing 12:{1964r, (1974), 127-143.

[6] E. FEHLBERG: Classical fifth-, sixth-, seventh-, and eighth- order Runge­Kutta formulas with stepsize control, NASA Technical Report 287 (1968).

[7] E. FEHLBERG: Klassische Runge- Kutta- Formeln fiinfter und siebenter Ordnung mit Schrittweiten- Kontrolle, Computing 4 (1969), 93-106.

[8] E. FEHLBERG: Klassische Runge- Kutta- Formeln vierter und niedrigerer Ordnung mit Schrittweiten- Kontrolle und ihre Anwendung auf Wiirme­leitungsprobleme, Computing 6 (1970), 61-71.

[9] E. FEHLBERG: Klassische Runge-Kutta-Nystrom-Formel'n mit Schrittweiten­

Kontrolle fiir Differentialgleichungen x=f (t, x), Computing 10 (1972), 305-315.

[10] R. D. GRIGORIEFF: Numerik gewohnlicher Differentialgleichungen, Vol. 1: Einschrittverfahren, Teubner, Stuttgart, 1972.

[11] P. HENRICI: Discrete variable methods in ordinary differential equations, John Wiley, New York and London, 1962.

[12] R. E. HuDDLESTON: Variable- step truncation error estimates for Runge­Kutta methods of order 4 or less, J. Math. Anal. Appl. 39 (1972), 636-646.

~~

Page 17: Stime errore globale nei metodi one -step ,, per equazioni ... · Nei paragrafi 2-7 rivediamo alcuni dei concetti base per i metodi « one-step », includendo anche le loro proprieta

: 'V

[17] Stime delt'errore g1oba1e nei metodi «one-step» ecc. 611

[13] 0. KI~: Su una stima dell'errore per il metodo di Runge-Kutta (russo), Studia Sci. Math. Hungar. a (1970), 427-432.

v

[14] 0. K1s: Sul metodo di Runge- Kutta (russo), Studia Sci. Math. Hungar. 0 (1970), 433-435.

[15] A. PROTHERO: Local- error estimates for variable- step Runge- Kutta me­thods, Con£. on Numerical Solution of Differential Equations (Dundee, 1969), 228-233. Lecture Notes in Mathematics 109. Springer, Berlin­Heidelberg- New York, 1969.

[16] Ju. V. RAKITSKII: Formule asintotiche dell'errore per le soluzioni di sistemi di equazioni difjerenziali ordinarie mediante metodi numerici funzio­nali (russo), Dokl. Akad. Nauk SSSR 193 (1970), 40-42.

[17] D. SARAFYAN: Error estimation for Runge- Kutta methods through pseudo­iterative formulas, Riv. Mat. Univ. Parma (2) 9 (1968), 1-42.

[18] H. SHINTANI: Approximate computation of errors in numerical integration of ordinary differential equations by one - step methods, J. Sci.

Hiroshima Univ. Ser. A- I Math. 29 (1965), 97-120.

[19] H. SHINTANI: On a one-step method of order 4, J. Sci. Hiroshima Univ. Ser. A- I Math. 30 (1966), 91-107.

[20] H. J. STETTER: Local estimation of the global discretization error, SIAM J. Numer. Anal. 8 (1971), 512-523.

[21] H. J. STETTER: Analysis of discretization methods for ordinary differential equations, Springer, New York- Heidelberg- Berlin, 1973.

[22] M. TANAKA: Runge- Kutta formulas with the ability of error estimation, Rep. Statist. Appl. Res. Un. Japan. Sci. Engrs. 13 (1966), no. 3, 42-62.

[23] A. N. TIHONOV- A. D. GORBUNOV: Limiti asintotici dell' errore per il metodo v v

Runge- Kutta (russo), Z. Vycisl. Mat. i. Mat. Fiz. 3 (1963), 195-197.

[24] A. N. TIHONOV- A. D. GoRBUNOV: Stime dell' errore per un metoda di tipo v v

Runge- Kutta e scel'ta di maglie ottimali (russo), Z. Vycisl. Mat. i Mat. Fiz. 4 (1964), 232-241.

Pervenuto in Redazione il 28 dicembre 1974.