MathGroup Archive 2006

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

Search the Archive

Re: Question about Reduce

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63913] Re: [mg63897] Question about Reduce
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Sun, 22 Jan 2006 00:52:28 -0500 (EST)
  • References: <200601210650.BAA11292@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On 21 Jan 2006, at 07:50, Mark Fisher wrote:

> The following behavior of Reduce puzzles me.
>
> conds = (5*Abs[67/30 - Sqrt[4489/900 - (18*(1 + x/3))/5]])/9 > 1 &&
> (5*Abs[67/30 + Sqrt[4489/900 - (18*(1 + x/3))/5]])/9 > 1;
>
> conds /. x -> 2
>
> returns True
>
> but
>
> Reduce[conds && x â?? Reals, {x}, Complexes] /. x -> 2
>
> returns False.
>
> Is that a bug or do I just not understand what Reduce should do?
>
> --Mark
>

It is clear that what reduce is doing is simply this:


Reduce[conds, {x}, Reals]


x < -(62/5) || Inequality[1, Less, x, LessEqual, 1249/1080]


IN other words, it is not attempting to solve the inequalities over  
the complexes as requested and this is very likely a bug.

I think you can solve the problem with Reduce if you explicitly  
introduce another variable z that is allowed to take complex values.




sol = FullSimplify[First /@
     Reduce[z^2 == 4489/900 -
         (18/5)*(x/3 + 1) &&
       (5/9)*Abs[67/30 - z] >
        1 && (5/9)*Abs[
          z + 67/30] > 1 &&
       x â?? Reals, {x, z}]]


x < -(62/5) || x > 1

Let's check on some numerical values:


conds /. x -> 1


False


conds /. x -> 1.1

True

=
conds /. x -> -62/5


False


conds /. x -> -63/5


True

So it looks pretty convincing.

Andrzej Kozlowski





  
  


  • Prev by Date: Re: Question about Reduce
  • Next by Date: Re: Recalculating values in tables?
  • Previous by thread: Question about Reduce
  • Next by thread: Re: Question about Reduce