### Abstract

Based on existing libraries for polynomial interpolation and matrices,
we formalized several factorization algorithms for polynomials, including
Kronecker's algorithm for integer polynomials,
Yun's square-free factorization algorithm for field polynomials, and
Berlekamp's algorithm for polynomials over finite fields.
By combining the last one with Hensel's lifting,
we derive an efficient factorization algorithm for the integer polynomials,
which is then lifted for rational polynomials by mechanizing Gauss' lemma.
Finally, we assembled a combined factorization algorithm for rational polynomials,
which combines all the mentioned algorithms and additionally uses the explicit formula for roots
of quadratic polynomials and a rational root test.

BSD LicenseAs side products, we developed division algorithms for polynomials over integral domains, as well as primality-testing and prime-factorization algorithms for integers.

### Depends On

- Containers
- Abstract-Rewriting
- Gauss_Jordan Matrix
- Polynomial_Interpolation
- Show
- VectorSpace
- Partial_Function_MR
- Sqrt_Babylonian

### Used by

- Fishers_Inequality
- Amicable_Numbers
- Knuth_Bendix_Order
- Gaussian_Integers
- Power_Sum_Polynomials
- Functional_Ordered_Resolution_Prover
- Dirichlet_Series
- Linear_Recurrences
- Subresultants
- Berlekamp_Zassenhaus
- Perron_Frobenius
- Jordan_Normal_Form

### Topics

### Related Entries

### Theories

- Missing_List
- Missing_Multiset
- Precomputation
- Order_Polynomial
- Explicit_Roots
- Dvd_Int_Poly
- Missing_Polynomial_Factorial
- Gauss_Lemma
- Prime_Factorization
- Rational_Root_Test
- Kronecker_Factorization
- Polynomial_Divisibility
- Fundamental_Theorem_Algebra_Factorized
- Square_Free_Factorization
- Gcd_Rat_Poly
- Rational_Factorization