Re: Expanding powers of cosine

• To: mathgroup at smc.vnet.net
• Subject: [mg84239] Re: Expanding powers of cosine
• From: David Bailey <dave at Remove_Thisdbailey.co.uk>
• Date: Fri, 14 Dec 2007 23:17:55 -0500 (EST)
• References: <fjq18t\$nl2\$1@smc.vnet.net>

```michael.p.croucher at googlemail.com wrote:
> Hi
>
> I would like to express even powers of Cos[x] in terms of powers of
> Sin[x] using the identity Sin[x]^2+Cos[x]^2 = 1.  For example
>
> Cos[x]^4 = 1 - 2 Sin[x]^2 + Sin[x]^4
>
> I could not get any of Mathematica's built in functions to do this for
> me so I created my own rule:
>
> expandCosn[z_] := Module[{s, res},
>   s = Cos[x]^n_ :> (1 - Sin[x]^2) Cos[x]^(n - 2) ;
>   res = z //. s;
>   Expand[res]
>   ]
>
> which works fine:
>
> In[14]:= expandCosn[Cos[x]^4]
>
> Out[14]= 1 - 2 Sin[x]^2 + Sin[x]^4
>
> My question is - have I missed something?  Is there an easier way to
> do this?
>
> Cheers,
> Mike
>
I would add a condition /;(IntegerQ[n]&&n>1) to the delayed rule, just
to make it a little more robust (you could get an infinite recursion
with Cos[x]^(3/2), for example), but otherwise your code looks fine -
simpler than some of the alternatives on offer!

David Bailey
http://www.dbaileyconsultancy.co.uk

```

• Prev by Date: WorkingPrecision and plotting functions
• Next by Date: ParametricPlot3d not showing up when I use the manipulate command
• Previous by thread: Re: Re: Expanding powers of cosine
• Next by thread: GridBox Question