Re: Re: Trigonometric simplification
- To: mathgroup at smc.vnet.net
- Subject: [mg68906] Re: [mg68881] Re: Trigonometric simplification
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Wed, 23 Aug 2006 07:15:20 -0400 (EDT)
- References: <ecbnnc$r29$1@smc.vnet.net><ecc2pn$ajl$1@smc.vnet.net> <200608220920.FAA26920@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 22 Aug 2006, at 11:20, carlos at colorado.edu wrote:
>> Hi Carlos,
>>
>> Using TrigReduce before Simplify will do it:
>>
>> r = Tan[a]^2/(Sec[a]^2)^(3/2);
>> Simplify[TrigReduce[r], Assumptions -> {a > 0, Sec[a] > 0}]
>>
>> --> Cos[a]*Sin[a]^2
>>
>> Best regards,
>> Jean-Marc
>
> Thanks, that works perfectly. Actually Sec[a]>0 as assumption
> is sufficient. This is correct from the problem source, since
> the angle is in the range (-Pi/2,Pi/2)
>
> Here is a related question. How can I get Mathematica to pass from
>
> d = 2 + 3*Cos[a] + Cos[3*a] (* leaf count 10 *)
>
> to
>
> 1 + 2*Cos[a]^3 (* leaf count 8 *)
>
> TrigExpand[d] gives
>
> 2 + 3*Cos[a] + Cos[a]^3 - 3*Cos[a]*Sin[a]^2
>
> Applying Simplify to that yields 2 + 3*Cos[a] + Cos[3*a] so we are
> back to the beggining.
>
You seem to be very keen on getting Mathematica to perform some
pretty unorthodox sort of mathematics. Please note:
d = 2 + 3*Cos[a] + Cos[3*a] ;
e=1+2*Cos[a]^3;
d/.a->Pi/2
2
e/.a->Pi/2
1
Actually, the answer you want is double the one you posted, that is
4*Cos[a]^3 + 2. I think the only way to get it is to define a
complexity function which will penalise (with sufficient severity)
multiple angles in "simplified" answers, while also trying to
minimise LeafCount. Here is such one such function:
f[d_] := 10*Plus @@ Cases[{d}, Cos[n_ x_] | Sin[n_ x_] -> n, Infinity]
+LeafCount[d]
For example:
f[d]
40
f[e]
8
With this ComplexityFunction we get:
FullSimplify[d, ComplexityFunction -> f]
4*Cos[a]^3 + 2
The reason why LeafCount alone is insufficient and why you need a
factor such as 10, is that it is not enough that the final output has
a lower value of ComplexityFunction but also all the intermediate
expression that Mathematica tries before arriving at that output.
This makes finding the right function often quite tricky.
Andrzej Kozlowski
- References:
- Re: Trigonometric simplification
- From: carlos@colorado.edu
- Re: Trigonometric simplification