#19929: GF(16) (without explicit variable name)
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  ncohen                 |       Status:  needs_review
           Type:         |    Milestone:  sage-7.1
  enhancement            |   Resolution:
       Priority:  major  |    Merged in:
      Component:         |    Reviewers:
  number fields          |  Work issues:
       Keywords:         |       Commit:
        Authors:         |  f96f09f848e3b9877aa50c4d4c26557e2181a9fd
  Nathann Cohen          |     Stopgaps:
Report Upstream:  N/A    |
         Branch:         |
  public/19929           |
   Dependencies:         |
-------------------------+-------------------------------------------------

Comment (by roed):

 Replying to [comment:7 was]:
 > Some points:
 >
 > - Background: `conway=True` would be absurd, because computing the
 conway polynomial representation of a finite field is *incredibly* hard in
 general.

 Yes, that's why we use pseudo-Conway polynomials, which drop the condition
 of lexicographically least.  They're still nontrivial to compute,
 especially when the exponent has lots of divisors.  But, as Dima mentions,
 at least we have lookup tables for small values.

 > - Using 'a' (or 'x') everywhere as the default is not so good; I did
 exactly that with number fields back in 2004-2006 and it caused confusion
 and people hated it.  You easily end up with several different things that
 all print the same way (magma has this problem now, where everything
 prints as $.1; but in Magma, you can change the name after creation, as
 they have no coercion model or reason for not allowing changing the
 names).   I would recommend using something like `"a%s"%(p^n)` or
 `"a_%s_%s"%(p,n)` or `"a%s_%s"%(p,n)`, which is an easy to understand
 function of `p^n`.   I think what Fpbar basically use "z%s"%n, where you
 specify z explicitly.

 I don't have a strong preference between `"z%s"%n` and `"a%s_%s"%(p,n)`,
 but I agree that `'a'` and `'x'` are not right as defaults.

 > - I am **strongly** against #17569 without some new idea.   In the first
 benchmark I tried, arithmetic in Fpbar was **10 times** slower than in GF
 (that was going to be the punchline of the sage worksheet I linked to).
 Do you  really want `GF(3^2, 'a')` to be 30 times faster than `GF(3^2)`?
 I didn't think so.  Even in David Roe's less unfavorable example, there
 was a factor of 2-3 difference.

 Was the difference in field creation time or in arithmetic time?  Because
 the resulting fields of these two processes should be essentially the same
 (with different defining polynomial perhaps).

 Another possibility would be to only allow `GF(p^n)` when we have an
 actual Conway polynomial at hand.  This is a bit annoying though: someone
 may write code that works for small field sizes and then breaks when the
 field size increases.  Print a warning??

--
Ticket URL: <http://trac.sagemath.org/ticket/19929#comment:9>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to