Euclid - Mora, Teo (Solving Polynomial Equation Systems I, 2003)
This preliminary chapter is just devoted to recalling the Euclidean Algorithms over a univariate polynomial ring and its elementary applications: roughly speaking they are essentially the obvious generalization of those over integers.The fundamental tool related to the Euclidean Algorithms and to solving univariate polynomials is nothing more than the elementary Division Algorithm (Section 1.1), whose iterative application produces the Euclidean Algorithm (Section 1.2), which can be extended to prove and compute Bezout's Identity (Section 1.3).The Division- and Euclidean Algorithms and theorems have many important consequences for solving polynomial equations: they relate roots and linear factors of a polynomial (Section 1.4) allowing them, at least, to be counted, and are the basis for the theory (not the practice) of polynomial factorization (Section 1.5).They also have another, more important, consequence which is a crucial tool in solving: they allow a computational system to be developed within quotients of polynomial rings; the discussion of this is postponed to Section 5.1.A direct implementation of the Euclidean Algorithm provides an unexpected phenomenon, the ‘coefficient explosion’: during the application of the Euclidean Algorithm to two polynomials whose coefficients have small size, polynomials are produced with huge coefficients, even if the final output is simply 1. Finding efficient implementations of the Euclidean Algorithm was a crucial subject of research in the early days of Computer Algebra; in Section 1.6 I will briefly discuss this phenomenon and present efficient solutions to this problem.