I am trying to obtain some exact analytical results without resorting to numerical approximations, and I ended up with a pretty huge expression that Mathematica is really struggling with. It has no variables, no crazy things like 17th degree polynomials etc. but Mathematica still can't FullSimplify it.

I uploaded it on pastebin so you can just Import it and see. You can check numerically that it's just a real expression, it gives -0.075865.

I have tried a few methods that worked for me before — expanding it in different ways or trying FullSimplify with a very short TimeConstraint to obtain even a slightly simplified form. However, nothing works and Mathematica keeps running out of memory or the kernel simply quits while evaluating the expression (Mathematica 10.3, OS X).

Are there any tricks or methods to obtain a simplified expression for complicated analytical results like that? What else can I try?

  • $\begingroup$ Do you have any steps before, where you might simplify? $\endgroup$ – kiara Mar 23 '16 at 15:29
  • $\begingroup$ @Fabian Not really. The expression comes from the normalized eigenvectors of a (fully simplified) matrix. It applies a very simple function (2nd degree polynomial) to their coefficients, and simplifying the eigenvectors themselves is basically equivalent to simplifying this. I also get no results there. $\endgroup$ – Mereenie Mar 23 '16 at 15:37
  • $\begingroup$ I don't think FullSimplify can handle it because the way it operates. $\endgroup$ – Al Guy Mar 23 '16 at 18:25
  • $\begingroup$ What do you mean by "simplify"? The final numerical value is the "simplification" of that enormous term. Why isn't N[ ] sufficient? In your terminology, what would be the "simplification" of $3 + 5$? $\endgroup$ – David G. Stork Mar 23 '16 at 18:52
  • $\begingroup$ You probably have to to it by hand. So pick terms and simplify them individually, step by step. $\endgroup$ – kiara Mar 24 '16 at 10:15

You can use

RootApproximant[N[val, 10000], 20]

(14700 - 12000 Sqrt[2])/29929


newval=(14700 - 12000 Sqrt[2])/29929;

To test it:

N[newval, 100000] - N[val, 100000]


but strangely:

N[newval - val]


|improve this answer|||||
  • $\begingroup$ the last result is not strange. It is doing a machine precision evaluation of that whole mess, so unlikely to be exact zero even if your newval is the exact correct expression. $\endgroup$ – george2079 Mar 24 '16 at 17:38
  • 1
    $\begingroup$ maybe want to look at this: mathematica.stackexchange.com/q/18381/2079 $\endgroup$ – george2079 Mar 24 '16 at 17:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.