The Factorization Algorithm of Berlekamp and Zassenhaus


Title: The Factorization Algorithm of Berlekamp and Zassenhaus
Authors: Jose Divasón, Sebastiaan Joosten, René Thiemann and Akihisa Yamada (akihisa /dot/ yamada /at/ aist /dot/ go /dot/ jp)
Submission date: 2016-10-14

We formalize the Berlekamp-Zassenhaus algorithm for factoring square-free integer polynomials in Isabelle/HOL. We further adapt an existing formalization of Yun’s square-free factorization algorithm to integer polynomials, and thus provide an efficient and certified factorization algorithm for arbitrary univariate polynomials.

The algorithm first performs a factorization in the prime field GF(p) and then performs computations in the integer ring modulo p^k, where both p and k are determined at runtime. Since a natural modeling of these structures via dependent types is not possible in Isabelle/HOL, we formalize the whole algorithm using Isabelle’s recent addition of local type definitions.

Through experiments we verify that our algorithm factors polynomials of degree 100 within seconds.

  author  = {Jose Divasón and Sebastiaan Joosten and René Thiemann and Akihisa Yamada},
  title   = {The Factorization Algorithm of Berlekamp and Zassenhaus},
  journal = {Archive of Formal Proofs},
  month   = oct,
  year    = 2016,
  note    = {\url{},
            Formal proof development},
  ISSN    = {2150-914x},
License: BSD License
Depends on: Efficient-Mergesort, Polynomial_Factorization, Polynomial_Interpolation, Show, Subresultants
Used by: Algebraic_Numbers, LLL_Basis_Reduction, Smith_Normal_Form