1 | initial version |
Hi RAC,
You're almost there -- you just need to save the output of the solve
command:
sage: solutions = solve([eq1, eq2, eq3], x, y, z)
sage: print solutions
[
[x == 1, y == 2, z == 3]
]
sage: print solutions[0]
[x == 1, y == 2, z == 3]
sage: soln = solutions[0]
sage: print soln[0]
x == 1
The output is a list, whose contents are solutions and multiplicities. In this case the solution has multiplicity 1, so the list contains a single item, which is another list -- that list is the list of expressions which constitutes a solution. solutions[0]
is the first item of solutions
-- that is, the solution. soln[0]
is the first item of that solution -- that is, the expression which gives the value of x
:
sage: type(soln[0])
<type 'sage.symbolic.expression.Expression'>
Now to get the value itself, you need to just take the right hand side of that expression:
sage: expr = soln[0]
sage: expr.rhs()
1
sage: expr.lhs()
x
Note that you don't have to define all these intermediate variables if you don't want to -- I just did it to make the explanation a little clearer:
sage: solve([eq1, eq2, eq3], x, y, z)[0][0].rhs()
1
Using the other entries in the soln
list will give the values of the other variables:
sage: soln[1].rhs()
2
sage: soln[2].rhs()
3