Il s'agit d'une somme alternée. Chaque paire successive annule presque; ces sommes par paire diminuent finalement de façon monotone.
Une approche consiste alors à calculer la somme par paires où = {1,2}, {3,4}, {5,6}, etc. (Cela élimine également beaucoup d'erreurs en virgule flottante.) Certains d'autres astuces peuvent aider:n
(1) Pour résoudre pour une constante positive , une bonne valeur de départ à rechercher - et une excellente approximation pour la plus grande racine - est . Je pense que Newton-Raphson devrait très bien fonctionner.α n e t = ( n + une / deux ) π - αtan(t)=t/ααntht=(n+1/2)π−α(n+1/2)π
(2) Après un petit nombre de termes initiaux, les sommes des paires commencent à diminuer de façon très, très constante. Les logarithmes des valeurs absolues des paires espacées exponentiellement diminuent rapidement presque linéairement. Cela signifie que vous pouvez interpoler parmi un très petit nombre de paires de sommes calculées pour estimer toutes les paires de sommes que vous n'avez pas calculées. Par exemple, en calculant les valeurs uniquement pour les paires (2,3), (4,5), (8,9), (16,17), ..., (16384, 16385) et en construisant le polynôme interpolateur pour celles-ci (considérée comme les valeurs d'une fonction à 1, 2, ..., 14) et en utilisant les argumentsh=μ=σ=1, J'ai pu atteindre une précision à six chiffres pour les pires erreurs. (Encore mieux, les erreurs oscillent en signe, suggérant que la précision des valeurs interpolées sommées pourrait être un peu mieux que six chiffres.) Vous pourriez probablement estimer la somme limite à une bonne précision en extrapolant linéairement la fin de ces valeurs (ce qui se traduit par une loi de puissance) et intégrant la fonction d'extrapolation à l'infini. Pour terminer cet exemple de calcul, vous avez également besoin du premier terme. Cela donne une précision à six chiffres au moyen de seulement 29 termes calculés dans la somme.
(3) Notez que la fonction dépend vraiment de et , et non de ces trois variables indépendamment. La dépendance à l'égard de est faible (comme il se doit); vous pourriez vous contenter de fixer sa valeur tout au long de vos calculs.μ / σ Th/σμ/σT
(4) En plus de tout cela, pensez à utiliser certaines méthodes d'accélération série , comme la méthode d'Aitken . Un bon compte rendu de cela apparaît dans Recettes numériques .
Ajoutée
(5) Vous pouvez estimer la queue de la somme avec une intégrale. Lors de l'écriture , l'équation (avec ) peut être résolue pour , qui est petit, puis pour en substituant back. L'expansion de la tangente dans une série de Taylor dans donne la solution approximative tan ( θ n ) = θ n / alpha alpha = μ h / σ 2 t n θ n t nθn=(n+1/2)π−1/tntan(θn)=θn/αα=μh/σ2tnθntn
θn=z−αz−α2−α3/3z3+O((αn)5)
où .z=(n+1/2)π
Pourvu que soit suffisamment grand, les facteurs exponentiels de la forme deviennent extrêmement proches de 1, vous pouvez donc les négliger. En règle générale, ces termes peuvent être négligés même pour les petits car est , ce qui rend la première exponentielle à zéro extrêmement rapidement. (Cela se produit une fois que dépasse considérablement . Faites vos calculs pour un grand si vous le pouvez!)1 - exp ( - σ 2 θ 2 n Tnn& thetav 2 n Θ(n2)nα/Tune/2T1−exp(−σ2θ2nT2h2)exp(−μ2T2σ2)nθ2nΘ(n2)nα/T1/2T
L'utilisation de cette expression pour pour additionner les termes pour et nous permet de les approximer (une fois que toute la fumée disparaît) comme n n + 1θnnn+1
2πn2−4πn3+13π2+6(4−3α)α2π3n4+O(1n5).
Le remplacement de la somme commençant à par une intégrale sur commençant à rapproche de la queue. (L'intégrale doit être multipliée par un facteur commun de .) L'erreur dans l'intégrale est . Ainsi, pour obtenir trois chiffres significatifs, vous devrez généralement calculer environ huit des termes de la somme, puis ajouter cette approximation de queue.N N - 1 / 4 exp ( - α ) O ( 1 / n 4 )n=2NNN−1/4exp(−α)O(1/n4)