- #1
muppet
- 608
- 1
Hi all,
I have a family of nasty integrals to do, all of the general form
[tex]\int ^{\infty} _0 db b J_0 (b q)(e^{i\chi(b)}-1) [/tex]
where chi is a complicated real function, typically a sum of products of special functions. (q is a real number.) The only thing that the different functions have in common is that they behave like 1/b^n for large values of b.
This is. I think, quite tricky to do numerically, so my supervisor doesn't want to just take Mathematica's answer as final, which gives me the problem of how to do better!
The standard approach in dealing with oscillatory integrals numerically seems to be:
Identify the oscillatory kernel;
Integrate between each zero and the next, generating an alternating series;
Use some kind of transformation on the series to accelerate its convergence.
Problem one is that I have two oscillatory kernels, unless q=0. Because the function chi will eventually decrease to less than Pi, the second of these kernels switches off after a while. Is this likely to upset the convergence of the early terms in the sequence to the final answer?
Problem two is that the best way of accelerating the convergence of the sequence seems to depend on the problem at hand. (For example, I read that the Shanks transformation was one that was commonly employed, but that only works well I believe if the nth partial sum of the series behaves roughly like
[tex]S_n =\text{(Right answer)} + \alpha \epsilon^n[/tex]
and don't see any reason why I should see that behaviour here. Can anyone point me on the right path to working out what the most appropriate transformation is for my series?
Thanks in advance.
I have a family of nasty integrals to do, all of the general form
[tex]\int ^{\infty} _0 db b J_0 (b q)(e^{i\chi(b)}-1) [/tex]
where chi is a complicated real function, typically a sum of products of special functions. (q is a real number.) The only thing that the different functions have in common is that they behave like 1/b^n for large values of b.
This is. I think, quite tricky to do numerically, so my supervisor doesn't want to just take Mathematica's answer as final, which gives me the problem of how to do better!
The standard approach in dealing with oscillatory integrals numerically seems to be:
Identify the oscillatory kernel;
Integrate between each zero and the next, generating an alternating series;
Use some kind of transformation on the series to accelerate its convergence.
Problem one is that I have two oscillatory kernels, unless q=0. Because the function chi will eventually decrease to less than Pi, the second of these kernels switches off after a while. Is this likely to upset the convergence of the early terms in the sequence to the final answer?
Problem two is that the best way of accelerating the convergence of the sequence seems to depend on the problem at hand. (For example, I read that the Shanks transformation was one that was commonly employed, but that only works well I believe if the nth partial sum of the series behaves roughly like
[tex]S_n =\text{(Right answer)} + \alpha \epsilon^n[/tex]
and don't see any reason why I should see that behaviour here. Can anyone point me on the right path to working out what the most appropriate transformation is for my series?
Thanks in advance.