Algorithm Search⌘K

Proofs: Lazard-Rioboo-Trager algorithm

These are the human proofs of Lazard-Rioboo-Trager algorithm, at full length.

The subresultants give the Rothstein-Trager logarithms full

This proof shows: correctness, termination.

Let KK be a field of characteristic 00 with algebraic closure K‾\overline{K}, and A,D∈K[x]A, D \in K[x] with DD square-free, n=deg⁡D≥1n = \deg D \ge 1, deg⁡A<n\deg A < n and A≠0A \ne 0. Let β1,…,βn∈K‾\beta_1, \ldots, \beta_n \in \overline{K} be the roots of DD, which are distinct, so D′(βk)≠0D'(\beta_k) \ne 0. Write Bt=A−tD′B_t = A - t D', a polynomial in xx of formal degree n−1n - 1 with coefficients in K[t]K[t], and rk=A(βk)/D′(βk)r_k = A(\beta_k) / D'(\beta_k).

Fact 1 (residues). AD=∑k=1nrkx−βk\dfrac{A}{D} = \displaystyle\sum_{k=1}^{n} \frac{r_k}{x - \beta_k}.

Proof. This is the partial fraction decomposition over K‾\overline{K} with simple poles. The coefficient of 1/(x−βk)1/(x - \beta_k) is the limit of (x−βk)A/D(x - \beta_k) A / D at βk\beta_k, which is A(βk)/D′(βk)A(\beta_k) / D'(\beta_k) because D′(βk)=lim⁡(D(x)−D(βk))/(x−βk)D'(\beta_k) = \lim (D(x) - D(\beta_k))/(x - \beta_k). □\square

Fact 2 (the resultant). R(t)=res⁡x(D,Bt)=c∏k=1n(t−rk)R(t) = \operatorname{res}_x(D, B_t) = c \prod_{k=1}^{n} (t - r_k) with c∈K×c \in K^\times.

