On Wednesday, June 12, 2013 8:09:02 PM UTC-4, leif wrote: > > robin hankin wrote: > > hello, sage 5.9 > > > > If solve() gives an unspecificed integer, how do I substitute a > > particular value into the expression? > > > > subs() does not work as expected/desired because the free variables > > don't seem to be defined. > > > > sage: a=solve(sin(x)==0,x,to_poly_solve='force');a > > [x == 2*pi*z38, x == pi + 2*pi*z36] > > sage: a[0].rhs() > > 2*pi*z38 > > sage: a[0].rhs().subs(z38,3) > > > --------------------------------------------------------------------------- > > NameError Traceback (most recent call > last) > > <ipython-input-3-1ded925632b3> in <module>() > > ----> 1 a[Integer(0)].rhs().subs(z38,Integer(3)) > > > > NameError: name 'z38' is not defined > > sage: > > Smells like a bug... >
Not exactly. The documentation for solve makes it clear (I hope!) in the examples that these are "generic" variables generated by Maxima which we do not make "Sage" variables. They just mean, "any old integer" (hence 'z'). That said, it would be useful to allow them to be used in this way. The problem is that a user might already have defined z38 to mean something else... -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support?hl=en. For more options, visit https://groups.google.com/groups/opt_out.