Hi everyone I am doing some calcs involving n-th roots of unity and the square root of n, all viewed ultimately as complex numbers (where n is any positive integer). Everything is of course fine if sqrt(n) is in QQ(zeta_n), and everything is also fine for other n except that if I wish to step out of the number field situation and evaluate things as complexes, I begin to get embedding errors which I do not understand. I have tried at least a dozen completely different approaches based on the manual, but in vain. In short, here is an example:
n = 3 Z.<z> = CyclotomicField(n) LX.<X> = Z[] L.<s> = Z.extension(X^2-n) Now, if I check that everything is in order inside L, it all seems fine at this stage - for example s in L z in L both return 'True' and moreover both behave as per their defining equations. The problem arises as soon as I try to manipulate anything involving 's' as a complex number, for example even the trivial CC(s) returns Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_59.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("Q0Mocyk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpfVbXx5/___code___.py", line 2, in <module> exec compile(u'CC(s) File "", line 1, in <module> File "/home/sage/sage-5.7/local/lib/python2.7/site-packages/sage/rings/complex_field.py", line 277, in __call__ return Parent.__call__(self, x) File "parent.pyx", line 834, in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:7415) File "coerce_maps.pyx", line 82, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3583) File "coerce_maps.pyx", line 77, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3485) File "/home/sage/sage-5.7/local/lib/python2.7/site-packages/sage/rings/complex_field.py", line 308, in _element_constructor_ return complex_number.ComplexNumber(self, x) File "complex_number.pyx", line 162, in sage.rings.complex_number.ComplexNumber.__init__ (sage/rings/complex_number.c:3647) File "parent.pyx", line 834, in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:7415) File "coerce_maps.pyx", line 156, in sage.structure.coerce_maps.NamedConvertMap._call_ (sage/structure/coerce_maps.c:4593) File "number_field_element.pyx", line 1333, in sage.rings.number_field.number_field_element.NumberFieldElement._mpfr_ (sage/rings/number_field/number_field_element.cpp:11441) File "parent.pyx", line 834, in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:7415) File "coerce_maps.pyx", line 82, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3583) File "coerce_maps.pyx", line 77, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (sage/structure/coerce_maps.c:3485) File "/home/sage/sage-5.7/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.py", line 8058, in _element_constructor_ return NumberField_absolute._element_constructor_(self, x) File "/home/sage/sage-5.7/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.py", line 1230, in _element_constructor_ return self._coerce_from_other_number_field(x) File "/home/sage/sage-5.7/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.py", line 5671, in _coerce_from_other_number_field raise ValueError, "Cannot convert %s to %s (regardless of embeddings)"%(x,K) ValueError: Cannot convert s to Cyclotomic Field of order 3 and degree 2 (regardless of embeddings) Of course I would understand this if I were trying to coerce s naively into Z, but I cannot understand why this is happening in this situation (since SAGE seems quite happy with s being a member of L, ergo I would have thought that it would have some appropriate complex embedding 'in mind' ...). I have tried to use embeddings and extensions in various guises, but to no avail. Also I would like to use the machinery SAGE has for handling cyclotomic numbers, so I would prefer not to have to define this by first looking up the cyclotomic polynomial and defining the number field using two explicit equations etc. Many thanks for any suggestions ... -- 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.