| 1 | initial version |
When you run the solve command, the function returns a list of expressions, that are equalities. It does not touch the Python variables a and b which continue to point to the symbols a and b. Those are symbols, not numbers, so it is normal that they do not have any numerical value.
How to extract the values provided by the solve fucntion ?
The simplest way, is first to return the solutions as dictionaries, not as symbolic equalities, by using the solution_dict=True option:
sage: s = solve([7.0==a*sqrt(16)/(1+b/16.0),22==a*sqrt(4)/(1+b/4)],a,b, solution_dict=True)
sage: s
[{b: -592/169, a: 231/169}]
Here, you see that there is only one solution:
sage: s[0]
{b: -592/169, a: 231/169}
You can extract the value for a as follows:
sage: s[0][a]
231/169
and take its numerical value:
sage: s[0][a].n()
1.36686390532544
| 2 | No.2 Revision |
When you run the solve command, the function returns a list of expressions, that are equalities. It does not touch the Python variables a and b which continue to point to the symbols a and b. Those are symbols, not numbers, so it is normal that they do not have any numerical value.
How to extract the values provided by the solve fucntion function ?
The simplest way, is first to return the solutions as dictionaries, not as symbolic equalities, by using the solution_dict=True option:
sage: s = solve([7.0==a*sqrt(16)/(1+b/16.0),22==a*sqrt(4)/(1+b/4)],a,b, solution_dict=True)
sage: s
[{b: -592/169, a: 231/169}]
Here, you see that there is only one solution:
sage: s[0]
{b: -592/169, a: 231/169}
You can extract the value for a as follows:
sage: s[0][a]
231/169
and take its numerical value:
sage: s[0][a].n()
1.36686390532544
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.