FullSimplify does not work on this expression with no unknowns

8

1

I can't reproduce this simple example from Habrat, 2010 ("Mathematica : a Problem-Centered Approach"). It is supposed to demonstrate the functionality of FullSimplify, however I can't make it work in Mathematica 9. When I try this:

FullSimplify[ Cot[ (5 Pi)/22 ] + 4 Sin[ (2 Pi)/11 ]]

Mathematica 9 returns the input unchanged:

Cot[ (5 Pi)/22 ] + 4 Sin[ (2 Pi)/11 ]

As shown in the book however, I would rather have expected Sqrt[11]. On the other trying

FullSimplify[ Cot[ (5 Pi)/22 ] + 4 Sin[ (2 Pi)/11 ] == Sqrt[11] ]

Mathematica 9 returns

True

so why not return Sqrt[11] in the first place?

jerome

Posted 2013-02-01T14:19:39.803

Reputation: 517

FullSimplify[Cot[(5 Pi)/22] + 4 Sin[(2 Pi)/11]] returns Sqrt[11] in mathematica 8.0.4 – chris – 2013-02-01T14:23:51.670

1Works if you use TrigToExp before FullSimplify. Maybe the order of simplifications changed slightly, but this is a general problem with FullSimplify--it only makes simplifications that reduce the complexity of the expression, so if a step is needed that produces a much larger intermediate, this path will not be pursued. – Oleksandr R. – 2013-02-01T14:24:24.770

@OleksandrR. thanks, that works! Seems like FullSimplify is both powerful and finicky. – jerome – 2013-02-01T14:31:32.257

Answers

7

Before Mathematica 9 FullSimplify[ Cot[ (5 Pi)/22 ] + 4 Sin[ (2 Pi)/11 ]] yielded simply Sqrt[11] while in the newest version we should play a bit with ComplexityFunction. For some reason the ComplexityFunction behavior in FullSimplify has been changed. One can guess that it is just a different gauge of this option. To shed light on this issue let's define the following function :

cfs[n_][e_] :=  n Count[e, _Sin, {0, Infinity}] + LeafCount[e]

After playing a bit we can figure out the threshold values :

FullSimplify[ Cot[(5 Pi)/22] + 4 Sin[(2 Pi)/11], ComplexityFunction -> #] & /@ {
                  cfs[5], cfs[6], cfs[37], cfs[38] } // Column

enter image description here

In Mathematica 8 and earlier all these complexity functions yield Sqrt[11]. We could find this threshold therein :

FullSimplify[Cot[(5 Pi)/22] + 4 Sin[(2 Pi)/11], ComplexityFunction -> #] & /@ {
                  cfs[-10], cfs[-9]} // Column

enter image description here

I.e. we have a direct jump between the final results in earlier versions while in ver.9 there are intermediate values where cfs provided an intermediate result. So in the newer version ComplexityFunction is more customizable and therfore it is advantageous.

Another possibility in ver. 9 to get Sqrt[11] might be e.g. :

FullSimplify[ Cot[(5 Pi)/22] + 4 Sin[(2 Pi)/11], TransformationFunctions -> RootReduce]

Artes

Posted 2013-02-01T14:19:39.803

Reputation: 51 831

1great answer, thanks. If the default ComplexityFunction has not changed, I guess the difference in Mathematica 9 is in the order in which FullSimplify attempts various simplification methods? – jerome – 2013-02-01T18:13:18.487

@Jerome I think that now ComplexityFunction is more powerful even though it might be more difficult to get desired results in special cases. – Artes – 2013-02-01T21:31:41.627

2

Try :

TrigExpand[Cot[(5 Pi)/22] + 4 Sin[(2 Pi)/11]] // FullSimplify

b.gates.you.know.what

Posted 2013-02-01T14:19:39.803

Reputation: 18 845

1thanks, that works, but TrigExpand alone seems to do the job as suggested by OleksandrR. in the OP. Can you simplify your answer? – jerome – 2013-02-01T14:33:18.280

Thanks, didn't think of trying without. – b.gates.you.know.what – 2013-02-01T14:47:05.573

1

Try:

RootReduce[Cot[(5 π)/22] + 4 Sin[(2 π)/11]]

or

MinimalPolynomial[Cot[(5 π)/22] + 4 Sin[(2 π)/11]]

chyanog

Posted 2013-02-01T14:19:39.803

Reputation: 11 827