I would like to know how the gauss laguerre works for large limits. For example, I have a 2D function going from (0, +inf) in both dimensions. When I use gauss laguerre in python by sampling the function with weights and abscissas by summing them up, I don't get something close to what I get using, say, dblquad. Below is a sample code for integration. lgw outputs the weights and abscissas which are then used in the double integration by using two for loops. I do not see how a sample point like x, y = 1e8, 1e8 is captured by this. Increasing n doesn't give high abscissas (at least not very high as required).
kzas,kzws = lgw(n)
for kta,ktw, in zip(kzas,kzws):
for kza,kzw in zip(kzas,kzws):
fval = integrand(kza,kta)
wghtx = kzw*numpy.exp(kza)
wghty = ktw*numpy.exp(kta)
integral += wghtx*wghty*fval
Can someone explain how to capture the higher sample points? Am I not using the quadrature correctly? I can integrate functions with small limits say 1e2 or so. What to do if the limit is high say 1e15? I see the definition from theory but I do not see how the higher weights and abscissas are captured.
Thanks
Edit: It is not possible to reduce my function any further. The different parts of integrand are computed numerically so I don't have any analytical expression. All I can say is that function is smooth and has a sinusoidal behaviour.