MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: FullSimplify with Assumptions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg53358] Re: [mg53349] Re: [mg53339] FullSimplify with Assumptions
  • From: DrBob <drbob at bigfoot.com>
  • Date: Sat, 8 Jan 2005 02:39:25 -0500 (EST)
  • References: <200501070300.WAA10775@smc.vnet.net> <200501070618.BAA13516@smc.vnet.net>
  • Reply-to: drbob at bigfoot.com
  • Sender: owner-wri-mathgroup at wolfram.com

>> 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

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


  • Prev by Date: Re: logical indexing using more than one variable in a pure function
  • Next by Date: Re: FullSimplify with Assumptions
  • Previous by thread: Re: FullSimplify with Assumptions
  • Next by thread: Re: Re: FullSimplify with Assumptions