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