Slides estratte dalla tesi EMT UNA LIBRERIA MATLAB PER
Document Sample


Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Slides estratte dalla tesi: EMT: UNA
LIBRERIA MATLAB
PER METODI DI ESTRAPOLAZIONE ED
APPLICAZIONI
Corso di Laurea in Matematica
Laureanda: Elena De Cia
Relatore: Prof. Michela Redivo Zaglia
a
Universit` degli studi di Padova
a
Facolt` di Scienze MM.FF.NN
Anno Accademico 2008-2009
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Successioni convergenti
Confronto e Trasformazione di successioni Consideriamo delle
successioni numeriche convergenti allo stesso limite.
Confronto:
Siano Sn e Tn due successioni entrambe convergenti ad S.
u
Si dice che Tn converge pi` rapidamente di Sn se
Tn − S
lim = 0.
n + Sn − S
Trasformazione:
o
Se Sn converge lentamente al suo limite S, allora pu` essere
trasformata in una nuova successione Tn con una
trasformazione di successione T :
T Sn Tn
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Successioni convergenti
a
Propriet` richieste
Vogliamo che, sotto alcune ipotesi, la nuova successione possieda
a
le seguenti propriet`, almeno per alcune classi di successioni
convergenti:
1 Tn converge;
2 Tn converge allo stesso limite S di Sn ;
e
in tal caso si dice che T ` regolare per Sn ;
3 u
Tn converge pi` velocemente di Sn ;
in tal caso si dice che T accelera la convergenza di Sn .
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Successioni convergenti
Risultato negativo
Teorema [DELAHAYE,GERMAIN-BONNE, 1980]
Non esiste una trasformazione di successione che permetta di
accelerare la convergenza di tutte le successioni convergenti.
´
E quindi importante e necessario trovare e studiare differenti
e
trasformazioni di successioni in quanto ognuna di esse ` capace di
accelerare la convergenza solamente di certe ‘classi’ di successioni.
Nucleo:
o
Ad ogni trasformazione di successione T pu` essere associato il
e
suo Nucleo, che ` l’insieme delle successioni per le quali esiste
S tale che, n (eventualmente n N, N N) si ha Tn = S.
u e
Abitualmente il nucleo dipende da pi` parametri, tra i quali vi ` S.
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Successioni convergenti
´
Accelerazione della convergenza E importante capire un concetto
basilare dei metodi di estrapolazione e dei relativi algoritmi:
se la successione Sn appartiene al nucleo di una certa
trasformazione, applicando quest’ultima, teoricamente (ma
non numericamente) a partire eventualemente da un certo
e
indice N N, si ottiene la successione costante S dove S ` il
limite di Sn ;
se applichiamo la stessa trasformazione ad una successione
e
Sn il cui andamento ` simile a quello di una del nucleo, ci
aspettiamo che vi sia accelerazione della convergenza.
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Successioni convergenti
Strategie per metodi di estrapolazione: 1a Nella costruzione dei
metodi di estrapolazione possono essere eseguite due strategie
principali:
Strategia:
(i) Si definisce il Nucleo attraverso una relazione che
dipende da S e da alcuni parametri;
(ii) Si cerca di determinare l’espressione di S in modo che
dipenda unicamente da alcuni termini della successione
Sn e da eventuali successioni ausiliarie definite nel
nucleo, e si pone Tn = S;
(iii) Si definisce un algoritmo ricorsivo che determini Tn
senza utilizzare determinanti (operazione
computazionalmente non ammissibile);
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Successioni convergenti
Strategie per metodi di estrapolazione: 2a
Strategia:
(i) Si definisce una trasformazione di successione T e se ne
a
dimostrano le eventuali propriet` di accelerazione;
(ii) Se ne definisce l’algoritmo ricorsivo;
(iii) Si cerca di determinare il Nucleo di tale trasformazione.
e
Non sempre ` possibile, con tale strategia, determinare il Nucleo
a
(ad esempio, per l’algoritmo ϑ si conoscono numerose propriet` di
e
accelerazione ma il nucleo non ` ancora noto).
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esame
Metodi con la prima strategia:
Richardson Extrapolation Process:
k
Nucleo : Sn = S + a1 xn + . . . ak xn
n
Calcolo di Tn = Tk (rapporto di due determinanti)
Algoritmo ricorsivo: Neville-Aitken algorithm
(P. Neville Aitken, 1978)
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esame
Metodi con la prima strategia:
Richardson Extrapolation Process
Shanks Transformation:
Nucleo : a0 Sn − S + a1 Sn+1 − S + . . . ak Sn+k − S = 0
Calcolo di Tn = ek Sn (rapporto di due determinanti)
Algoritmo ricorsivo: ε-algorithm (P. Wynn, 1956)
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esame
Metodi con la prima strategia:
Richardson Extrapolation Process
Shanks Transformation
Rational Extrapolation:
k k−1
S xn + a1 xn + . . . + ak
Nucleo : Sn = k k−1
xn + b1 xn + . . . + bk
n
Calcolo di Tn = ρ2k (rapporto di due determinanti)
Algoritmo ricorsivo: ρ-algorithm (P. Wynn, 1956)
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esame
Metodi con la prima strategia:
Richardson Extrapolation Process
Shanks Transformation
Rational Extrapolation
E Transformation:
Nucleo : Sn = S + a1 g1 n + . . . + ak gk n
e
ove gi n ` una successione ausiliaria.
n
Calcolo di Tn = Ek (rapporto di due determinanti)
Algoritmo ricorsivo: E-algorithm (C. Brezinski, 1980)
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esame
Metodi con la prima strategia:
Richardson Extrapolation Process
Shanks Transformation
Rational Extrapolation
E Transformation
Metodi con la seconda strategia:
ϑ-Procedure:
n
Calcolo di Tn = θ2k (rapporto di due determinanti)
Algoritmo ricorsivo: θ-algorithm (C. Brezinski, 1971)
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Osservazione
Questi algoritmi sono basati sulla costruzione di formule ricorsive e di
u
schemi di calcolo (triangolari, a losanga e pi` complessi).
Essi permetteranno di aggiungere nuovi termini alla successione iniziale e
di ottenere i nuovi termini della successione trasformata senza dover
ricalcolare tutto e senza conservare tutti i valori dello schema, come
avviene per il ben noto schema di Neville-Aitken per l’interpolazione
polinomiale in un punto.
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Estrapolazione al limite di una successione:
ε-algorithm
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Shanks Transformation
Calcolo di Tn
Consideriamo il seguente nucleo:
a0 Sn − S + a1 Sn+1 − S + . . . ak Sn+k − S = 0, n
con a0 + a1 + . . . + ak 0 e a0 ak 0.
Il sistema omogeneo di k + 1 equazioni in k + 1 incognite a0 , . . . , ak
e
associato a tale nucleo `:
a0 Sn − S + . . . +ak Sn+k − S =0
a0 Sn+1 − S + . . . +ak Sn+k+1 − S =0
a0 Sn+k − S +... +ak Sn+2k − S =0
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Shanks Transformation
Calcolo di Tn Si deve quindi avere:
Sn − S Sn+1 − S . . . Sn+k − S
Sn+1 − S Sn+2 − S . . . Sn+k+1 − S
= 0.
Sn+k − S Sn+k+1 − S ... Sn+2k − S
Sostituendo ogni riga, a partire dalla seconda, con la sua differenza
con la riga precedente, e ricordando che ∆Sj = Sj+1 − Sj , si ottiene
Sn − S Sn+1 − S ... Sn+k − S
∆Sn ∆Sn+1 ... ∆Sn+k
= 0.
∆Sn+k−1 ∆Sn+k . . . ∆Sn+2k−1
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Shanks Transformation
a
Calcolo di Tn Utilizzando le propriet` dei determinanti si ha
Sn Sn+1 ... Sn+k 1 1 ... 1
∆Sn ∆Sn+1 ... ∆Sn+k ∆Sn ∆Sn+1 ... ∆Sn+k
−S = 0.
∆Sn+k−1 ∆Sn+k ... ∆Sn+2k−1 ∆Sn+k−1 ∆Sn+k ... ∆Sn+2k−1
L’espressione di S risulta pertanto della forma:
Sn Sn+1 . . . Sn+k
∆Sn ∆Sn+1 . . . ∆Sn+k
∆Sn+k−1 ∆Sn+k . . . ∆Sn+2k−1
S= .
1 1 ... 1
∆Sn ∆Sn+1 . . . ∆Sn+k
∆Sn+k−1 ∆Sn+k . . . ∆Sn+2k−1
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Shanks Transformation
Shanks Transformation Procedendo con le sottrazioni anche per le
colonne si ottiene S nella seguente forma
Sn ∆Sn ... ∆Sn+k−1
∆Sn ∆2 Sn ... ∆2 Sn+k−1
∆Sn+k−1 ∆2 Sn+k−1 . . . ∆2 Sn+2k−2
S=
∆2 Sn ... ∆2 Sn+k−1
∆2 Sn+k−1 . . . ∆2 Sn+2k−2
Poniamo infine Tn = S. Questa trasformazione viene chiamata
Trasformazione di Shanks [Daniel Shanks, 1955]
ek Sn = Tn .
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Shanks Transformation
Shanks Transformation Procedendo con le sottrazioni anche per le
colonne si ottiene S nella seguente forma
Sn ∆Sn ... ∆Sn+k−1
∆Sn ∆2 Sn ... ∆2 Sn+k−1
∆Sn+k−1 ∆2 Sn+k−1 . . . ∆2 Sn+2k−2
S= = Tn .
∆2 Sn ... ∆2 Sn+k−1
∆2 Sn+k−1 . . . ∆2 Sn+2k−2
Poniamo infine Tn = S. Questa trasformazione viene chiamata
Trasformazione di Shanks [Daniel Shanks, 1955]
ek Sn = Tn .
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
ε-algorithm
Algoritmo Risolvente Per calcolare numericamente il valore ek Sn = Tn
si ricorre al seguente algoritmo ricorsivo
ε-algorithm [Peter Wynn, 1956]
n n
ε−1 = 0 ε0 = Sn n = 0, 1, . . .
n n+1 1
εk+1 = εk−1 + n+1 n
k, n = 0, 1, . . .
εk − εk
Sia l’indice inferiore la colonna e l’indice superiore la diagonale
discendente. La struttura dell’algoritmo assume allora la forma
0
ε−1 = 0
0
ε0 = S0
1 0
ε−1 =0 ε1
1 0
ε0 = S1 ε2
2 1
ε−1 =0 ε1
2 1
ε0 = S2 ε2
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
ε-algorithm
Schema a losanga I termini che vengono utilizzati per determinare un
ı
nuovo valore sono cos` disposti:
0
ε−1 = 0
0
ε0 = S0
1 0
ε−1 =0 ε1
1 0
ε0 = S1 ε2
2 1 0
ε−1 =0 ε1 ε3
2 1
ε0 = S2 ε2
3 2 1
ε−1 = 0 ε1 ε3
3 2
ε0 = S3 ε2
3 2
ε1 ε3
Tali valori possono dunque essere visti come vertici di una losanga:
n
εk
n+1 n
εk−1 εk+1
n+1
εk
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
ε-algorithm
Risultati teorici
Teorema [BECKERMANN, 1989]
n n 1
ε2k = ek Sn ε2k+1 = .
ek ∆Sn
n
I valori ε2k+1 delle colonne ad indice dispari sono quindi risultati
intermediari, mentre quelli ad indice pari rappresentano i valori
della successione trasformata.
Inoltre, per definizione di Nucleo, se la successione Sn appartiene al
Nucleo della Trasformazione di Shanks, i valori trasformati
corrispondono (teoricamente, ma non numericamente) al limite
della successione.
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
ε-algorithm in Matlab
Ridefinizione degli indici: Ridefiniti gli indici della formula e dello
schema per l’implementazione in Matlab, disponiamo lo schema in forma
matriciale:
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
ε-algorithm in Matlab
Maxc Nota: Spesso si desidera per` fermarsi ad una fissata colonna e
o
continuare le iterazioni dell’algoritmo scendendo lungo tale colonna:
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Tecnica della diagonale montante
Tecnica della diagonale montante: Per ottimizzare il risparmio di
e
memoria si ` ricorsi alla
tecnica della diagonale montante:
o
la matrice pu` infatti essere calcolata per diagonali ascendenti.
I valori utili per il calcolo della prossima diagonale sono solo quelli
dell’ultima diagonale calcolata.
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Tecnica della diagonale montante
Costruzione di una diagonale montante Per calcolare ogni nuovo
e
valore, ricordando che lo schema ` a losanga, si ottiene:
Quindi, per calcolare una nuova diagonale, aggiungiamo il primo
valore, che corrisponde ad un termine di Sn , e si determinano,
termine a termine, le nuovi componenti.
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Tecnica della diagonale montante
Costruzione di una diagonale montante
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Tecnica della diagonale montante
Costruzione di una diagonale montante
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Tecnica della diagonale montante
Costruzione di una diagonale montante
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Tecnica della diagonale montante
Costruzione di una diagonale montante
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Esempio Numerico (1)
Esempio Numerico 1:
2
Sia Sn = n 0.8n n = 1, 2, . . .
2
lim Sn = lim n 0.8n = 0
n + n +
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Esempio Numerico (2)
Esempio Numerico 2:
Definita la serie convergente
+
1 π2
2
= = 1.644934066848226 . . .
i=0 i +1 6
consideriamo come successione le somme parziali
n
1
Sn = .
i=0 i +1 2
Related docs
Get documents about "