Re: InequalityInstance bug?
- To: mathgroup at smc.vnet.net
- Subject: [mg26574] Re: [mg26560] InequalityInstance bug?
- From: BobHanlon at aol.com
- Date: Tue, 9 Jan 2001 01:51:49 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I get a correct solution on a Mac. $Version "4.1 for Power Macintosh (November 2, 2000)" ineqs = { r[1, 2] - r[2, 1] == 0, r[2, 1] == -r[1, 1] - r[3, 1], -r[1, 2] + r[2, 1] == 0, r[2, 2] == -r[1, 2] - r[3, 2], r[2, 3] == -r[1, 3] - r[3, 3], r[2, 4] == -r[1, 4] - r[3, 4], r[1, 3] - r[3, 1] == 0, -r[1, 3] + r[3, 1] == 0, r[2, 3] - r[3, 2] == 0, -r[2, 3] + r[3, 2] == 0, r[1, 4] - r[4, 1] == 0, r[4, 1] == r[1, 1], -r[1, 4] + r[4, 1] == 0, r[2, 4] - r[4, 2] == 0, r[4, 2] == r[1, 2], -r[2, 4] + r[4, 2] == 0, r[3, 4] - r[4, 3] == 0, r[4, 3] == r[1, 3], -r[3, 4] + r[4, 3] == 0, r[4, 4] == r[1, 4], (-(r[1, 2]*r[3, 1]) + r[1, 1]*r[3, 2])^2 + (-(r[1, 3]*r[3, 1]) + r[1, 1]*r[3, 3])^2 + (-(r[1, 3]*r[3, 2]) + r[1, 2]*r[3, 3])^2 + (-(r[1, 4]*r[3, 1]) + r[1, 1]*r[3, 4])^2 + (-(r[1, 4]*r[3, 2]) + r[1, 2]*r[3, 4])^2 + (-(r[1, 4]*r[3, 3]) + r[1, 3]*r[3, 4])^2 > 0, r[1, 1] >= 0, -(r[1, 2]*r[2, 1]) + r[1, 1]*r[2, 2] >= 0, -(r[1, 3]*r[2, 2]*r[3, 1]) + r[1, 2]*r[2, 3]*r[3, 1] + r[1, 3]*r[2, 1]*r[3, 2] - r[1, 1]*r[2, 3]*r[3, 2] - r[1, 2]*r[2, 1]*r[3, 3] + r[1, 1]*r[2, 2]*r[3, 3] >= 0, r[1, 4]*r[2, 3]*r[3, 2]*r[4, 1] - r[1, 3]*r[2, 4]*r[3, 2]*r[4, 1] - r[1, 4]*r[2, 2]* r[3, 3]*r[4, 1] + r[1, 2]*r[2, 4]*r[3, 3]*r[4, 1] + r[1, 3]*r[2, 2]*r[3, 4]*r[4, 1] - r[1, 2]*r[2, 3]* r[3, 4]*r[4, 1] - r[1, 4]*r[2, 3]*r[3, 1]*r[4, 2] + r[1, 3]*r[2, 4]*r[3, 1]*r[4, 2] + r[1, 4]*r[2, 1]* r[3, 3]*r[4, 2] - r[1, 1]*r[2, 4]*r[3, 3]*r[4, 2] - r[1, 3]*r[2, 1]*r[3, 4]*r[4, 2] + r[1, 1]*r[2, 3]* r[3, 4]*r[4, 2] + r[1, 4]*r[2, 2]*r[3, 1]*r[4, 3] - r[1, 2]*r[2, 4]*r[3, 1]*r[4, 3] - r[1, 4]*r[2, 1]* r[3, 2]*r[4, 3] + r[1, 1]*r[2, 4]*r[3, 2]*r[4, 3] + r[1, 2]*r[2, 1]*r[3, 4]*r[4, 3] - r[1, 1]*r[2, 2]* r[3, 4]*r[4, 3] - r[1, 3]*r[2, 2]*r[3, 1]*r[4, 4] + r[1, 2]*r[2, 3]*r[3, 1]*r[4, 4] + r[1, 3]*r[2, 1]* r[3, 2]*r[4, 4] - r[1, 1]*r[2, 3]*r[3, 2]*r[4, 4] - r[1, 2]*r[2, 1]*r[3, 3]*r[4, 4] + r[1, 1]*r[2, 2]* r[3, 3]*r[4, 4] >= 0}; vars = {r[1, 1], r[1, 2], r[1, 3], r[1, 4], r[2, 1], r[2, 2], r[2, 3], r[2, 4], r[3, 1], r[3, 2], r[3, 3], r[3, 4], r[4, 1], r[4, 2], r[4, 3], r[4, 4]}; soln = Developer`InequalityInstance[ ineqs, vars ] // Sort {r[1, 1] -> 1, r[1, 2] -> -1, r[1, 3] -> 0, r[1, 4] -> 1, r[2, 1] -> -1, r[2, 2] -> 2, r[2, 3] -> -1, r[2, 4] -> -1, r[3, 1] -> 0, r[3, 2] -> -1, r[3, 3] -> 1, r[3, 4] -> 0, r[4, 1] -> 1, r[4, 2] -> -1, r[4, 3] -> 0, r[4, 4] -> 1} And @@ (ineqs /. soln) True However, this solution is not the same as the one that you gave after substitution for the two True values. Bob Hanlon In a message dated 2001/1/5 11:02:56 PM, gorni at dimi.uniud.it writes: >I am using Mathematica version 4.0. With ineqs and vars defined below >I get the following unexpected output: > >In: Developer`InequalityInstance[ ineqs, vars ] > >Out:{r[4, 4] -> 1, r[4, 3] -> -1, r[3, 3] -> 2, r[4, 2] -> 0, > r[4, 1] -> 1, r[3, 4] -> -1, r[3, 2] -> -1, r[3, 1] -> -1, > r[2, 4] -> 0, r[2, 3] -> True, > r[2, 2] -> 1, r[2, 1] -> 0, r[1, 4] -> True, > r[1, 3] -> -1, r[1, 2] -> 0, r[1, 1] -> 1} > >Notice the values for r[2,3] and r[1,4]. I thought that perhaps >True meant "arbitrary", but it is not so: the equations require >that r[2,3] = -1, r[1,4] = 1. > >What happens with version 4.1? > >All best wishes for a new millennium with fewer bugs! > > Gianluca Gorni > >ineqs = {r[1, 2] - r[2, 1] == 0, r[2, 1] == > -r[1, 1] - r[3, 1], -r[1, 2] + r[2, 1] == 0, > r[2, 2] == -r[1, 2] - r[3, 2], > r[2, 3] == -r[1, 3] - r[3, 3], > r[2, 4] == -r[1, 4] - r[3, 4], > r[1, 3] - r[3, 1] == 0, -r[1, 3] + r[3, 1] == 0, > r[2, 3] - r[3, 2] == 0, -r[2, 3] + r[3, 2] == 0, > r[1, 4] - r[4, 1] == 0, r[4, 1] == r[1, 1], > -r[1, 4] + r[4, 1] == 0, r[2, 4] - r[4, 2] == 0, > r[4, 2] == r[1, 2], -r[2, 4] + r[4, 2] == 0, > r[3, 4] - r[4, 3] == 0, r[4, 3] == r[1, 3], > -r[3, 4] + r[4, 3] == 0, r[4, 4] == r[1, 4], > (-(r[1, 2]*r[3, 1]) + r[1, 1]*r[3, 2])^2 + > (-(r[1, 3]*r[3, 1]) + r[1, 1]*r[3, 3])^2 + > (-(r[1, 3]*r[3, 2]) + r[1, 2]*r[3, 3])^2 + > (-(r[1, 4]*r[3, 1]) + r[1, 1]*r[3, 4])^2 + > (-(r[1, 4]*r[3, 2]) + r[1, 2]*r[3, 4])^2 + > (-(r[1, 4]*r[3, 3]) + r[1, 3]*r[3, 4])^2 > 0, > r[1, 1] >= 0, -(r[1, 2]*r[2, 1]) + > r[1, 1]*r[2, 2] >= 0, > -(r[1, 3]*r[2, 2]*r[3, 1]) + r[1, 2]*r[2, 3]* > r[3, 1] + r[1, 3]*r[2, 1]*r[3, 2] - > r[1, 1]*r[2, 3]*r[3, 2] - r[1, 2]*r[2, 1]* > r[3, 3] + r[1, 1]*r[2, 2]*r[3, 3] >= 0, > r[1, 4]*r[2, 3]*r[3, 2]*r[4, 1] - > r[1, 3]*r[2, 4]*r[3, 2]*r[4, 1] - > r[1, 4]*r[2, 2]*r[3, 3]*r[4, 1] + > r[1, 2]*r[2, 4]*r[3, 3]*r[4, 1] + > r[1, 3]*r[2, 2]*r[3, 4]*r[4, 1] - > r[1, 2]*r[2, 3]*r[3, 4]*r[4, 1] - > r[1, 4]*r[2, 3]*r[3, 1]*r[4, 2] + > r[1, 3]*r[2, 4]*r[3, 1]*r[4, 2] + > r[1, 4]*r[2, 1]*r[3, 3]*r[4, 2] - > r[1, 1]*r[2, 4]*r[3, 3]*r[4, 2] - > r[1, 3]*r[2, 1]*r[3, 4]*r[4, 2] + > r[1, 1]*r[2, 3]*r[3, 4]*r[4, 2] + > r[1, 4]*r[2, 2]*r[3, 1]*r[4, 3] - > r[1, 2]*r[2, 4]*r[3, 1]*r[4, 3] - > r[1, 4]*r[2, 1]*r[3, 2]*r[4, 3] + > r[1, 1]*r[2, 4]*r[3, 2]*r[4, 3] + > r[1, 2]*r[2, 1]*r[3, 4]*r[4, 3] - > r[1, 1]*r[2, 2]*r[3, 4]*r[4, 3] - > r[1, 3]*r[2, 2]*r[3, 1]*r[4, 4] + > r[1, 2]*r[2, 3]*r[3, 1]*r[4, 4] + > r[1, 3]*r[2, 1]*r[3, 2]*r[4, 4] - > r[1, 1]*r[2, 3]*r[3, 2]*r[4, 4] - > r[1, 2]*r[2, 1]*r[3, 3]*r[4, 4] + > r[1, 1]*r[2, 2]*r[3, 3]*r[4, 4] >= 0}; > >vars = {r[1, 1], r[1, 2], r[1, 3], r[1, 4], r[2, 1], > r[2, 2], r[2, 3], r[2, 4], > r[3, 1], r[3, 2], r[3, 3], r[3, 4], r[4, 1], > r[4, 2], r[4, 3], r[4, 4]} >