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