Re: Why does Solve give me no solutions for this in Version 8.0.1?
- To: mathgroup at smc.vnet.net
- Subject: [mg119973] Re: Why does Solve give me no solutions for this in Version 8.0.1?
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Sat, 2 Jul 2011 05:02:42 -0400 (EDT)
On 06/30/2011 07:40 PM, Phil J Taylor wrote: > This system of equations for the Magic Hexagon is indeterminate. > Solve still provides useful information in Version 6.0 > > ClearAll[a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s]; > eqns = { > a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s > - 190 == 0, > a + b + c - 38 == 0, > a + d + h - 38 == 0, > a + e + j + o + s - 38 == 0, > b + e + i + m - 38 == 0, > b + f + k + p - 38 == 0, > c + f + j + n + q - 38 == 0, > c + g + l - 38 == 0, > d + e + f + g - 38 == 0, > d + i + n + r - 38 == 0, > g + k + o + r - 38 == 0, > h + i + j + k + l - 38 == 0, > h + m + q - 38 == 0, > l + p + s - 38 == 0, > m + n + o + p - 38 == 0, > q + r + s - 38 == 0 > }; > > Join[ > Solve[eqns, b], Solve[eqns, d], Solve[eqns, g], > Solve[eqns, m], Solve[eqns, p], Solve[eqns, j], > Solve[eqns, r], Solve[eqns, e], Solve[eqns, f], > Solve[eqns, i], Solve[eqns, k], Solve[eqns, n], > Solve[eqns, o], Solve[eqns, a], Solve[eqns, c], > Solve[eqns, h], Solve[eqns, l], Solve[eqns, q], > Solve[eqns, s]] > > Out[1]: {{b -> j + n + o}, {d -> j + k + o}, {g -> i + j + n}, > {m -> f + j + k}, {p -> e + i + j}, {j -> -38 + d + g + r}, > {r -> -38 + h + l + m + p}, {e -> -38 + h + k + q + r}, > {f -> -38 + i + l + r + s}, {i -> -38 + f + p + q + s}, > {k -> -38 + e + m + q + s}, {n -> -38 + g + h + k + l}, > {o -> -38 + d + h + i + l}, {a -> -38 + i + m + n + q + r}, > {c -> -38 + k + o + p + r + s}, {h -> -38 + n + o + p + r + s}, > {l -> -38 + m + n + o + q + r}, {q -> -38 + g + k + l + o + p}, > {s -> -38 + d + h + i + m + n}} > > Version 8.0.1 returns {}. There are no generic solutions: each separate system forces equations involving non-Solve variables. See Documentation Center > Solve > Options > MaxExtraConditions You could do e.g. In[563]:= Solve[eqns, b, MaxExtraConditions -> Infinity] Out[563]= {{b -> ConditionalExpression[j + n + o, d - j - k - o == 0 && f + j + k + n + o + p == 38 && m + n + o + p == 38 && e - k - n - o - p - r == -38 && g + k + o + r == 38 && i + j + k + n + o + r == 38 && c - k - o - p - r - s == -38 && h - n - o - p - r - s == -38 && l + p + s == 38 && a + j + k + n + 2 o + p + r + s == 76 && q + r + s == 38]}} I'd suggest instead just doing Solve[eqns] An addition to being simpler to input, you will not have a "solution set" where r is in terms of l, and l is in terms of r. If you want to specify a set of variables to solve for in terms of all the rest, that shopuld be fine too. I'd make sure it is large enough that there are no remaining relations in terms of non-specified variables (or again you'll get {}). Alternatively you could set MaxExtraConditions to some high value. Daniel Lichtblau Wolfram Research