#8335: Finite Field lattices
-------------------------------+--------------------------------------------
Reporter: roed | Owner: AlexGhitza
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.8
Component: algebra | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers:
Authors: David Roe | Merged in:
Dependencies: #13894 | Stopgaps:
-------------------------------+--------------------------------------------
Changes (by jpflori):
* status: needs_info => needs_review
* work_issues: coercion madness =>
Old description:
> Implements coercion within lattices of finite fields lying above the same
> prime.
>
> {{{
> sage: k = GF(9)
> sage: l = GF(27)
> sage: x = k.gen() + l.gen(); x
> z6^5 + 2*z6^4 + 2*z6^3 + z6^2 + 2*z6 + 1
> sage: x.parent()
> Finite Field in z6 of size 3^6
> }}}
>
> This feature is implemented for fields outside the range of the Conway
> polynomial database by the implementation of a function for finding
> pseudo-Conway polynomials: polynomials that satisfy all of the algebraic
> constraints on Conway polynomials without the lexicographic constraint
> that imposes uniqueness.
>
> Finite fields no longer require an explicit variable name (though they
> still accept one). If a variable name is given, then outside the range
> of the Conway polynomial database a random or sparse polynomial is used
> for speed reasons; if no variable name is given then either a Conway
> polynomial or pseudo-Conway polynomial is used.
>
> Also adds methods `any_root` and `squarefree_decomposition` to
> polynomials over finite fields.
>
> Depends on #8218, #8332, #7880, #7883, #8333, #8334.
>
> __APPLY__
>
> *[attachment:trac_8335-pseudo_conway-5.7.b4.patch]
>
> *[attachment:trac_8335-finite_field_coerce-5.7.b4.patch]
>
> *[attachment:trac_8335-doc-5.7.b4.patch]
New description:
Implements coercion within lattices of finite fields lying above the same
prime.
{{{
sage: k = GF(9)
sage: l = GF(27)
sage: x = k.gen() + l.gen(); x
z6^5 + 2*z6^4 + 2*z6^3 + z6^2 + 2*z6 + 1
sage: x.parent()
Finite Field in z6 of size 3^6
}}}
This feature is implemented for fields outside the range of the Conway
polynomial database by the implementation of a function for finding
pseudo-Conway polynomials: polynomials that satisfy all of the algebraic
constraints on Conway polynomials without the lexicographic constraint
that imposes uniqueness.
Finite fields no longer require an explicit variable name (though they
still accept one). If a variable name is given, then outside the range of
the Conway polynomial database a random or sparse polynomial is used for
speed reasons; if no variable name is given then either a Conway
polynomial or pseudo-Conway polynomial is used.
Also adds methods `any_root` and `squarefree_decomposition` to polynomials
over finite fields.
Depends on #8218, #8332, #7880, #7883, #8333, #8334.
__APPLY__
*[attachment:trac_8335-pseudo_conway-5.8.b0.patch]
*[attachment:trac_8335-finite_field_coerce-5.8.b0.patch]
*[attachment:trac_8335-fixes-5.8.b0.patch]
--
Comment:
The patches should be quite ok now.
This needs 5.8.beta0, or at least > 5.7.beta4.
I've made quite a bit of changes to all the coercion stuff, so that
definitely needs review.
With a minimal set of changes to sources files you can now create
algebraic extensions of the Integers(1) and let it be considered as a
quotient of a univariate poly ring, etc. and everything that came up when
I was trying to rebase the patches.
In particular, now the modulus var of an AlgebraicExtensionFunctor is
always a polynomial, but I've added an additional optional field named
conway to encode the fact we're dealing with pseudo-conway extensions of
ff.
Please test, rant, whatever!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8335#comment:33>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.