Re: Re: FullSimplify with Assumptions
- To: mathgroup at smc.vnet.net
- Subject: [mg53364] Re: [mg53349] Re: [mg53339] FullSimplify with Assumptions
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sat, 8 Jan 2005 02:39:32 -0500 (EST)
- References: <200501070300.WAA10775@smc.vnet.net> <200501070618.BAA13516@smc.vnet.net> <opsj8m7hq0iz9bcq@monster.ma.dl.cox.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 8 Jan 2005, at 00:12, DrBob wrote: >>> One should really deal with such problems by using polynomial >>> algebra, >>> that is PolynomialReduce etc, with specified variable ordering. > > Umm... OK... But WHAT specified variable ordering would that be? > > Try different orderings until one of them works? If that's impractical > for FullSimplify, why is it practical for humans? > > Bobby Yes, it's a wonder what HUMAN intelligence can achieve, isn't it? Andrzej > > On Fri, 7 Jan 2005 01:18:49 -0500 (EST), Andrzej Kozlowski > <akoz at mimuw.edu.pl> wrote: > >> On 7 Jan 2005, at 12:00, Goyder Dr HGD wrote: >> >>> In the examples below I would expect FullSimplify to give L. >>> However, I get results that depend on the symbols I use. >>> It would appear that symbols x and y are treated differently. >>> >>> How can I force FullSimplify to use the LeafCount as the >>> ComplexityFunction? >>> >>> >>> In[14]:= r1 = FullSimplify[(L - L*y^2)/x^2, {-1 + x^2 + y^2 == 0}] >>> >>> Out[14]= (L - L*y^2)/x^2 >>> >>> In[15]:= r2 = FullSimplify[(L - L*x^2)/y^2, {-1 + x^2 + y^2 == 0}] >>> >>> Out[15]= L >>> >>> In[16]:= LeafCount[r1] >>> >>> Out[16]= 12 >>> >>> In[17]:= LeafCount[r2] >>> >>> Out[17]= 1 >>> >>> In[18]:= $Version >>> >>> Out[18]= "5.1 for Microsoft Windows (October 25, 2004)" >>> >>> Thanks for any comment >>> >>> Hugh Goyder >>> >> I would speculate that the reason has something to do with >> FullSimplify >> using PolynomialReduce or related functions, whose outcome depends on >> the ordering of the variables. Compare for example: >> >> >> Last[PolynomialReduce[(L - L*y^2)/x^2, {-1 + x^2 + y^2}, >> {x, y}]] >> >> >> L/x^2 - (L*y^2)/x^2 >> >> with >> >> >> Last[PolynomialReduce[(L - L*y^2)/x^2, {-1 + x^2 + y^2}, >> {y, x}]] >> >> L >> >> Note also that if you do not include explicitly the variables you will >> get: >> >> >> Last[PolynomialReduce[(L - L*y^2)/x^2, {-1 + x^2 + y^2}]] >> >> >> L/x^2 - (L*y^2)/x^2 >> >> >> I suspect this isn't a bug in FullSimplify. To remedy it FullSimplify >> would need to use all possible orderings of variables when applying >> algebraic functions whose output depends on variable order, and that >> is >> obviously just not a reasonable option in terms of performance. Also, >> Simplify and FullSimplify are not really optimized for conditions of >> the form something == something else; I find it a little surprising >> that it works as well as it does. One should really deal with such >> problems by using polynomial algebra, that is PolynomialReduce etc, >> with specified variable ordering. >> >> >> Andrzej Kozlowski >> Chiba, Japan >> http://www.akikoz.net/~andrzej/ >> http://www.mimuw.edu.pl/~akoz/ >> >> >> >> > > > > -- > DrBob at bigfoot.com > www.eclecticdreams.net >
- References:
- FullSimplify with Assumptions
- From: "Goyder Dr HGD" <h.g.d.goyder@cranfield.ac.uk>
- Re: FullSimplify with Assumptions
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- FullSimplify with Assumptions