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

Comment (by robertwb):

 Lots of good code here!

 Some comments:

 * Why is get_parent_of_embedding in the pyx file when it's only used in
 the py file?

 * No need to lazily import universal_cyclotomic_field_c, it's already
 behind another lazy import.

 * CyclotomicField._coerce_map_from_ # TODO: use the embedding of other
 properly: you could use the method introduced in #13765, but if you don't
 want to do that then at least check it has the "standard" embedding
 sending the generator to the primitive root of unity CC or return None
 rather than silently producing wrong answers.

 * Shouldn't _coerce_map_from_ accept QQ?

 * Does "endowed with the Zumbroich basis" need to be part of the printed
 name? Also, what about a nice _latex_ representation?

 * Using {{{<>}}} for != is deprecated, and I think goes away in python 3.

 * Any reason not to inherit from Field?

 * The {{{if bracket == ...}}} list might be better done with a dictionary
 mapping left to right, with a good exception on KeyError. Even better,
 IMHO, is to accept any even-character string (so one would pass "" or "[]"
 or "<<>>" or whatever one wanted).

 * {{{_gap_init = _repr_}}}  Not now that we've allowed different printing
 options.

 * {{{__hash__}}} will fail on a 32-bit machine. Instead, test making a
 dict with UCF items then retrieving one.

 * is ZumbroichBasisIndices really a Parent?

 * I agree with nbruin, there's a lot of caching going on that never gets
 freed. I would suggest having capped size caches, if you determine that
 you really need them. (Also, for CyclotomicFieldCached, better to fix this
 to make CyclotomicField faster, possibly using a weakref cache or one of
 the unique parent factories.)

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8327#comment:151>
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