resultant matrices, in a floating point environment.
4.2 Computation of GCD of polynomials from their inexact forms
This section considers computing the GCD of the polynomials ˆf (x) and ˆg(x) from their inexact forms f (x) and g(x) defined in (4.2), using Euclid’s algorithm, and the B´ezout and Sylvester resultant matrices in a floating point environment.
Euclid0s algorithm
Section 3.1 described Euclid’s algorithm in a symbolic environment. However, when Euclid’s algorithm is implemented in a floating point environment, the vanishing re-mainder termination criterion is never satisfied precisely due to round off error gener-ated in each division. Therefore, more concern should be given to the implementation of Euclid’s algorithm in a floating point environment.
One reasonable termination criterion of Euclid’s algorithm performed in a floating point environment is to test the norm of remainder kør+1k at each division against a prescribed tolerance . If kør+1k is less than the tolerance , the division sequence stops and ør(x) is the GCD of polynomials. However, it is shown in [53] that the remainder norm experiences dramatic and unpredictable changes at each division and
thus its comparison with a specified tolerance is not a reliable indicator for termi-nating Euclid’s algorithm.
An approach based on Euclid’s algorithm to calculate the GCD of two Bernstein polynomials is presented in [53]. Given two Bernstein polynomials ˆf(x) and ˆg(x), the approach firstly normalizes the coefficients of each polynomial by the L2 norm of its coefficients, kP k. The square of the L2 norm of the polynomial coefficients, kP k2, is given by
kP k2 = 1 2n + 1
Xn i=0
Xn j=0
n i
n
j
2n i+j
CinCjn, (4.3)
where n is the degree of polynomial, nk
is the binomial coefficient, and Ckn is the coefficient of polynomial.
Then, the approach in [53], applies the division sequence (3.1) to ˆf (x) and ˆg(x). At each division, instead of comparing the remainder norm with the specified tolerance
, the approach divides ˆf (x) and ˆg(x) by ør(x) respectively f(x) = qˆ 1(x)ør(x) + r1(x),
ˆ
g(x) = q2(x)ør(x) + r2(x).
If both remainder norms, kr1k and kr2k are less than a specified tolerance , the division sequence stops and ør(x) is the GCD of the polynomials. The reason is that the divisor ør(x) at each division is a candidate GCD of ˆf (x) and ˆg(x), and therefore the divisor ør(x) that divides both polynomials with remainders whose norms are sufficiently small is the GCD of polynomials.
Example 4.1. Consider the Bernstein forms of the exact polynomials f(x) = (x − 0.17)ˆ 4(x − 0.56)4(x − 0.72)2,
and
ˆg(x) = (x − 0.17)3(x − 0.35)4(x − 0.91)2, whose GCD is of degree 3.
Because of noise, the coefficients of ˆf (x) and ˆg(x) are not specified exactly. Therefore, adding noise with componentwise signal-to-noise ratio ε−1c = 108 to the coefficients of ˆf (x) and ˆg(x), we obtain their inexact forms f (x) and g(x). Applying Euclid’s algorithm described above with tolerance = 10−8 to f (x) and g(x) yields the result shown in Table 4.1. It is seen from Table 4.1 that the algorithm stops at stage 10, and yields the GCD of degree 0, which implies that f (x) and g(x) are coprime.
Table 4.1: Remainder norms on dividing f (x) and g(x) by ør(x) in Example 4.1.
Stage Divisor Degree kr1k kr2k
1 9 0.8442 3.7396 × 10−15
2 8 0.2512 1.9233
3 7 4.1573 × 103 2.0070 × 103
4 6 0.1906 0.1880
5 5 0.0117 1.2119
6 4 0.0043 0.0246
7 3 3.1435 × 10−4 0.0011
8 2 0.0027 8.4693 × 10−5
9 1 1.6985 × 10−5 6.1524 × 10−5
10 0 0 0
This example shows that when the coefficients of ˆf (x) and ˆg(x) are perturbed by noise, Euclid’s algorithm fails to compute the GCD of ˆf (x) and ˆg(x) from their inexact forms f (x) and g(x) because minor noise makes f (x) and g(x) coprime. In addition, even if Euclid’s algorithm is applied to polynomials in the absence of noise,
the result obtained is dependent on the selection of the tolerance because of roundoff error.
Next, we consider the computation of the GCD of polynomials in the presence of noise, using the B´ezout and Sylvester resultant matrices. As stated earlier, given two polynomials, the rank loss of their resultant matrices is equal to the degree of their GCD. However, for the GCD computation using the resultant matrices performed in a floating point environment, in most cases, a row of a matrix will never vanish identically, because of roundoff error, and thus we adopt a method that observes the variation of normalized singular values of the resultant matrices in order to determine the degree of the GCD [11, 15, 26]. In particular, given a matrix A ∈ Rm×n, where m > n, applying singular value decomposition to the matrix A obtains
A = USV,
where U ∈ Rm×m is an orthogonal matrix, V ∈ Rn×n is an orthogonal matrix, and S ∈ Rm×n has the form
σ1 0 . . . 0 0 σ2 . . . 0
. . . . 0 0 . . . σn
0 0 . . . 0 . . . . 0 0 . . . 0
.
The singular values of the matrix A are σi, i = 1, . . . , n, which are non-negative elements in descending order:
σ1 ≥ σ2 ≥ . . . ≥ σn ≥ 0.
Since the orthogonal matrices U and V are non-singular, rank A = rank S. Therefore, if rank A = r < n, then
σ1 ≥ σ2 ≥ . . . ≥ σr > σr+1 = σr+2 = . . . = σn = 0.
Thus, the rank of the matrix A can be determined by counting the number of its non-zero singular values. However, when we apply singular value decomposition to the matrix A in a floating point environment, all of the singular values of the matrix A are not equal to zero due to roundoff error. But σr+1, σr+2, . . . , σn are very small and approximately equal to zero, that is
σ1 ≥ σ2 ≥ . . . ≥ σr > σr+1 ≈ σr+2 ≈ . . . ≈ σn≈ 0.
Because σr > 0 and σr+1 ≈ 0, there exists a significantly large change between these two successive singular values. Therefore, the rank of the matrix A is equal to the value of i for which the significantly large change between two successive singular values σi and σi+1 occurs.
B´ezout resultant matrix
Example 4.2. Consider the Bernstein forms of the exact polynomials f(x) = (x − 0.36)ˆ 4(x − 0.79)3(x − 1.46)3,
and
ˆg(x) = (x − 0.36)2(x − 0.95)4(x − 1.46)5, whose GCD is of degree 5.
Noise with componentwise signal-to-noise ratio 108is added to the coefficients of ˆf (x) and ˆg(x) to obtain their inexact forms f (x) and g(x), and then the B´ezout matrix B(f, g) is computed.
Figure 4.1 shows the normalized singular values of B(f, g), and it is seen that B(f, g)
is of full rank, which implies that f (x) and g(x) are coprime.
2 3 4 5 6 7 8 9 10 11
−40
−35
−30
−25
−20
−15
−10
−5 0
i
log 10σ i / σ 1
i=6
Figure 4.1: The normalized singular values of B(f, g) for Example 4.2.
Sylvester resultant matrix
Example 4.3. Consider the Bernstein forms of the exact polynomials f (x) = (x − 0.43)ˆ 4(x + 0.93)6(x + 1.47)5(x − 1.39)4, and
ˆg(x) = (x − 0.43)5(x − 0.93)4(x + 1.47)3(x − 1.89)4, whose GCD is of degree 7.
Noise with componentwise signal-to-noise ratio 108 is applied to the coefficients of f (x) and ˆˆ g(x) to obtain their inexact forms f (x) and g(x), and then two forms of the Sylvester matrix S(f, g) and S(f, g)Q are computed.
Figures 4.2(a) and (b) show the normalized singular values of S(f, g) and S(f, g)Q
respectively, and it is seen that both S(f, g) and S(f, g)Q are of full rank, which
implies that f (x) and g(x) are coprime.
5 10 15 20 25 30 35
−18
−16
−14
−12
−10
−8
−6
−4
−2 0
i log10σi / σ1
i=28
(a)
5 10 15 20 25 30 35
−16
−14
−12
−10
−8
−6
−4
−2 0
i log10σi / σ1
i=28
(b)
Figure 4.2: The normalized singular values of (a) S(f, g) and (b) S(f, g)Q for Example 4.3.
These two examples associated with the B´ezout and Sylvester resultant matrices show that when noise is present such that polynomials can not be specified exactly, the B´ezout and Sylvester resultant matrices fail to calculate the GCD of polynomials from their inexact forms because minor random noise makes their inexact forms coprime.
It is seen from the above examples that if the exact Bernstein polynomials have a non-constant GCD, their inexact forms are coprime with high probability, which makes the computation of the GCD of Bernstein polynomials an ill-posed problem. In this circumstance, the inexact Bernstein polynomials f (x) and g(x) have an approximate greatest common divisor (AGCD) because they are near their theoretically exact forms, ˆf (x) and ˆg(x) respectively, which are not coprime. Therefore, the GCD of exact Bernstein polynomials is an approximate common divisor of their inexact polynomials. The AGCD is considered in the next section.