Re: Extensive replacement of trigonometric functions

*To*: mathgroup at smc.vnet.net*Subject*: [mg125220] Re: Extensive replacement of trigonometric functions*From*: Mauro <pippo at hotmail.com>*Date*: Wed, 29 Feb 2012 07:26:40 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <jia0ik$183$1@smc.vnet.net>

I wish to thank indeed Alexei and Dana for their helpful suggestions (besides Andrés, of course). I am actually involved in matrix transformations for three-phase electric systems and in such context it is convenient to evidence -2pi/3 and +2pi/3 phase displacements. I nevertheless realize that Mathematica routines are designed to fulfill the legitimate needs of majority, so some further work is required. To summarize, I definitely agree with Alexei and - quoting him - "there is no operator that would do it for you without any thinking and in one click". I would only like that also all students of mine realize it! Best regards Mauro > > Hi, Mauro > > The form you want to achieve you cannot reach in Mathematica, since it simplifies the final expression according to a built-in complexity function. > Mathematica "understands" complexity not like you. Various aspects of this problem has been many times discussed here, you may want to look up the archive. > You may change the complexity definition, but it is difficult to find such a definition that would lead to the expression you want to get and seems to typically take more time than to work out a special trick. > Instead there are few ways around. What to choose depends upon your aim: what do you need to do with these expressions further? This is not clear from your post. > One way has been already proposed to you (see above). Another may be to introduce new variables like the following: > > s1=Solve[\[Theta]+(2 \[Pi])/3==\[CurlyPhi]1,\[Theta]][[1]] > s2=Solve[\[Theta]-(2 \[Pi])/3==\[CurlyPhi]2,\[Theta]][[1]] > > {\[Theta]->1/3 (-2 \[Pi]+3 \[CurlyPhi]1)} > {\[Theta]->1/3 (2 \[Pi]+3 \[CurlyPhi]2)} > > Sin[\[Theta]+\[Pi]/6] /.s1//Simplify > -Cos[\[CurlyPhi]1] > > Sin[\[Theta]-\[Pi]/6] /.s2//Simplify > Cos[\[CurlyPhi]2] > > Then you work with [\[CurlyPhi] and substitute its value on the very last step. > > The Presentation package of David Park offers another possibility enabling you to make such an operation among others. What to choose depends upon your aim. One thing seems clear: there is no operator in Mathematica that would do it for you without any thinking and in one click. > > Have fun, Alexei > > Hi. I don't have a good solution, but perhaps a workaround using HoldForm... > > Here's a made up equation with both of your Sin examples. > > equ = (Sin[x + Pi/6] + 3*Tan[x] + Sqrt[2]) / (Cos[x - 1/2] + Sin[x - Pi/6]); > > I used just 1 rule for Sin vs your 2 rules. > > rule1 = Sin[x___]:>cos[Pi/2-x]; > rule2 = cos[x___]:>HoldForm[Cos[x]]; > > > equ /.rule1 /.rule2 > > (Sqrt[2]+Cos[Pi/3-x]+3 Tan[x]) / (Cos[1/2-x]-Cos[Pi/3+x]) > > To go back to using Sin, use: > ReleaseHold[%] > > The following -- almost worked--, but it didn't simplify the terms inside the function. > I don't know why. > > NoSin[e_]:=100*Count[e,_Sin,{0,Infinity}] > > FullSimplify[equ, ComplexityFunction -> NoSin] > > (Sqrt[2]+Cos[1/3 (Pi-3 x)]+3 Tan[x])/(Cos[1/2 (1-2 x)]-Cos[1/3 (Pi+3 x)]) > > > = = = = = = = = = = = = > HTH :>) > Dana DeLouis > Mac, Math 8.0 > = = = = = = = = = = = = > > > > On Feb 17, 6:29 am, Mauro<pi... at hotmail.com> wrote: >> Hello to everybody. >> >> I have this problem: I would like to replace in a long expression all >> the occurrences of: >> >> Sin[\[Theta]_ + \[Pi]/6] and Sin[\[Theta]_ - \[Pi]/6] >> >> with respectively: >> >> -Cos[\[Theta] + (2 \[Pi])/3] and Cos[\[Theta] - (2 \[Pi])/3] >> >> (which actually are the same thing). >> Regretfully, the application of the rules: >> >> Sin[\[Theta]_ + \[Pi]/6] -> -Cos[\[Theta] + (2 \[Pi])/3] >> Sin[\[Theta]_ - \[Pi]/6] -> Cos[\[Theta] - (2 \[Pi])/3] >> >> results in a flop, since sine functions stubbornly appear again! >> >> Can you help me? >> >> Thank you in advance >> >> Mauro > > >