On Sep 13, 12:08 pm, Pong <wypon...@gmail.com> wrote: > y,z=var('y,z'); solve(6*x + 10*y + 15*z ==1,x,y,z) gives > ([{x: -5/3*y - 5/2*z + 1/6}], [1])
So wacky. Definitely a bug, needless to say. > ([x == -y + 3], [1]) > > My questions are: > 1) Why the notation are different in the 2 and 3-variable case? One > gives x: and the other x== > Well, you are asking for solutions to both x *and* y, but the solve is really designed to solve one in terms of the other(s). I just think no one has pointed out this weirdness before. So you are using it in a way it wasn't intended. I'm not sure whether we should add the use, or have a warning, or both, or neither, or documentation, or... > 2) What the [1] in both cases stand for ? Compare: sage: a = x+y==3 sage: type(a) <type 'sage.symbolic.expression.Expression'> sage: a.solve(x,y) ([x == -y + 3], [1]) sage: a.solve(x,False) [x == -y + 3] sage: a.solve(x,True) ([x == -y + 3], [1]) So we are giving a non-False input to the second argument (whether we should get multiplicities) and so we get a multiplicity of 1. Which doesn't really make sense anyway. Maybe we should put in a check for the expression having more than one variable before we send it to a.solve(), or maybe it just needs that long-awaited rewrite... see http://trac.sagemath.org/sage_trac/wiki/symbolics for some issues with solve. > 3) In order to get the parameters appear in the solution, one need to > add a redundant equation. Shall we improve on that? > e.g. > solve([x+y==3,2*x+2*y==6],x,y) > [[x == -r1 + 3, y == r1]] I think this is because when you do that, now the input is multiple, and instead of doing Expression.solve(), it does the main solve() routine, which deals with this. Thoughts from others who care about "solve"? I'm not quite sure what the best solution is. The easiest one is making really big letters in the documentation that say "don't do this" and trying to catch these cases. - kcrisman -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org