I have a complicated function fo three variables: k, td, r. I will integrate over td and r and then plot respect to k. The integral in r goes from td to infinity while the integral in td goes from 0 to infinity (note that the limit of one integral is the variable of the other integration:
I just wrote the integral limits as {r, 0, inifnity},{td, 0, infinity} but multiplied the original function by Bolee[r>td] (maybe there's a better way to do this?).
The function is a long combination of polynomials with some exponentials and Bessel functions. However, it is a well-behaved function: no poles, doesn't average to 0...However some parts of it indeed have poles, but are compensated with the other parts. For example when r-> 0 there's a 1/r^3 term multiplied by a sum of bessel functions which sum up 0 and compensate the 1/r^3, giving a limit of f(r, td) -> 0 when r-> 0. Not sure if this can be a problem for the NIntegrate function. Moreover the function goes to 0 fast enough when any or both variables go to infinity such that the integral should converge.
When I try to solve it in the obvious way I find
When I reduce the integral limits from infinity to some finite value I find the following: for a given small integral limit I can find a numerical solution, no warning. If I increase the limit bit after bit the result keeps changing until it looks like it converges. Then at some point for a given higher value of the limit it starts spitting this same error. I've also tried increasing accuracy etc but it doesn't help.
The behaviour is worse for higher values of k (see that k is in the argument of the bessel functions so this is reasonable: the faster the oscillation the worse the integration method will work).
Unfortunately, I don't have any clue on how should I continue treating this problem. Any help is appreciated.
Attachments: