#8327: Implement the universal cyclotomic field, using Zumbroich basis
-----------------------------------------------------+----------------------
       Reporter:  nthiery                            |         Owner:           
 
           Type:  enhancement                        |        Status:  
needs_work
       Priority:  major                              |     Milestone:  sage-5.0 
 
      Component:  number fields                      |    Resolution:           
 
       Keywords:  Cyclotomic field, Zumbroich basis  |   Work issues:           
 
Report Upstream:  N/A                                |     Reviewers:           
 
        Authors:  Christian Stump, Simon King        |     Merged in:           
 
   Dependencies:  #4539 #10771 #7980                 |      Stopgaps:           
 
-----------------------------------------------------+----------------------

Comment (by davidloeffler):

 Replying to [comment:94 stumpc5]:
 >
 > I didn't implement the `__call__` method - what is the behaviour you
 would expect here?

 Oh, I don't know, maybe the same behaviour as every other parent object in
 the Sage library? The default {{{ __call__ }}} calls {{{
 _element_constructor_ }}}, which you should override, in order to create
 an element of self from the given arguments. This includes checking
 whether the given arguments are reasonable, and raising a !TypeError
 otherwise.

 You should also set the attribute wrapped_class for your element class to
 something other than the default (which is "object"), so the {{{
 __init__}}} it inherits from !ElementWrapper knows what it's supposed to
 be wrapping and doesn't wrap obviously bogus objects as in the examples
 above.

 >
 > how can I get a coerce from `CyclotomicField(n)` for all `n`?
 >

 I don't quite understand the question, but if you're going to implement a
 class and call it "universal cyclotomic field", surely it had better
 satisfy a universal property with respect to cyclotomic fields? If your
 question is "how do I recognise a cyclotomic field", you might find {{{
 isinstance(K, sage.rings.number_field.number_field.NumberField_cyclotomic)
 }}} or perhaps {{{
 sage.rings.number_field.number_field.is_CyclotomicField(K) }}} helpful.
 You should also check {{{ K.coerce_embedding}}}, since it's possible to
 create cyclotomic fields with complex embeddings other than the standard
 one.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8327#comment:95>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to