Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Slides estratte dalla tesi: EMT: UNALIBRERIA MATLAB
PER METODI DI ESTRAPOLAZIONE EDAPPLICAZIONI
Corso di Laurea in Matematica
Laureanda: Elena De CiaRelatore: Prof. Michela Redivo Zaglia
Universita degli studi di PadovaFacolta 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 dellesuccessioni numeriche convergenti allo stesso limite.
Confronto:
Siano �Sn� e �Tn� due successioni entrambe convergenti ad S .Si dice che �Tn� converge piu rapidamente di �Sn� se
limn�+ª
Tn − S
Sn − S= 0.
Trasformazione:
Se �Sn� converge lentamente al suo limite S , allora puo esseretrasformata in una nuova successione �Tn� con unatrasformazione di successione T :
T � �Sn�� �Tn�
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Successioni convergenti
Proprieta richiesteVogliamo che, sotto alcune ipotesi, la nuova successione possiedale seguenti proprieta, almeno per alcune classi di successioniconvergenti:
1 �Tn� converge;
2 �Tn� converge allo stesso limite S di �Sn�;in tal caso si dice che T e regolare per �Sn�;
3 �Tn� converge piu 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 diaccelerare la convergenza di tutte le successioni convergenti.
E quindi importante e necessario trovare e studiare differentitrasformazioni di successioni in quanto ognuna di esse e capace diaccelerare la convergenza solamente di certe ‘classi’ di successioni.
Nucleo:
Ad ogni trasformazione di successione T puo essere associato ilsuo Nucleo, che e l’insieme delle successioni per le quali esisteS tale che, ∀n (eventualmente ∀n C N,N > N) si ha Tn = S .
Abitualmente il nucleo dipende da piu parametri, tra i quali vi e S .
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Successioni convergenti
Accelerazione della convergenza E importante capire un concettobasilare dei metodi di estrapolazione e dei relativi algoritmi:
se la successione �Sn� appartiene al nucleo di una certatrasformazione, applicando quest’ultima, teoricamente (manon numericamente) a partire eventualemente da un certoindice N > N, si ottiene la successione costante �S� dove S e illimite di �Sn�;se applichiamo la stessa trasformazione ad una successione�S ′n� il cui andamento e simile a quello di una del nucleo, ciaspettiamo 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 deimetodi di estrapolazione possono essere eseguite due strategieprincipali:
¶ Strategia:
(i) Si definisce il Nucleo attraverso una relazione chedipende da S e da alcuni parametri;
(ii) Si cerca di determinare l’espressione di S in modo chedipenda unicamente da alcuni termini della successione�Sn� e da eventuali successioni ausiliarie definite nelnucleo, e si pone Tn �= S ;
(iii) Si definisce un algoritmo ricorsivo che determini Tn
senza utilizzare determinanti (operazionecomputazionalmente 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 nedimostrano le eventuali proprieta di accelerazione;
(ii) Se ne definisce l’algoritmo ricorsivo;
(iii) Si cerca di determinare il Nucleo di tale trasformazione.
Non sempre e possibile, con tale strategia, determinare il Nucleo(ad esempio, per l’algoritmo ϑ si conoscono numerose proprieta diaccelerazione ma il nucleo non e ancora noto).
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esameMetodi con la prima strategia:
Richardson Extrapolation Process:
Nucleo : Sn = S + a1xn + . . . akxkn
Calcolo di Tn �= T�n�k (rapporto di due determinanti)
Algoritmo ricorsivo: Neville-Aitken algorithm(P. Neville Aitken, 1978)
Shanks Transformation
Rational Extrapolation
E Transformation
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esameMetodi 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)
Rational Extrapolation
E Transformation
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esameMetodi con la prima strategia:
Richardson Extrapolation Process
Shanks Transformation
Rational Extrapolation:
Nucleo : Sn =S ċ xk
n + a1xk−1n + . . . + ak
xkn + b1xk−1
n + . . . + bk
Calcolo di Tn �= ρ�n�2k (rapporto di due determinanti)
Algoritmo ricorsivo: ρ-algorithm (P. Wynn, 1956)
E Transformation
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Alcuni metodi di estrapolazione
Metodi di estrapolazione presi in esameMetodi con la prima strategia:
Richardson Extrapolation Process
Shanks Transformation
Rational Extrapolation
E Transformation:
Nucleo : Sn = S + a1g1�n� + . . . + akgk�n�ove �gi�n�� e una successione ausiliaria.
Calcolo di Tn �= E�n�k (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 esameMetodi con la prima strategia:
Richardson Extrapolation Process
Shanks Transformation
Rational Extrapolation
E Transformation
Metodi con la seconda strategia:
ϑ-Procedure:
Calcolo di Tn �= θ�n�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
OsservazioneQuesti algoritmi sono basati sulla costruzione di formule ricorsive e dischemi di calcolo (triangolari, a losanga e piu 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 x 0 e a0 ċ ak x 0.
Il sistema omogeneo di k + 1 equazioni in k + 1 incognite a0, . . . , ak
associato a tale nucleo e:
¢¨¦¨¤
a0�Sn − S� + . . . +ak�Sn+k − S� = 0a0�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:
RRRRRRRRRRRRRRRRRRR
Sn − S Sn+1 − S . . . Sn+k − SSn+1 − S Sn+2 − S . . . Sn+k+1 − S� � �
Sn+k − S Sn+k+1 − S . . . Sn+2k − S
RRRRRRRRRRRRRRRRRRR
= 0.
Sostituendo ogni riga, a partire dalla seconda, con la sua differenzacon la riga precedente, e ricordando che ∆Sj = Sj+1 − Sj , si ottiene
RRRRRRRRRRRRRRRRRRR
Sn − S Sn+1 − S . . . Sn+k − S∆Sn ∆Sn+1 . . . ∆Sn+k
� � �
∆Sn+k−1 ∆Sn+k . . . ∆Sn+2k−1
RRRRRRRRRRRRRRRRRRR
= 0.
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Shanks Transformation
Calcolo di Tn Utilizzando le proprieta dei determinanti si ha
RRRRRRRRRRRRRRRRRR
Sn Sn+1 . . . Sn+k
∆Sn ∆Sn+1 . . . ∆Sn+k
� � �
∆Sn+k−1 ∆Sn+k . . . ∆Sn+2k−1
RRRRRRRRRRRRRRRRRR−S ċ
RRRRRRRRRRRRRRRRRR
1 1 . . . 1∆Sn ∆Sn+1 . . . ∆Sn+k
� � �
∆Sn+k−1 ∆Sn+k . . . ∆Sn+2k−1
RRRRRRRRRRRRRRRRRR= 0.
L’espressione di S risulta pertanto della forma:
S =
RRRRRRRRRRRRRRRRRRR
Sn Sn+1 . . . Sn+k
∆Sn ∆Sn+1 . . . ∆Sn+k
� � �
∆Sn+k−1 ∆Sn+k . . . ∆Sn+2k−1
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
1 1 . . . 1∆Sn ∆Sn+1 . . . ∆Sn+k
� � �
∆Sn+k−1 ∆Sn+k . . . ∆Sn+2k−1
RRRRRRRRRRRRRRRRRRR
.
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Shanks Transformation
Shanks Transformation Procedendo con le sottrazioni anche per lecolonne si ottiene S nella seguente forma
S =
RRRRRRRRRRRRRRRRRRR
Sn ∆Sn . . . ∆Sn+k−1
∆Sn ∆2Sn . . . ∆2Sn+k−1
� � �
∆Sn+k−1 ∆2Sn+k−1 . . . ∆2Sn+2k−2
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
∆2Sn . . . ∆2Sn+k−1
� � �
∆2Sn+k−1 . . . ∆2Sn+2k−2
RRRRRRRRRRRRRR
=� Tn.
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 lecolonne si ottiene S nella seguente forma
S =
RRRRRRRRRRRRRRRRRRR
Sn ∆Sn . . . ∆Sn+k−1
∆Sn ∆2Sn . . . ∆2Sn+k−1
� � �
∆Sn+k−1 ∆2Sn+k−1 . . . ∆2Sn+2k−2
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
∆2Sn . . . ∆2Sn+k−1
� � �
∆2Sn+k−1 . . . ∆2Sn+2k−2
RRRRRRRRRRRRRR
=� Tn.
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�−1 = 0 ε
�n�0 = Sn n = 0,1, . . .
ε�n�k+1 = ε
�n+1�k−1 +
1
ε�n+1�k − ε
�n�k
k,n = 0,1, . . .
Sia l’indice inferiore la colonna e l’indice superiore la diagonalediscendente. La struttura dell’algoritmo assume allora la forma
ε�0�−1 = 0
ε�0�0 = S0
ε�1�−1 = 0 ε
�0�1
ε�1�0 = S1 ε
�0�2
ε�2�−1 = 0 ε
�1�1
ε�2�0 = S2 ε
�1�2 �
� � � � �
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
ε-algorithm
Schema a losanga I termini che vengono utilizzati per determinare unnuovo valore sono cosı disposti:
ε�0�−1 = 0
ε�0�0 = S0
ε�1�−1 = 0 ε
�0�1
ε�1�0 = S1 ε
�0�2
ε�2�−1 = 0 ε
�1�1 ε
�0�3
ε�2�0 = S2 ε
�1�2 �
ε�3�−1 = 0 ε
�2�1 ε
�1�3
� ε�3�0 = S3 ε
�2�2 �
� � ε�3�1 ε
�2�3
� � � � �
Tali valori possono dunque essere visti come vertici di una losanga:
ε�n�k
� �
ε�n+1�k−1 ε
�n�k+1
� �
ε�n+1�k
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
ε-algorithm
Risultati teorici
Teorema [BECKERMANN, 1989]
ε�n�2k = ek�Sn� ε
�n�2k+1 =
1
ek�∆Sn� .
I valori ε�n�2k+1 delle colonne ad indice dispari sono quindi risultati
intermediari, mentre quelli ad indice pari rappresentano i valoridella successione trasformata.
Inoltre, per definizione di Nucleo, se la successione Sn appartiene alNucleo della Trasformazione di Shanks, i valori trasformaticorrispondono (teoricamente, ma non numericamente) al limitedella 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 delloschema per l’implementazione in Matlab, disponiamo lo schema in formamatriciale:
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
ε-algorithm in Matlab
Maxc Nota: Spesso si desidera pero fermarsi ad una fissata colonna econtinuare 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 dimemoria si e ricorsi alla
tecnica della diagonale montante:la matrice puo infatti essere calcolata per diagonali ascendenti.
I valori utili per il calcolo della prossima diagonale sono solo quellidell’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 nuovovalore, ricordando che lo schema e a losanga, si ottiene:
Quindi, per calcolare una nuova diagonale, aggiungiamo il primovalore, 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:
Sia Sn = �n�2 ċ 0.8n n = 1,2, . . .
limn�+ª
Sn = limn�+ª
�n�2 ċ 0.8n= 0
Introduzione Estrapolazione al limite di una sequenza ε-algorithm in Matlab Esempi Numerici
Esempio Numerico (2)
Esempio Numerico 2:Definita la serie convergente
+ª
Qi=0
1
�i + 1�2 =π2
6= 1.644934066848226 . . .
consideriamo come successione le somme parziali
Sn =
n
Qi=0
1
�i + 1�2 .
Top Related