Re: Bug in Reduce?

*To*: mathgroup at smc.vnet.net*Subject*: [mg60446] Re: [mg60406] Bug in Reduce?*From*: Adam Strzebonski <adams at wolfram.com>*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>*Reply-to*: adams at wolfram.com*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, Adam Strzebonski 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) >> >> >

**References**:**Re: Simplify and Noncommutativity***From:*Robert Schoefbeck <schoefbeck@hep.itp.tuwien.ac.at>

**Bug in Reduce?***From:*"Kennedy" <jack@realmode.com>