Re: Bug in Reduce?

• To: mathgroup at smc.vnet.net
• Subject: [mg60446] Re: [mg60406] Bug in Reduce?
• Date: Fri, 16 Sep 2005 03:50:42 -0400 (EDT)
• References: <dfrhi4\$g4l\$1@smc.vnet.net> <dg8lfv\$r8g\$1@smc.vnet.net> <200509140926.FAA01590@smc.vnet.net> <200509150916.FAA15875@smc.vnet.net> <80961907-E23E-42FE-9A68-09103A6CC21F@yhc.att.ne.jp>
• Sender: owner-wri-mathgroup at wolfram.com

```The Reduce example works correctly in Mathematica 5.2

In[1]:= Reduce[{a c - b d == 0, a d + b c == 0}, {a, b, c, d}, Reals] //
FullSimplify

Out[1]= (a == 0 && b == 0) || (c == 0 && d == 0)

but the underlying cylindrical algebraic decomposition problem
was still there:

In[2]:= CylindricalDecomposition[a == 0 && b == 0 && a*c == 0 &&
b*c == 0, {a, b, c, d}]

Out[2]= a == 0 && b == 0 && c == 0

I have fixed it in the development version.
Thank you for pointing it out.

The bug was affecting systems with a univariate equational constraint
in the first listed variable (a==0 here), such that a root of this
constraint (a->0 here) would make an input equation with more variables
(a*c==0 here) identically True.

Best Regards,

Wolfram Research

Andrzej Kozlowski wrote:
> This does indeed like a bug.
>
> The documentation states:
>
> When expr involves only polynomial conditions, Reduce[expr, vars,
> Reals] gives a cylindrical algebraic decomposition of expr.
>
> However
>
>
> FullSimplify[CylindricalDecomposition[
>    {a*c - b*d == 0, a*d + b*c == 0}, {a, b, c, d}]]
>
>
> (a == 0 && b == 0) || (c == 0 && d == 0)
>
> so something is definitely fishy, particularly that if you call  Reduce
> without explicit variables you get the same correct answer as  above
>
>
> FullSimplify[Reduce[{a*c - b*d == 0, a*d + b*c == 0},
>    Reals]]
>
>
> (c == 0 && d == 0) || (a == 0 && b == 0)
>
> Andrzej Kozlowski
>
>
>
>
> On 15 Sep 2005, at 18:16, Kennedy wrote:
>
>> The source of this apparent bug could be my misunderstanding of the
>> middle,
>> "vars" parameter of Reduce, but it sure seems like the following  output
>> indicates that  c  must be  0  for my two equations to be  satisfied,
>> when in
>> fact if  a  and  b  are both  0,  c  does not need to be  0.
>>
>> Regards,
>> Jack
>>
>> In[1]:=
>> Reduce[{a c - b d == 0, a d + b c == 0}, {a, b, c, d}, Reals] //
>> FullSimplify
>>
>> Out[1]=
>> c == 0 && (d == 0 || (a == 0 && b == 0))
>>
>> (version 5.1 for Windows)
>>
>>
>

```

• Prev by Date: Re: Bug in Reduce?
• Next by Date: Re: basic issue with do and :=
• Previous by thread: Re: Bug in Reduce?
• Next by thread: Re: Bug in Reduce?