[Date Index]
[Thread Index]
[Author Index]
Re: FullSimplify with Assumptions
*To*: mathgroup at smc.vnet.net
*Subject*: [mg53349] Re: [mg53339] FullSimplify with Assumptions
*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>
*Date*: Fri, 7 Jan 2005 01:18:49 -0500 (EST)
*References*: <200501070300.WAA10775@smc.vnet.net>
*Sender*: owner-wri-mathgroup at wolfram.com
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/
Prev by Date:
**Re: Re: Run, RunThrough on OSX?**
Next by Date:
**Re: global assumptions?? How far can I go?**
Previous by thread:
**FullSimplify with Assumptions**
Next by thread:
**Re: Re: FullSimplify with Assumptions**
| |