2008/9/24 mabshoff <[EMAIL PROTECTED]>: > > > > On Sep 24, 4:15 am, Raouf <[EMAIL PROTECTED]> wrote: >> Hi, >> I want to have a numerical value of a Dirichlet character : >> >> I have this line code in my notebook: >> >> sage: >> G = DirichletGroup(21) >> chi = G.1; >> chi(23) >> >> evaluate: >> zeta6 - 1 >> >> And when i want to use this value: zeta6 - 1 i have the error message: >> >> G = DirichletGroup(21) >> chi = G.1; >> chi(23) >> B=13*chi(23) >> print float(B) >> >> error message: >> >> Traceback (most recent call last): >> File "<stdin>", line 1, in <module> >> File "/home/server2/nb1/sage_notebook/worksheets/fstthese/0/code/ >> 6.py", line 10, in <module> >> print float(B) >> File "/home/server2/sage/local/lib/python2.5/site-packages/ >> SQLAlchemy-0.4.6-py2.5.egg/", line 1, in <module> >> >> TypeError: float() argument must be a string or a number. > > Looks like a bug to me. The usual trick (at least in my book of using > n() does also not work): > > [EMAIL PROTECTED]:/scratch/mabshoff/release-cycle/sage-3.1.3.alpha1$ ./ > sage > ---------------------------------------------------------------------- > | SAGE Version 3.1.3.alpha1, Release Date: 2008-09-24 | > | Type notebook() for the GUI, and license() for information. | > ---------------------------------------------------------------------- > > sage: G = DirichletGroup(21) > sage: chi = G.1; > sage: chi(23) > zeta6 - 1 > sage: B=13*chi(23) > sage: print float(B) > --------------------------------------------------------------------------- > TypeError Traceback (most recent call > last) > > /scratch/mabshoff/release-cycle/sage-3.1.3.alpha1/<ipython console> in > <module>() > > TypeError: float() argument must be a string or a number > sage: type(B) > <type > 'sage.rings.number_field.number_field_element_quadratic.NumberFieldElement_quadratic'> > sage: n(B) > --------------------------------------------------------------------------- > TypeError Traceback (most recent call > last) > > /scratch/mabshoff/release-cycle/sage-3.1.3.alpha1/<ipython console> in > <module>() > > /scratch/mabshoff/release-cycle/sage-3.1.3.alpha1/local/lib/python/ > site-packages/sage/misc/functional.py in numerical_approx(x, prec, > digits) > 716 return > sage.rings.real_mpfr.RealField_constructor(prec)(x) > 717 except TypeError: > --> 718 return sage.rings.complex_field.ComplexField(prec) > (x) > 719 > 720 n = numerical_approx > > /scratch/mabshoff/release-cycle/sage-3.1.3.alpha1/local/lib/python2.5/ > site-packages/sage/rings/complex_field.py in __call__(self, x, im) > 212 except AttributeError: > 213 pass > --> 214 return complex_number.ComplexNumber(self, x, im) > 215 > 216 def _coerce_impl(self, x): > > /scratch/mabshoff/release-cycle/sage-3.1.3.alpha1/complex_number.pyx > in sage.rings.complex_number.ComplexNumber.__init__ (sage/rings/ > complex_number.c:2519)() > > TypeError: unable to coerce to a ComplexNumber > sage: > > > Can someone more knowledgeable in the area open a ticket?
I'm not sure quite what the ticket would propose. We could have a method n() for number field elements which maps the element into CC using the first available complex embedding and a precision given by a prec parameter. But I think number theorists are more likely to want to have control over their embeddings, as in my sample solution. John > > Cheers, > > Michael > > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---