Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Computing isomorphisms and embeddings of finite fields

a research project in Computer Algebra

by Ludovic Brieulle, Luca De Feo, Javad Doliskani, Jean-Pierre Flori and Éric Schost.


Let 𝔽q be a finite field. Given two irreducible polynomials f, g over 𝔽q, with deg f dividing deg g, the finite field embedding problem asks to compute an explicit description of a field embedding of 𝔽q[X]/f(X) into 𝔽q[Y]/g(Y). When deg f = deg g, this is also known as the isomorphism problem.

This problem, a special instance of polynomial factorization, plays a central role in computer algebra software. We review previous algorithms, due to Lenstra, Allombert, Rains, and Narayanan, and propose improvements and generalizations. Our detailed complexity analysis shows that our newly proposed variants are at least as efficient as previously known algorithms, and in many cases significantly better.

We also implement most of the presented algorithms, compare them with the state of the art computer algebra software, and make the code available as open source. Our experiments show that our new variants consistently outperform available software.

Research paper

The research paper has been submitted for publication in AMS Mathematics of Computation.

A preprint version is available at

The LaTeX sources to the paper can be found in the paper folder. They are subject to the copying restriction enforced by the editor.

Software launch binder

The implementation folder contains source code for the algorithms implemented by the project. See the folder for instructions on compiling and running the software on your own machine.

The notebooks folder contains Jupyter notebooks showing sample usage of the software and benchmarks. Notebooks can be statically viewed on GitHub, or executed in Binder, thus saving you the time to compile and install the software.

All source code is distributed under the MIT license.

Related material

The misc folder contains material related to the project, such as

  • conference posters,
  • presentation slides,
  • experimental data gathered on the conjecture formulated in the paper.


We do not accept pull requests, but if you see any problem with this repository, plese open an issue.

You can’t perform that action at this time.