I was playing around with QuadGK.jl on my function f(x) which has some strong oscillations but a finite value when integrating from 0 to \infty.
I used the transformation described in this link to solve these integrals.
using QuadGK quadgk(g, 0, 1)
where g(u) is the transformed function.
Now I just realized that I could just as well do
quadgk(f, 0, Inf)
where f is my original function f(x).
And it would give exactly the same result.
How does this work? Is QuadGK.jl applying the transformation automatically when given Inf to the upper bound?
If indeed some automatic transformation is being performed, does HCubature do a similar transformation on multdimensional integrals?
On a slightly different note, I saw that
julia> quadgk(x->exp(-x),0.0,Inf) (1.0, 4.5074000326453615e-11)
Which indeed corresponds with the analytical solution but then on the other hand:
julia> quadgk(x->exp(-x),0.0,1e8) (0.0, 0.0)
Some kind of overflow?
Could someone give me some hints on what is happening?
Many thanks in advance,