Proof. For DD of degree nn and BB of formal degree n−1n - 1, res⁡(D,B)=lc⁡(D)n−1∏kB(βk)\operatorname{res}(D, B) = \operatorname{lc}(D)^{n-1} \prod_k B(\beta_k). This is an identity of polynomials in the coefficients of BB, so it holds for BtB_t over K[t]K[t]. Here Bt(βk)=A(βk)−tD′(βk)=−D′(βk)(t−rk)B_t(\beta_k) = A(\beta_k) - t D'(\beta_k) = -D'(\beta_k)(t - r_k), so c=lc⁡(D)n−1∏k(−D′(βk))c = \operatorname{lc}(D)^{n-1} \prod_k (-D'(\beta_k)), which is nonzero, and c∈Kc \in K because R∈K[t]R \in K[t] has leading coefficient cc. □\square

For a root α\alpha of RR let m(α)=#{k:rk=α}m(\alpha) = \#\{ k : r_k = \alpha \}, its multiplicity by Fact 2, and Gα=∏k:rk=α(x−βk)G_\alpha = \prod_{k : r_k = \alpha} (x - \beta_k).

Fact 3. GαG_\alpha is the monic gcd⁡(D,Bα)\gcd(D, B_\alpha), of degree m(α)m(\alpha).

Proof. DD is square-free, so its gcd with any polynomial is the product of x−βkx - \beta_k over the common roots βk\beta_k. And Bα(βk)=0B_\alpha(\beta_k) = 0 exactly when A(βk)=αD′(βk)A(\beta_k) = \alpha D'(\beta_k), that is rk=αr_k = \alpha. □\square

Fact 4 (Rothstein-Trager). ddx∑R(α)=0αlog⁡Gα=AD\dfrac{d}{dx} \displaystyle\sum_{R(\alpha) = 0} \alpha \log G_\alpha = \frac{A}{D}.

Proof. ddxlog⁡Gα=Gα′/Gα=∑k:rk=α1/(x−βk)\frac{d}{dx} \log G_\alpha = G_\alpha' / G_\alpha = \sum_{k : r_k = \alpha} 1/(x - \beta_k). Each kk belongs to exactly one α\alpha, namely rkr_k, so the sum is ∑krk/(x−βk)=A/D\sum_k r_k / (x - \beta_k) = A/D by Fact 1. □\square

Fact 5 (gcd property of subresultants). Let P,Q∈K‾[x]P, Q \in \overline{K}[x], deg⁡P=p\deg P = p, QQ of formal degree q<pq < p, and let Sj(P,Q)S_j(P, Q) be the subresultants defined by determinants for these formal degrees, with Sq=QS_q = Q. If g=gcd⁡(P,Q)g = \gcd(P, Q) has degree e≤qe \le q, then Sj(P,Q)=0S_j(P, Q) = 0 for j<ej < e and Se(P,Q)S_e(P, Q) is a nonzero constant multiple of gg. (Von zur Gathen and Gerhard, Chapter 6; Lazard and Rioboo state the case needed here.) Moreover, for a ring homomorphism φ\varphi that keeps lc⁡(P)≠0\operatorname{lc}(P) \ne 0, φ(Sj(P,Q))=Sj(φP,φQ)\varphi(S_j(P, Q)) = S_j(\varphi P, \varphi Q) with the same formal degrees, because each SjS_j is built from determinants whose entries are coefficients of PP and QQ.

Theorem. Let i≥1i \ge 1 with deg⁡Qi>0\deg Q_i > 0, let SiS_i be the polynomial of line L4 or L5, and let α\alpha be a root of QiQ_i. Then lc⁡xSi(α)≠0\operatorname{lc}_x S_i(\alpha) \ne 0, and Si(α,x)=lc⁡xSi(α)⋅GαS_i(\alpha, x) = \operatorname{lc}_x S_i(\alpha) \cdot G_\alpha.

Proof. By line L2, the roots of QiQ_i are the roots of RR of multiplicity exactly ii, so m(α)=im(\alpha) = i, and deg⁡Gα=i\deg G_\alpha = i by Fact 3.

If i=ni = n, then GαG_\alpha has degree nn and divides DD, so Gα=D/lc⁡(D)G_\alpha = D / \operatorname{lc}(D), and Sn=DS_n = D satisfies the claim.

If i<ni < n, apply Fact 5 to φ:t↦α\varphi : t \mapsto \alpha, which keeps lc⁡(D)\operatorname{lc}(D), a nonzero element of KK. So Si(α,x)=Si(D,Bα)S_i(\alpha, x) = S_i(D, B_\alpha), the subresultant for formal degrees nn and n−1n - 1. Since gcd⁡(D,Bα)=Gα\gcd(D, B_\alpha) = G_\alpha has degree i≤n−1i \le n - 1, Fact 5 says Si(D,Bα)=λGαS_i(D, B_\alpha) = \lambda G_\alpha for some λ≠0\lambda \ne 0. The polynomial SiS_i has degree at most ii in xx, so its coefficient of xix^i is lc⁡xSi\operatorname{lc}_x S_i, and comparing the coefficients of xix^i gives λ=lc⁡xSi(α)≠0\lambda = \operatorname{lc}_x S_i(\alpha) \ne 0, since GαG_\alpha is monic of degree ii. ■\blacksquare

Lines L6 to L8. By the theorem, lc⁡xSi\operatorname{lc}_x S_i does not vanish at any root of QiQ_i, so gcd⁡(Aj,Qi)=1\gcd(A_j, Q_i) = 1 for every square-free factor AjA_j of lc⁡xSi\operatorname{lc}_x S_i, and line L7 divides by 11. Since QiQ_i is square-free and lc⁡xSi\operatorname{lc}_x S_i has no common root with it, lc⁡xSi\operatorname{lc}_x S_i is invertible modulo QiQ_i. Reducing the coefficients modulo QiQ_i and multiplying by this inverse does not change the values at roots of QiQ_i except for dividing by lc⁡xSi(α)\operatorname{lc}_x S_i(\alpha). So after line L8, Si(α,x)=GαS_i(\alpha, x) = G_\alpha for every root α\alpha of QiQ_i.

Correctness of the output. The roots of RR are partitioned by multiplicity among the QiQ_i, which are square-free and pairwise coprime. So the sum of line L9 is ∑R(α)=0αlog⁡Gα\sum_{R(\alpha) = 0} \alpha \log G_\alpha, and its derivative is A/DA/D by Fact 4.

Termination. The subresultants are finitely many determinants or a finite pseudo-remainder sequence, the square-free factorizations and gcds are Euclidean computations in K[t]K[t], and the loop of line L3 has at most nn passes. ■\blacksquare

Back to Lazard-Rioboo-Trager algorithm