Upload
buingoc
View
216
Download
0
Embed Size (px)
Citation preview
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 vettore - 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 metodi 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 diventati 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.
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 media 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 convergenza ([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 rettangolare
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 approssimata di (2 .1) puo essere individuato da una funzione
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 »).
604 WALTER GAUTSCHI (4] -----------------------------------------
Dato un punta generico (x, y)ECfto, costruiamo un tratto di soluzione 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 estensione 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,
[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'ampiezza 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 chiarnata 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 funzione 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 costante 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
606 WALTER GAUTSCHI [6]
Ci riferiamo alla (5.3) come disuguaglianza di stabilita. Per motivare 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 risultato 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,
[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 matriciali 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 funzioni 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 stabilita (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
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 stabile. 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 Teorema 6.1, ottenuto indipendentemente da HENRICI [11] e TIHONOVGoRBUNOV [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
[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 funzioneerrore 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 soluzione.
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
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 nuovo'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
', (
[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 concludere 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) =
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 soddisfano 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
[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 valori 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], ENGLAND [ 4]. Stimolatori che usano informazioni su piu passi consecutivi
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 gradualmente 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,
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 alcuni 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 percentuale, tra gli errori effettivi e quelli stimati. La parte inferiore della tavola riporta solamente quegli errori e queUe stime per cui la discrepanza 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
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 differentiels, 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 Mehrschrittverfahren bei gewohnlichen Differentialgleichungen, Computing 12:{1964r, (1974), 127-143.
[6] E. FEHLBERG: Classical fifth-, sixth-, seventh-, and eighth- order RungeKutta 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 Wiirmeleitungsprobleme, 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 RungeKutta methods of order 4 or less, J. Math. Anal. Appl. 39 (1972), 636-646.
~~
: '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 methods, Con£. on Numerical Solution of Differential Equations (Dundee, 1969), 228-233. Lecture Notes in Mathematics 109. Springer, BerlinHeidelberg- New York, 1969.
[16] Ju. V. RAKITSKII: Formule asintotiche dell'errore per le soluzioni di sistemi di equazioni difjerenziali ordinarie mediante metodi numerici funzionali (russo), Dokl. Akad. Nauk SSSR 193 (1970), 40-42.
[17] D. SARAFYAN: Error estimation for Runge- Kutta methods through pseudoiterative 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.