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.

Reply via email to