13
$\begingroup$

From clean kernel, when typing

 result = Reduce[2 d^2 == -((2*(1 + d) + ((4 d^3)/(1 - d)))*(d - 1)),d]

Here what version 12 displays on the screen, compared to version 11.3


Mathematica graphics


Compare to 11.3

Mathematica graphics

I want 12 to display the result like 11.3 did. I know I can apply InputForm to the result of 12 to make it display like 11.3, but I do not want to do this each time.

I tried to search options inspector, but not sure what to look for.

$\endgroup$
  • 4
    $\begingroup$ This behavior is the single change in version 12 I most dislike. (Same thing happens with Solve, of course.) The default output obfuscates the distinction between exact solutions with numerical approximations. While engineers and other "practical" folks may like the new behavior, I really see no good rationale, and a discrepancy the way even version 12 leaves other irrational quantities as exact expressions. $\endgroup$ – murray Jun 13 at 19:42
  • 7
    $\begingroup$ SetSystemOptions[ "TypesetOptions" -> "NumericalApproximationForms" -> False] $\endgroup$ – ilian Jun 13 at 19:43
  • 5
    $\begingroup$ The option inspector is for FrontEnd options, while the typesetting is the kernel's responsibility here. This command could be placed in the kernel's init.m file if you would like to be executed automatically every time. $\endgroup$ – ilian Jun 13 at 19:54
  • 1
    $\begingroup$ @ilian - If that is the canonical answer for this, it should be added as an answer. Do other objects change their typesetting based on NumericalApproximationForms? $\endgroup$ – Jason B. Jun 14 at 1:52
  • 3
    $\begingroup$ @murray I'm probably in the "practical folks" category, and I still hate this change. It also seems to me that it confuses beginners more than it helps them. $\endgroup$ – Szabolcs Jul 26 at 15:19
9
$\begingroup$

Making the comments into an an answer as suggested.

SetSystemOptions[ "TypesetOptions" -> "NumericalApproximationForms" -> False]

will restore the legacy typesetting for Root and AlgebraicNumber.

This command could be placed in the kernel's init.m file if you would like to be executed automatically every time. (The option inspector is for FrontEnd options)

$\endgroup$

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.