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