There are algorithms that depend on being able to send more symbols than equations and obtain a dictionary containing the symbols solved for and their values, so *not* returning the symbol information in some way is not an option. This being the case we have to figure out the cleanest way to send back symbol/value information every time.
Can we move forward with one of these options? OPTION A Return a FiniteSet of Dict results and (if explicit symbols were given or the system is univariate) allow the list=True option to have values or tuples of values returned? (If explicit symbols are not given and the solution is multivariate, then raise an error if the list option is selected.) solve(x-1) {{x:1}} solve(x-1, list=True) [-1] solve(x-y) {{x: y}} solve(x-y, list=True) Error solve((x+y-5,x-y,1)) {{x:2, y:3}} solve((x+y-5,x-y,1), list=1) Error solve((x+y-5,x-y,1), x,y, list=1) [(2, 3)] Given the standard solution (FiniteSet of Dicts) eq.subs(list(sol)[j]) will subs the jth solution into eq eq.subs(sol.args[j]) will subs the jth solution into eq OPTION B Return a tuple: the symbols solved for and the set of solns for single equation system, and multi-equation systems could return as (symbol list, set of soln tuples) so there would only be two return types. solve(x-1) (x, {1}) solve(x**2-1) (x, {-1, 1}) solve(x**2-y) (y, {x**2}) solve(x**2-y, x) (x, {-sqrt(y), sqrt(y)}) solve((x+y-5,x-y,1), x,y) ((x, y), {(2, 3)}) eq.subs(zip(sol[0], list(sol[1])[j])) will subs the jth solution into eq eq.subs(zip(sol[0], sol[1].args[j])) will subs the jth solution into eq Unless FiniteSet is made indexable, it is a pain to work with as a container for solutions since to access a given solution, you have to convert the FiniteSet to a list or else use args. Is there any reason to not allow FiniteSet to be indexable? /c -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.