The K.<> = ... syntax injects a names=(...) keyword argument on the right hand side:
sage: preparse('K.<k> = f()') "K = f(names=('k',)); (k,) = K._first_ngens(1)" So what you probably want is: sage: x = polygen(QQ) sage: sage_eval("NumberField(x^2 + x - 1/2, embedding=0.366, names=('x',))", locals={'x':x}) Number Field in x with defining polynomial x^2 + x - 1/2 On Saturday, July 27, 2013 5:53:52 PM UTC-4, Emil wrote: > > Hi, I'd like to be able to save number fields with embeddings as text > strings, so that they can be instantiated at a later date, as well as being > human readable. So, I'm trying to store the command used to create such a > field, and use sage_eval on it. > > sage: x = polygen(QQ) > sage: K.<x> = NumberField(x^2 + x - 1/2, embedding=0.366) > > The above works, but the following gives an error: > > sage: K.<x> = sage_eval('NumberField(x^2 + x - 1/2, embedding=0.366)', > locals={'x': x}) > --------------------------------------------------------------------------- > TypeError Traceback (most recent call last) > > /Users/ev/Projects/flagmatic/<ipython console> in <module>() > > TypeError: sage_eval() got an unexpected keyword argument 'names' > > > Does anyone know how to fix this? Thanks! > -- 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. For more options, visit https://groups.google.com/groups/opt_out.