#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:  #13765                             |      Stopgaps:           
   
-----------------------------------------------------+----------------------

Comment (by stumpc5):

 Thanks for your comments!

 Replying to [comment:150 nbruin]:
 > (but really, unless you can argue the argument set here is going to be
 very limited, I don't think you can afford to build this cache)

 I removed this cache (and also some of the others)

 Replying to [comment:151 robertwb]:
 > Lots of good code here!

 some positive words are always appreciated, thanks!

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

 done

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

 done

 > * 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.

 What I now do is to take embeddings of CyclotomicFields into account, but
 do not coerce if the UCF doesn't have the standard embedding. Please
 recheck that it does what it properly...

 > * Shouldn't _coerce_map_from_ accept QQ?

 This is captured in {{{_from_base_ring}}}.

 > * Does "endowed with the Zumbroich basis" need to be part of the printed
 name?

 removed.

 > Also, what about a nice _latex_ representation?

 still open.

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

 done.

 > * Any reason not to inherit from Field?

 I now do inherit from Field and from FieldElement. This way, I got rid of
 several almost empty methods. If Nicolas prefers to have it again the
 other way round, we can as well undo that.

 > * 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).

 done.

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

 done.

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

 still open.

 > * is ZumbroichBasisIndices really a Parent?

 I am not the specialist here, so feel free to modify this. Now, ZBI is a
 parent, and the tuples {{{(n,k)}}} are indeed elements thereof.

 > * 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.)

 done.

 Best, Christian

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