-
-
Notifications
You must be signed in to change notification settings - Fork 660
Closed
Description
var('beta,N_0,V')
V = 1/2
N = 50
solve(exp(-beta*N_0)*(1/beta*N_0) + 1 - 1/(beta*N_0) - V, beta, to_poly_solve='force')
returns the empty solution set, but
var('beta,N_0,V')
V = 1/2
N = 50
solve(exp(-beta*N_0)*(1/beta*N_0) + 1 - 1/(beta*N_0) - V, beta, to_poly_solve=True)
gives a traceback
----> 4 solve(exp(-beta*N_0)*(Integer(1)/beta*N_0) + Integer(1) - Integer(1)/(beta*N_0) - V, beta, to_poly_solve=True)
/home/sc_serv/sage/local/lib/python2.7/site-packages/sage/symbolic/relation.pyc in solve(f, *args, **kwds)
812 from sage.symbolic.expression import is_Expression
813 if is_Expression(f): # f is a single expression
--> 814 ans = f.solve(*args,**kwds)
815 return ans
816
/home/sc_serv/sage/src/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.solve (/home/sc_serv/sage/src/build/cythonized/sage/symbolic/expression.cpp:59288)()
10983 X.append(eq) # we keep this implicit solution
10984 else:
> 10985 raise
10986
10987 # make sure all the assumptions are satisfied
/home/sc_serv/sage/src/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.solve (/home/sc_serv/sage/src/build/cythonized/sage/symbolic/expression.cpp:59055)()
10973 s = m.to_poly_solve(x, options='algexact:true')
10974 T = string_to_list_of_solutions(repr(s))
> 10975 X.extend([t[0] for t in T])
10976 except TypeError as mess:
10977 if ignore_exceptions:
TypeError: 'sage.symbolic.expression.Expression' object does not support indexing
My guess is that somehow whatever list of solutions is gotten isn't subdivided in the way expected here. We should at the very least catch this, if not fix it completely.
Component: symbolics
Issue created by migration from https://trac.sagemath.org/ticket/22709