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
- References:
- Question about Reduce
- From: Mark Fisher <mark@markfisher.net>
- Question about Reduce