High precision NIntegrate problem. Please help!
- To: mathgroup at smc.vnet.net
- Subject: [mg60298] High precision NIntegrate problem. Please help!
- From: a_noether_theorem at yahoo.com
- Date: Sat, 10 Sep 2005 06:46:47 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I'm trying to numerically evaluate a particularly nasty integral, and
no matter what I do, I can't get Mathematica to give me an answer without
complaining, and the answer seems to change as I change the precision
options, and continues to change up to arbitrary levels of precision.
I could really use some help.
I've tried every combination of options I could, but nothing works.
In case you care what the function is, it's the following. Otherwise,
skip what's between the lines.
-------------------------------------------------------------
I 1st evaluate the following sum:
1/( I omega_n - e0) 1/( I omega_n - e1) 1/( I omega_n - e2) 1/( I
omega_n - e3)
from n=-Infinity to Infinity, where omega_n = (2 n + 1) Pi/beta
The sum can be done analytically by contour integration and Mathematica can
also do the sum. Anyhoo, it leads to a longish expression that I need
to integrate. Here,
e0 = t1 Cos[x] + t2 Cos[y] - mu
e1 = t1 Cos[x+X1] + t2 Cos[y+Y1] - mu
e2 = t1 Cos[x+X2] + t2 Cos[y+Y2] - mu
e3 = t1 Cos[x+X3] + t2 Cos[y+Y3] - mu
and t1, t2, mu, beta, X1.., Y1... are just some numbers I choose. This
is a Feyman diagram calculation, if anyone cares. I evaluate this
with a few {Xi,Yi} sets.
----------------------------------------------------------------------
I've tried every option in NIntegrate and
NIntegrateInterpolatingFunction and Mathematica complains relentlessly. I've
set $MinPrecision->1000, WorkingPrecision-> 1000, MinRecursion->1000,
MaxRecursion-> 1000000, SingularityDepth -> 1000. I've tried
Rationalize[..], SetPrecision[..,1000] and everything I could think of.
No matter what I do, it still complains.
My favorite is when it seems to just give up:
"NIntegrate::agpginf: Both Accuracy and Precision goals are
sufficiently large to allow effectively zero tolerance. The numerical
algorithm cannot solve the problem exactly."
Anyhoo, *I think* the answer is neither zero nor infinity, at least not
for all combinations of arguments I'm trying, but I can't get a
consistent answer, especially for some funny symmetrical values of
{Xi,Yi}. I've tried writing a routine in c, and that hasn't been
sucessful yet. I think the function has cancelling singularities, but
I'm a little nervous throwing out points in my Reimann sums that =
NAN/Indeterminite.
Soooooooo, is there any way to convince Mathematica to give me a guaranteed
level of precision, assuming I'm willing to wait a while for the
answer? I assume there is, but I'm baffled by the options.
Any help would be very greatly appreciated.
-john