L’algoritmo di Lentz

[ad_1]


In matematica, l’algoritmo di Lentz è un algoritmo per valutare frazioni continue e calcolare tabelle di funzioni di Bessel sferiche .

Storia

L’idea è stata introdotta nel 1973 da William J. Lentz ed è stata da lui semplificata nel 1982. Lentz ha suggerito che il calcolo dei rapporti delle funzioni sferiche di Bessel di argomenti complessi può essere difficile. Ha sviluppato una nuova tecnica di frazione continua per calcolarli. Questo metodo è stato un miglioramento rispetto ad altri metodi perché ha eliminato gli errori in determinati termini o ha fornito zero di conseguenza. L’algoritmo originale presuppone che i denominatori che si verificano durante l’esecuzione rimangano sempre diversi da zero. I miglioramenti per superare questa limitazione includono una relazione di ricorrenza alterata suggerita da Jaaskelainen e Ruuskanen nel 1981 o un semplice spostamento del denominatore di un numero molto piccolo come suggerito da Thompson e Barnett nel 1986.

Lavoro iniziale

Questa teoria è stata inizialmente motivata da altre ricerche di Lentz quando ha calcolato i rapporti della funzione di Bessel necessari per lo scattering di Mie . Ha dimostrato che l’algoritmo utilizza una tecnica che prevede la valutazione delle frazioni continue che inizia dall’inizio e non alla coda. Inoltre, con l’algoritmo di Lentz possono essere calcolate rappresentazioni di frazioni continue per entrambi i rapporti delle funzioni di Bessel e per le funzioni di Bessel sferiche di ordine consecutivo. L’algoritmo ha suggerito che è possibile terminare la valutazione delle frazioni continue quando{\displaystyle |f_{j}-f_{j-1}|}è relativamente piccolo.

Algoritmo

L’algoritmo di Lentz si basa sulle relazioni Wallis-Eulero. Se

{\displaystyle {f}_{0}={b}_{0}}
{\displaystyle {f}_{1}={b}_{0}+{\frac {{a}_{1}}{{b}_{1}}}}
{\displaystyle {f}_{2}={b}_{0}+{\frac {{a}_{1}}{{b}_{1}+{\frac {{a}_{2 }}{{b}_{2}}}}}}
{\displaystyle {f}_{3}={b}_{0}+{\frac {{a}_{1}}{{b}_{1}+{\frac {{a}_{2 }}{{b}_{2}+{\frac {{a}_{3}}{{b}_{3}}}}}}}}

ecc., o usando la notazione K grande , se

{\displaystyle {f}_{n}={b}_{0}+{\underset {j=1}{\overset {n}{\nomeoperatore {K} }}}{\frac {{a}_ {j}}{{b}_{j}+}}}

è il{\ displaystyle n}esimo convergente a{\ displaystyle f}poi

{\displaystyle {f}_{n}={\frac {{A}_{n}}{{B}_{n}}}}

dove{\displaystyle {A}_{n}}e{\displaystyle {B}_{n}}sono dati dalle relazioni di ricorrenza Wallis-Eulero

{\displaystyle {A}_{-1}=1}
{\displaystyle {B}_{-1}=0}
{\displaystyle {A}_{0}={b}_{0}}
{\displaystyle {B}_{0}=1}
{\displaystyle {A}_{n}={b}_{n}{A}_{n-1}+{a}_{n}{A}_{n-2}}
{\displaystyle {B}_{n}={b}_{n}{B}_{n-1}+{a}_{n}{B}_{n-2}}

Il metodo di Lenz definisce

{\displaystyle {C}_{n}={\frac {{A}_{n}}{{A}_{n-1}}}}
{\displaystyle {D}_{n}={\frac {{B}_{n-1}}{{B}_{n}}}}

In modo che la{\ displaystyle n}il esimo convergente è

{\displaystyle {f}_{n}={C}_{n}{D}_{n}{f}_{n-1}}

e utilizza le relazioni di ricorrenza

{\displaystyle {C}_{0}={\frac {{A}_{0}}{{A}_{-1}}}={b}_{0}}
{\displaystyle {D}_{0}={\frac {{B}_{-1}}{{B}_{0}}}=0}
{\displaystyle {f}_{0}={b}_{0}}
{\displaystyle {C}_{n}={b}_{n}+{\frac {{a}_{n}}{{C}_{n-1}}}}
{\displaystyle {D}_{n}={\frac {1}{{b}_{n}+{a}_{n}{D}_{n-1}}}}

Quando il prodotto{\displaystyle {C}_{n}{D}_{n}}si avvicina all’unità all’aumentare{\ displaystyle n}, si spera che{\displaystyle {f}_{n}}è convergente a{\ displaystyle f}.

Applicazioni

L’algoritmo di Lentz è stato ampiamente utilizzato alla fine del ventesimo secolo. È stato suggerito che non ha alcuna analisi rigorosa della propagazione degli errori. Tuttavia, alcuni test empirici suggeriscono che è buono quasi quanto gli altri metodi. Ad esempio, è stato applicato per valutare funzioni integrali esponenziali. Questa applicazione è stata quindi chiamata algoritmo di Lentz modificato. Si afferma inoltre che l’algoritmo di Lentz non è applicabile a tutti i calcoli e la convergenza può essere piuttosto rapida per alcune frazioni continue e viceversa per altre.

[ad_2]

Da Wikipedia, l’enciclopedia libera.

Source link

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo: