Re: FindInstance puzzler
- To: mathgroup at smc.vnet.net
- Subject: [mg83636] Re: [mg83633] FindInstance puzzler
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 27 Nov 2007 06:04:47 -0500 (EST)
- References: <200711260849.DAA29897@smc.vnet.net>
On 26 Nov 2007, at 17:49, Mark Fisher wrote:
> Hi all,
>
> I'm puzzled by the results of FindInstance which seems to restrict its
> results to a subregion of the valid space.
>
> conds = And @@
> Append[Thread[(Abs[L] /. Solve[1 - z1 L - z2 L^2 == 0, L]) >= 1],
> z1 + z2 >= 0];
>
> RegionPlot[conds, {z1, -.75, 2.25}, {z2, -1.25, 1.25}, PlotPoints ->
> 90,
> Epilog -> Point[{z1, z2} /. FindInstance[conds, {z1, z2}, Reals,
> 10^3]]]
>
> I suppose this isn't a bug, because the results of FindInstance are
> all valid, but nevertheless I find it unpleasing (to say the least)
> that part of the valid space seems to get no representation. It means
> that FindInstance is of limited use for exploring such spaces.
>
> --Mark
>
>
It seems to me that you have found a more serious problem than just
"unpleasing" behaviour of FindInstance. In fact, this looks to me
like a quite serious bug in Reduce. The easiest way to see it is this:
conds = And @@
Append[Thread[(Abs[L] /. Solve[1 - z1 L - z2 L^2 == 0, L]) >= 1],
z1 + z2 >= 0];
conds1 = Reduce[conds, {z1, z2}, Reals];
Now, conds1 ought to be equivalent (over the reals) to conds. But it
is not! For example:
conds /. Thread[{z1, z2} -> {3/2, -3/5}]
True
but
conds1 /. Thread[{z1, z2} -> {3/2, -3/5}]
False
This certianly should not happen! How is this related to your
problem? You can see this immediately by looking at:
RegionPlot[conds1, {z1, -.75, 2.25}, {z2, -1.25, 1.25}, PlotPoints ->
90, Epilog -> Point[{z1, z2} /. FindInstance[conds1, {z1, z2},
Reals, 10^3]]]
Note that conds was replaced by conds1, which ought to be equivalent
to it over the reals (but is not). So unless I have had a sudden
attack of insanity there is a serious bug in Reduce and it was not
intrduced in Mathematica 6 as the same behaviour is present in 5.2
Andrzej Kozlowski
- References:
- FindInstance puzzler
- From: Mark Fisher <particlefilter@gmail.com>
- FindInstance puzzler