Many GCD finding methods make use of the singular value decomposition (SVD) of the Sylvester matrix or its sequence of subresultant matrices [15,21], while others consider the QR decomposition [16, 77] and methods which use the structure of the Sylvester matrix in the computation of the AGCD [5,6,44,79]. The Sylvester matrix and subresultant matrices are briefly defined for two polynomials in the power basis, and this is later extended to two polynomials in Bernstein form.
The Sylvester matrix, S( ˆf (x), ˆg(x)) ∈ Rm+n+2×m+n, of two polynomials ˆf (x) and ˆg(x) of degrees m and n respectively, contains entries which are coefficients of the two polyno- mials. The partitioned structure consists of two Toeplitz matrices Tn( ˆf (x)) ∈ R(m+n)×n
and Tm(ˆg(x)) ∈ R(m+n)×m, and is given by
S ˆf (x), ˆg(x) = h Tn ˆf (x) Tm ˆ g(x) i = ˆ a0 ˆb0 .. . . .. ... . .. ˆ am ˆa0 ˆbn ˆb0 . .. ... . .. ... ˆ am ˆbn
The determinant of the Sylvester matrix is zero if the polynomials ˆf (x) and ˆg(x) have a common root.
The sequence of subresultant matrices {Sk( ˆf (x), ˆg(x)) | k = 1, . . . , min(m, n)} are
obtained by the removal of a subset of rows and columns from the Sylvester matrix,
S( ˆf (x), ˆg(x)) = S1( ˆf (x), ˆg(x)). Each subresultant matrix Sk( ˆf (x), ˆg(x)) ∈ R(m+n−k+1)×(m+n−2k+2)
is given by removing the last (k − 1) rows and the (k − 1) rightmost columns from each of the two partitions Tn( ˆf (x)) and Tm(ˆg(x)) of S1( ˆf (x), ˆg(x)). The kth subresultant matrix
is therefore given by Sk ˆf (x), ˆg(x) = h Tn−k ˆf (x) Tm−k ˆ g(x) i for k = 1, . . . , min(m, n),
where Tn−k( ˆf (x)) ∈ R(m+n−k+1)×(n−k+1) and Tm−k(ˆg(x)) ∈ R(m+n−k+1)×(m−k+1) are
Toeplitz matrices. Two polynomials have a common divisor of degree k if the kth sub- resultant matrix has a zero determinant, therefore the sequence of subresultant matrices can be used to determine the degree of the GCD.
Singular Value Decomposition of the Sylvester Matrix
Many methods have been devised which make use of the SVD of the Sylvester matrix S( ˆf (x), ˆg(x)). The SVD is useful in the determination of the numerical rank of a matrix. In this thesis a matrix is described as being numerically rank deficient if it is sufficiently close to a matrix which is exactly rank deficient, and this is typically indicated by a large separation between two distinct subsets of singular values obtained by the SVD. This is a purely heuristic definition.
The discussion found in [36] is sufficient to describe the appeal of the SVD, where it is stated that “rounding errors and fuzzy data make rank determination a non-trivial exercise”. Definitions of the SVD are frequently found throughout the literature. Here it is defined in the context of the Sylvester matrix.
Let ˆf (x) and ˆg(x) be polynomials of degree m and n with a common divisor of degree t, then the Sylvester matrix S( ˆf (x), ˆg(x)) ∈ R(m+n)×(m+n) has the SVD S = U ΣVT, where columns of U given by u1, . . . , um+n are the left singular vectors, columns of V
given by v1, . . . , vm+n are the right singular vectors, and the diagonal matrix Σ contains
the ordered singular values of S( ˆf (x), ˆg(x))
σ1 ≥ σ2≥ · · · ≥ σm+n−t−1≥ σm+n−t = σm+n−t+1= · · · = σm+n= 0.
However, in a floating-point environment, matrices can rarely be defined in terms of their rank since it is highly unlikely that they have singular values which are exactly equal to zero. Instead, it is necessary to consider the numerical rank.
Again, the numerical rank is defined in terms of the Sylvester matrix. The Sylvester matrix is said to have numerical rank (m + n − t) if
σ1 ≥ · · · ≥ σm+n−t−1≥ µ S( ˆf (x), ˆg(x)) 2 ≥ σm+n−t≥ σm+n−t+1≥ · · · ≥ σm+n,
where µ is the machine precision. However, this assumes the matrix S( ˆf (x), ˆg(x)) is exactly defined. Suppose the Sylvester matrix S(f (x), g(x)) of inexact polynomials is instead considered, then the -rank is considered. However, this is dependent on knowledge of the size of the errors in the entries of S(f (x), g(x)).
The Sylvester matrix of exact polynomials ˆf (x) and ˆg(x) in row echelon form reveals the GCD to within a constant factor [42]. This theorem is used by Corless et al. [15], where the SVD of a Sylvester matrix is used to compute the degree of the AGCD of two polynomials. Although it is numerically stable, the SVD is computationally inefficient. Their method computes the GCD of ˆf (x) and ˆg(x) of degree m and n by determining the singular values of the Sylvester matrix S( ˆf (x), ˆg(x)), and the numerical rank is used to determine the degree of the AGCD.
This differs from the work in this thesis, wherein the singular values of the Sylvester matrix and a set of subresultant matrices {Sk( ˆf (x), ˆg(x))} are considered in the deter-
mination of the degree of the GCD. The process of computing a sequence of matrices is more costly, but often provides better results than the method described above. Several examples will show that there is often no separation between the numerically zero and non-zero singular values of S1( ˆf (x), ˆg(x)), particularly in the presence of noise.
Elias and Zitko [20] similarly determine the degree of the AGCD by computing the set of minimum singular values { ˙σi | i = 1, . . . , min(m, n)} and the corresponding singular
vectors {vi | i = 1, . . . , min(m, n)} for every subresultant matrix in the set { Sk( ˆf (x), ˆg(x)) |
k = 1, . . . , min(m, n) }. The degree t of the AGCD is given by the index of the largest entry in the set of { ˙σi | i = 1, . . . , min(m, n) } such that σi ≤ θ for some predefined threshold
value θ. The cofactor polynomials u(x) = f (x)d(x) and v(x) = g(x)d(x) are then extracted from the vector vt.
This method is dependent on the determination of some threshold value θ, but the work described in this thesis removes the necessity for threshold determination. Instead, this thesis considers the point of maximal change in a set of values { ρk | k = 1, . . . , min(m, n) }
to be indicative of the GCD degree, where ρk is a measure of rank of the matrix and may
be obtained by SVD or QR decomposition.
Rank Revealing QR Decomposition
The rank of a matrix can also be determined by a rank revealing QR decomposition. Each subresultant matrix Sk+1( ˆf (x), ˆg(x)) in the sequence of subresultant matrices (where ˆf (x)
and ˆg(x) are in the power basis) can be constructed by row and column removals from the previous matrix Sk( ˆf (x), ˆg(x)).
The matrix Q is orthogonal so the rank of the subresultant matrix Sk is equal to the
rank of matrix R. Since R is upper triangular, its diagonal entries can be used in place of the set of singular values to determine the numerical rank of Sk. Good numerical results
were shown in [9].
The QR decomposition, unlike the SVD, can be updated when rows and columns are removed, with a quadratic rather than cubic cost. However, this thesis deals with polynomials in the Bernstein form where the construction of the subresultant matrix sequence requires row and column multiplication as well as row and column removal. The QR update function can therefore no longer be applied.
A method of determining the coefficients of a GCD by QR decomposition of a matrix denoted S∗4 (a modified form of the Sylvester matrix) is given in [77]. A similar method is used by Corless et al. in their QRGCD method implemented in the SNAP package of Maple [16].