Re: questions
- To: mathgroup at smc.vnet.net
- Subject: [mg77533] Re: [mg77513] questions
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 12 Jun 2007 01:22:15 -0400 (EDT)
- References: <200706110824.EAA20819@smc.vnet.net>
First, note that in Mathematica 6.0 we have: ff = Pi*Cos[(1/7)*Pi]*Cos[(2/7)*Pi]* (Cos[(3/7)*Pi]/Sin[Pi*Cos[(1/7)*Pi]* Cos[(2/7)*Pi]*Cos[(3/7)*Pi]]); FullSimplify[ff] (1/8)*Pi*Csc[Pi/8] FunctionExpand[%] Pi/(4*Sqrt[2 - Sqrt[2]]) Second, simply adding transformations to TransformationFunctions does not guarantee that the simplification you desire will be made because FullSimplify has to generate by means of the transformation functions a chain of expressions, beginning withe the input and ending with the desired one, and moreover, there is some limit on how much the complexity of generated expressions can increase before they are abandoned. (I think for Simplify it is not allowed to increase at all). I think that this also explains why in Mathematica 5.2 adding FullSimplify to TransformationFunctions works in thi case. What happens, I think, is this. Mathematica applies TrigReduce (which is one of the TransformationFunctions it uses Automatically) to ff: fff = TrigReduce[ff] (1/4)*(Pi + Pi*Cos[(2*Pi)/7] + Pi*Cos[(4*Pi)/7] + Pi*Cos[(6*Pi)/7])*Csc[Pi/4 + (1/4)*Pi*Cos[(2*Pi)/7] + (1/4)*Pi*Cos[(4*Pi)/7] + (1/4)*Pi*Cos[(6*Pi)/7]] Now, this has much higher ComplexityFunction than fff: LeafCount/@{ff,fff} {41,70} and would normally be abandoned after applying to it some of the other transformation functions. However, one of the TransformationFunctions is FullSimplify and when it is applied this happens: FullSimplify[fff] (1/8)*Pi*Csc[Pi/8] Now, of course this leaves open the question: why was FullSimplify able to simplify this? That I do not know, but I think that more than one transformation used by FullSimplify was needed to do this, which is why this would not have happened if FullSimplify was not one of the TransformationFunctions. In other words, this time it is not the question of the transformations that are being used, since FullSimplify knows enough transformation to simplify this expression, but of the "length of chain of transformed expressions" used. With FullSimplify as a transformation function this chain is in effect longer. So, (assuming that I am right) for me, the interesting question that arises from all this is: what has exactly changed in Mathematica 6 that makes it possible to get the desired answer without adding FullSimplify to the TransformationFunctions? There seem to be just two possibilities. One is that a new function has been added to FullSimplify default transformation functions, or that a new "standard form" is being used for certain expressions. The other possibility is that the actual way in which FullSimplify works has been altered, e.g. perhaps longer "chains of transformations" are being allowed. Personally I would put my money on the former. Andrzej Kozlowski On 11 Jun 2007, at 17:24, dimitris wrote: > Hello. > > This appeared recently, but sice there was > no response, I make one more attempt. > > ff = Pi*Cos[1/7*Pi]*Cos[2/7*Pi]* > Cos[3/7*Pi]/Sin[Pi*Cos[1/7*Pi]*Cos[2/7*Pi]*Cos[3/7*Pi]]; > > I try to simplify ff. > > In[194]:= > o1=FullSimplify[Together[TrigToExp[ff]]] > Out[194]= > (1/4)*Sqrt[1 + 1/Sqrt[2]]*Pi > > or as an another way take > > In[199]:= > o2=FullSimplify[TrigFactor //@ ff] > Out[199]= > (1/8)*Pi*Csc[Pi/8] > > o1 was obtained by FullSimplify[Together[TrigToExp[ff]]]. > > Why doesn't > > In[206]:= > FullSimplify[ff, TransformationFunctions -> {Automatic, TrigToExp, > Together}] > > Out[206]= > Pi*Cos[Pi/7]*Cos[(2*Pi)/7]*Cos[(3*Pi)/7]*Csc[Pi*Cos[Pi/7]*Cos[(2*Pi)/ > 7]*Cos[(3*Pi)/7]] > > do the same thing? What I miss here? > > Also, why the following does suceed? > > In[213]:= > FullSimplify[ff, TransformationFunctions -> {Automatic, > FullSimplify}] > Out[213]= > (1/8)*Pi*Csc[Pi/8] > > Thank you very much! > >
- References:
- questions
- From: dimitris <dimmechan@yahoo.com>
- questions