Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: Re: another Bug in Reduce ?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg60556] Re: [mg60533] Re: another Bug in Reduce ?
  • From: Andrzej Kozlowski <andrzej at akikoz.net>
  • Date: Tue, 20 Sep 2005 05:19:19 -0400 (EDT)
  • References: <dgit7h$2ag$1@smc.vnet.net> <200509190845.EAA23572@smc.vnet.net> <ED1C56B6-A552-4CA6-A365-562B710B4271@mimuw.edu.pl>
  • Sender: owner-wri-mathgroup at wolfram.com

On 19 Sep 2005, at 21:16, Andrzej Kozlowski wrote:

> CylindricalDecomposition[Root[#1^3 + p*#1 - p - 1 & , 1] - Root 
> [#1^3 + p*#1 - p - 1 & , 2] == q, {p, q}]
>
>
> (p <= -3 && q == (-(1/2))*Sqrt[-4*p - 3] - 3/2) || (-3 < p < -(3/4)  
> && q == -Sqrt[-4*p - 3]) || (p == -(3/4) && q == -(3/2))
>
>
> Now the case p== -3/4 does appear but look at the value of q. It is  
> -3/2 which is the difference -1/2 -1. But this is not the  
> difference between the first and the third root! So it looks like  
> we are seeing the cause of the bug: it comes form the fact that  
> CylindricalDecomposition forgets about double roots as in the above  
> example.


I should have written "not the difference between the first and  
second root". As this is the key point I thought I should explain  
this again. Looking again at

CylindricalDecomposition[y^3 + p*y - p - 1 == 0, {p, y}]


(p < -3 && (y == (-(1/2))*Sqrt[-4*p - 3] - 1/2 ||
     y == 1 || y == (1/2)*Sqrt[-4*p - 3] - 1/2)) ||
   (p == -3 && (y == -2 || y == 1)) ||
   (-3 < p < -(3/4) && (y == (-(1/2))*Sqrt[-4*p - 3] -
       1/2 || y == (1/2)*Sqrt[-4*p - 3] - 1/2 ||
     y == 1)) || (p == -(3/4) && (y == -(1/2) ||
     y == 1)) || (p > -(3/4) && y == 1)

we see that for the case p=-3/4 CylindricalDecomposition gives the  
point (y == -(1/2) || y == 1)) while the three roots (in order) are  
{-1/2,-1/2,1}. So in this case the difference between the first and  
secodn roots ought to be zero (as they are equal) but  
CylindricalDecomposition subtracts the two roots it has listed and  
gets -1/2-1 = -3/2. This appears to be what lies behind the whole  
problem.

Andrzej Kozlowski


  • Prev by Date: Re: Dropping Similar Numbers from List
  • Next by Date: Re: A Su Doku solver
  • Previous by thread: Re: Re: another Bug in Reduce ?
  • Next by thread: Re: Re: another Bug in Reduce ?