#8335: Finite Field lattices
------------------------------------------------+---------------------------
       Reporter:  roed                          |         Owner:  AlexGhitza    
                
           Type:  enhancement                   |        Status:  needs_info    
                
       Priority:  major                         |     Milestone:  sage-5.11     
                
      Component:  algebra                       |    Resolution:                
                
       Keywords:  days49                        |   Work issues:                
                
Report Upstream:  N/A                           |     Reviewers:  Jean-Pierre 
Flori, Luca De Feo
        Authors:  David Roe, Jean-Pierre Flori  |     Merged in:                
                
   Dependencies:  #13894                        |      Stopgaps:                
                
------------------------------------------------+---------------------------
Changes (by defeo):

  * keywords:  => days49
  * reviewer:  Jean-Pierre Flori => Jean-Pierre Flori, Luca De Feo
  * status:  needs_review => needs_info


Comment:

 Hi,

 The doc in `constructor.py` says

 {{{
  - ``modulus`` - blabla
    - 'default': a Conway polynomial is used if in the database. Otherwise
      a sparse polynomial is used for binary fields and a
      random polynomial is used for other characteristics.
 }}}

 but I got the impression that the default is to use pseudo-conway. By the
 way, is it reasonable to use pseudo-conway as default ? It is utterly
 slow !

 {{{
 sage: %time k = GF(next_prime(100000)^2)
 CPU times: user 16.41 s, sys: 0.05 s, total: 16.45 s
 Wall time: 16.18 s
 sage: %time l = GF(next_prime(100000)^3)
 CPU times: user 60.19 s, sys: 0.07 s, total: 60.26 s
 Wall time: 59.97 s
 sage: %time (k.gen() + l.gen()).parent()
 CPU times: user 0.08 s, sys: 0.00 s, total: 0.09 s
 Wall time: 0.07 s
 Finite Field in z6 of size 100003^6
 }}}

 Compare this with Magma

 {{{
 > time k := GF(NextPrime(100000)^2);
 Time: 0.000
 > time l := GF(NextPrime(100000)^3);
 Time: 0.000

 > time CommonOverfield(l, k);
 Time: 0.030
 }}}

 Wouldn't it be better to keep using ``random`` as default, and give error
 messages suggesting to use ``conway`` when the user tries to
 add/multiply/whatever two elements in different fields?


 On another note, I get the following messages (I suppressed them from the
 output above for readability).

 {{{
 sage: k = GF(next_prime(10000)^11)
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
   ***   Warning: Mod(a,b)^n with n >> b : wasteful.
 }}}

 Any ideas on these?

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8335#comment:49>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to