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