I have a large symbolic expression which is a sum of a large number of fractions, which is the result of an integral. I can get numerical values by NIntegrate, but eventually the expression should go into a minimization problem, which would be much faster starting from an analytic expression. My troubles start even earlier though. When I try to evaluate the expression by
N[expr/.parameters]
I get Indeterminate. This is true independently of the precision given to N(machine or arbitrary precision) or the chosen parameters, which I initially chose to be rational numbers from an interval of about 1/10 to 10. Simplifying the symbolic expression is not possible due to its sheer size. Simplifying the separate terms and evaluating them gives me a result, but only if I set $MinPrecision=$MaxPrecision as in
In[466]:= Block[{prec=MachinePrecision,$MaxPrecision,$MinPrecision},$MaxPrecision=$MinPrecision=prec;N[slist,prec]//Total]
Out[466]= -0.0000554539 + 0.000957437 I
where slist contains the simplified and evaluated terms. If I work with arbitrary precision instead I get
In[462]:= Block[{prec=16,$MaxPrecision,$MinPrecision},$MaxPrecision=$MinPrecision=prec;N[slist,prec]//Total]
Out[462]= -0.00001695456281093148 + 0.0009204297860912486 I
The latter result coincides with what I obtain from NIntegrate, which I guess is correct. (Is this a valid assumption?)
However, for different values of prec I get very strange results:
prec=17,18,21: same as prec=16
prec=19: -0.001922263621488465141 - 0.003379886739497078367 I
prec: Indeterminate
prec=22: -0.0006868461930781501884710 - 0.0006068980872473164707112 I
...
What is the best way to approach this problem? How do I know which results I can trust? Is there a better approach to start with? All tips are highly welcome!
Sebastian