2
$\begingroup$

Edit: Turns out in my use case I should use ComplexExpand instead of Simplify. My broader question is still worth answering, but as noted in the comments it has been asked before.

I want the black box of Mathematica to tell me what it's doing with Simplify, so that I can pick and choose which parts of it to use via TransformationOptions.

Ideally AbsoluteOptions[Simplify,TransformationOptions] would do this, but that appears to not (yet?) work.

My use case: I want to simplify all terms in a 1000+ term sum without attempting to factor anything. By default Simplify "tries expanding, factoring, and doing many other transformations on expressions" (from the Simplify doc). I suspect factoring is slowing things way down, so I want to use the option TransformationOptions->{stuff besides factoring}.

Here's an example to demonstrate the slowness of Simplify (note this still runs way faster than my real use case):

Simplify[Conjugate[Sum[Exp[I n x], {n, 1000}]], 
  x \[Element] Reals] // Timing
(* 4.76 seconds *)

In sum: I want to Simplify without factoring. But if you know another way to speed up this sort of simplification, that would be nice too.

$\endgroup$
6
  • $\begingroup$ AbsoluteOptions often does not produce desired results. $\endgroup$
    – bbgodfrey
    Jul 28, 2018 at 21:20
  • 1
    $\begingroup$ Look here for some insight. $\endgroup$
    – bbgodfrey
    Jul 28, 2018 at 21:39
  • $\begingroup$ Hm unfortunately none of the functions mentioned on the FullSimplify doc page seem to make Conjugate[x]->x when x is real. I don't even know if there's a named function that's responsible for that rule. $\endgroup$
    – Max
    Jul 28, 2018 at 21:51
  • 1
    $\begingroup$ ComplexExpand does what you want, and Simplify appears to call it. $\endgroup$
    – bbgodfrey
    Jul 28, 2018 at 22:33
  • $\begingroup$ Apply Simplify on each term?? $\endgroup$ Jul 28, 2018 at 22:35

0