Over a number of years, I have put together some decent code for enumerating Weil polynomials of a given shape. Originally, I needed this to test whether some of my p-adic point-counting algorithms could be used with less p-adic precision than one would have predicted. More recently, the same code was used as a step in generating the tables of abelian varieties over finite fields which have just gone live in the LMFDB.
Currently, this code sits in a Github repo: https://github.com/kedlaya/root-unitary. Over the past couple of weeks, I've done some work on revamping the interface, notably in order to provide Python iterators. That allows list comprehensions of the form [pol for pol in WeilPolynomials(q, d) if pol.is_irreducible()] At this point, I'd appreciate feedback about how, if at all, this code should be incorporated into Sage. The code is mostly in C (using FLINT for multiprecision integer polynomials) with a small Cython wrapper providing direct access from Sage. I also have various test scripts which, for one, test the output against Kronecker's theorem that the algebraic integers whose conjugates all lie on the unit circle are precisely the roots of unity. For future developments, keep an eye on trac #23946. -- You received this message because you are subscribed to the Google Groups "sage-nt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send an email to [email protected]. Visit this group at https://groups.google.com/group/sage-nt. For more options, visit https://groups.google.com/d/optout.
