主要内容

高等代数: 多项式与线性代数

1.3 最大公因式和辗转相除法

和整数的最大公因数类似,在一元多项式的研究中,多项式的最大公因式具有重要地位,其研究方法和结论也是类似的。

子节 1.3.1 最大公因式的一般理论

定义 1.3.1.

\(f (x), g (x)\in \mathbb{F}[x]\)。若\(d(x)\in \mathbb{F}[x]\)使得
  1. \(d(x) | f (x)\)\(d(x) | g(x)\)
  2. \(h(x) | f (x)\)\(h(x) | g(x)\),则\(h(x) | d(x)\)
则称 \(d(x)\)\(f (x)\)\(g (x)\)最大公因式
定义中的 项 1保证 \(d(x)\)\(f(x)\)\(g(x)\)的公因式,项 2保证 \(d(x)\)的次数是所有公因式次数的最大值。
根据项 2,若\(d_1(x)\)\(d_2(x)\)都是\(f(x)\)\(g(x)\)的最大公因式,则\(d_1(x)\)\(d_2(x)\)相互整除,即\(d_1(x)\)\(d_2(x)\)相伴。另一方面,若\(d_1(x)\)\(d_2(x)\)相伴,则此时\(d_1(x)\)\(d_2(x)\)只相差一个非0常数的数乘,\(d_1(x)\)\(d_2(x)\)一定同时满足或同时不满足最大公因式的两个条件。总之,\(f(x)\)\(g(x)\)的所有最大公因式构成一个相伴多项式类。为了简单,当这个相伴类不是只有0多项式时,我们选择其中唯一的一个首1多项式做为最大公因式的代表,并将其记为
\begin{equation*} \blue{\left(f(x),g(x)\right)} . \end{equation*}
特别地,约定\((0,0)=0\)
有了最大公因式的定义后,我们需要考虑的首要问题是最大公因式是否存在。其次,如果最大公因式存在,应该如何求出给定的两个多项式的最大公因式?直觉告诉我们,当\(f(x)\)\(g(x)\)的次数越小,其最大公因式应该越好求。下面的引理提供了一种不改变最大公因式的操作,我们将利用这种操作来降低多项式的次数,把问题向简单的方向转化。

证明.

只证明 项 2。 若\(\left(f (x), g(x)\right)\)存在,设\(\left(f (x), g(x)\right)=d(x)\),则\(d(x)| f(x)\)\(d(x)| g(x)\)。由命题 1.2.10
\begin{equation*} d(x)| f(x)+l(x)g(x), \end{equation*}
\(d(x)\)\(f(x)+l(x)g(x)\)\(g(x)\)的一个公因式。另一方面,若\(h(x)| f(x)+l(x)g(x)\)\(h(x)| g(x)\),由命题 1.2.10
\begin{equation*} h(x)| \left[f(x)+l(x)g(x)\right]-l(x)g(x), \end{equation*}
\(h(x)| f(x)\)\(h(x)| g(x)\)。从而\(h(x)| d(x)\)。根据定义,
\begin{equation*} \left(f(x)+l(x)g(x),g(x)\right)=d(x). \end{equation*}
同理可证:若\(\left(f(x)+l(x)g(x),g(x)\right)\)存在,则
\begin{equation*} \left(f (x), g(x)\right)=\left(f(x)+l(x)g(x),g(x)\right). \end{equation*}
为了方便叙述,不妨假设\(\deg f(x)\ge \deg g(x)\)。当\(g(x)|f(x)\)时, 项 1 的结论已经给出了最大公因式。当\(g(x)\nmid f(x)\)时,做带余除法,设\(f (x)=g(x)q(x)+r(x)\), 取\(l(x)=-q(x) \),则
\begin{equation*} (f (x), g(x)) = (f (x) - q(x)g(x),g(x)) = (r(x), g(x)) = (g(x),r(x)). \end{equation*}
于是我们将求\(f(x),g(x)\)最大公因式的问题转化为求\(g(x),r(x)\)最大公因式的问题, 此时\(\deg r(x) < \deg g(x)\le \deg f(x) \),即在此过程中多项式的总次数严格降低。不断重复上述过程直到我们求出最大公因式。由于每次总次数都严格降低,所以这个过程一定在有限步后转化到 项 1 ,即可以求出我们要的最大公因式。上述求最大公因式的方法称为 辗转相除法,或 Euclidean算法

1.3.3. 简单算例,暂缺.

利用辗转相除法,接下来给出最大公因式的一个常用结论。由于这个结论的重要,我们将给出3种不同的证明方法。

证明.

不妨设\(\deg g(x)\le \deg f(x)\)。对\(g(x)\)的次数使用归纳法。
归纳法的初始情形为\(g(x)=0\)。此时容易看到
\begin{equation*} d(x) = \left(f(x),g(x) \right) = \begin{cases} 0, & \text{若}f(x) =0\text{;}\\ \frac{1}{c}f(x), & \text{若}f(x)\ne 0\text{,} c \text{为} f(x)\text{首项系数。} \end{cases} \end{equation*}
\begin{equation*} u(x) = \begin{cases} 1, & \text{若}f(x) =0\text{;}\\ \frac{1}{c}, & \text{若}f(x)\ne 0, c \text{为} f(x)\text{首项系数。} \end{cases} \end{equation*}
\(v(x) =0\),可知此时结论成立。
接下来讨论\(g(x)\ne 0\)的情况。对\(g(x)\)的次数使用数学归纳法,假设命题对最低次数小于\(g(x)\)次数的多项式组结论都成立。
因为\(g(x)\ne 0\),根据带余除法知存在\(q(x),r(x)\in\F[x]\),使得
\begin{equation*} f(x)=g(x)q(x)+r(x), \end{equation*}
其中\(\deg r(x) <\deg g(x)\)
根据归纳假设:对于\(g(x)\)\(r(x)\),存在\(u_1(x),v_1(x)\in\F[x]\),使得
\begin{equation} d(x) = u_1(x)g(x)+v_1(x)r(x),\tag{1.3.2} \end{equation}
其中\(d(x) = (g(x),r(x)) \)
注意到
\begin{equation} r(x)= f(x)-q(x)g(x),\tag{1.3.3} \end{equation}
根据 引理 1.3.2
\begin{equation*} d(x) = (f(x)-q(x)g(x),g(x)) = (f(x),g(x)). \end{equation*}
(1.3.3)代入 (1.3.2)
\begin{align*} d(x) & = u_1(x)g(x)+v_1(x)r(x) \\ \amp =u_1(x)g(x)+v_1(x)[f(x)-q(x)g(x)] \\ \amp =v_1(x)f(x) +[u_1(x)-q(x)v_1(x)]g(x), \end{align*}
\(u(x)=v_1(x)\)\(v(x)=u_1(x)-q(x)v_1(x)\),可知结论成立。

证明.

只考虑非平凡的情况,即\(f(x)\ne 0\)\(g(x)\ne 0\)。易知平凡情况下结论成立。
构造集合
\begin{equation*} I=\{f(x)u(x)+g(x)v(x)| u(x),v(x)\in\F[x]\}. \end{equation*}
因为非0多项式的次数都是自然数,所以\(I\)中必然存在次数最小的非0多项式。同时注意到\(I\)关于数乘运算封闭,所以\(I\)中至少存在一个次数最低且首项系数为一的(非0)多项式,记这个多项式为\(d(x)\)。由于\(d(x)\in I\), 于是存在\(u(x),v(x)\in\F[x]\),使得
\begin{equation} d(x)=f(x)u(x)+g(x)v(x).\tag{1.3.4} \end{equation}
下面我们说明这样取出的\(d(x)\)就是\((f(x),g(x))\)
先用反证法证明\(d(x)| f(x)\)\(d(x)| g(x)\)。若不然,则\(d(x)\nmid f(x)\)\(d(x)\nmid g(x)\)。不妨设\(d(x)\nmid f(x)\),由带余除法,存在\(q(x),r(x)\in\F[x]\),使得
\begin{equation*} f(x)=q(x)d(x)+r(x), \end{equation*}
其中\(0\leq \deg r(x)<\deg d(x)\)。将 (1.3.4) 代入上式得
\begin{equation*} \begin{array}{ccl} cr(x)&=&cf(x)-cq(x)\left[f(x)u(x)+g(x)v(x)\right]\\ &=&f(x)\left[c-cq(x)u(x)\right]+g(x)\left[-cq(x)v(x)\right], \end{array} \end{equation*}
其中\(c\)\(r(x)\)首项系数的倒数,故\(cr(x)\)\(I\)中首一多项式且\(\deg cr(x)<\deg d(x)\),这与\(d(x)\)\(I\)中次数最低的首一多项式相矛盾。
接下来证明最大公因式定义中的条件2:若\(h(x)| f(x)\)\(h(x)| g(x)\),根据 命题 1.2.10
\begin{equation*} h(x)| f(x)u(x)+g(x)v(x), \end{equation*}
\(h(x)| d(x)\)
综上,结论成立。

证明.

本证明中也只考虑非平凡的情况,即\(f(x)\ne 0\)\(g(x)\ne 0\)。易知平凡情况下结论成立。
第三种证明方式是用辗转相除法给出一个计算最大公因式和相应\(u(x),v(x)\) 的算法。由带余除法和辗转相除法,我们有下列等式:
\begin{equation*} \begin{array}{c} f(x)=g(x)q_1(x)+r_1(x),\\ g(x)=r_1(x)q_2(x)+r_2(x),\\ r_1(x)=r_2(x)q_3(x)+r_3(x),\\ \cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots\\ r_{i-2}(x)=r_{i-1}(x)q_i(x)+r_i(x),\\ \cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots \end{array} \end{equation*}
这里\(\deg g(x)>\deg r_1(x)>\deg r_2(x)>\deg r_3(x)>\cdots\),因此经过有限步后,必有一个等式的余式为零。不妨设\(r_{s+1}(x)=0\),则
\begin{equation} \begin{array}{c} f(x)=g(x)q_1(x)+r_1(x),\\ g(x)=r_1(x)q_2(x)+r_2(x),\\ r_1(x)=r_2(x)q_3(x)+r_3(x),\\ \cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots\\ r_{s-3}(x)=r_{s-2}(x)q_s(x)+r_{s-1}(x),\\ r_{s-2}(x)=r_{s-1}(x)q_s(x)+r_s(x),\\ r_{s-1}(x)=r_s(x)q_{s+1}(x). \end{array}\tag{1.3.5} \end{equation}
引理 1.3.2 第一个结论可得\(\left(r_{s-1}(x),r_s(x)\right)=cr_s(x)\),其中\(c\)\(r_s(x)\)首项系数的倒数。根据引理 1.3.2 第二个结论,
\begin{align*} \left(r_{s-1}(x),r_s(x)\right)&=\left(r_{s-2}(x),r_{s-1}(x)\right) \\ &=\cdots \\ &=\left(r_{2}(x),r_{1}(x)\right) \\ &=\left(r_{1}(x),g(x)\right) \\ &=\left(g(x),f(x)\right), \end{align*}
因此\(\left(f (x), g(x)\right)=cr_s(x)\)存在。由 (1.3.5)倒数第二个式子可得
\begin{equation*} r_s(x)=r_{s-2}(x)-r_{s-1}(x)q_s(x). \end{equation*}
(1.3.5)倒数第三个式子得
\begin{equation*} r_{s-1}(x)=r_{s-3}(x)-r_{s-2}(x)q_{s-1}(x), \end{equation*}
代入上式,有
\begin{equation*} \begin{array}{ccl} r_s(x)& =& r_{s-2}(x)-\left[r_{s-3}(x)-r_{s-2}(x)q_{s-1}(x)\right]q_s(x)\\ &=& r_{s-3}(x)\left[-q_s(x)\right]+r_{s-2}(x)\left[1+q_{s-1}(x)q_s(x)\right]. \end{array} \end{equation*}
依此类推,将(1.3.5)中等式逐步向下而上代入,可得\(u_1(x),v_1(x)\in\F[x]\),使得
\begin{equation*} r_s(x)=f(x)u_1(x)+g(x)v_1(x). \end{equation*}
\(u(x)=cu_1(x),v(x)=cv_1(x)\),则
\begin{equation*} \left(f (x), g(x)\right)=f(x)u(x)+g(x)v(x). \end{equation*}
(1.3.1) 称为 Bézout等式
上面的3种证明本质上是相同的。第1种证明使用了数学归纳法,算法实现上需要使用递归;第2种证明中反证法部分实际上可以对应一种迭代算法,每次迭代后产生的多项式次数都严格下降,直到达到最小次数多项式(或者说下次迭代产生0多项式)为止;第3种方法适合于手动计算。请同学们比较理解。
来看一个具体的例子。在例子中,我们用第3种方法算出Bézout等式的系数。

1.3.5.

\begin{equation*} f(x)=6x^5+4x^4+7x^3+8x^2+10x+7,g(x)=3x^4-x^3+3x^2+4, \end{equation*}
,求\(u(x), v(x)\),使得
\begin{equation*} d(x) = f (x) u(x) + g(x) v(x). \end{equation*}
解答.
手工计算最大公因式及相应的\(u(x),v(x)\)可以使用下面的计算格式。
\begin{equation*} \begin{array}{r|rrrrr|rrrrrr|l} q_2(x)=x-1&3x^4&-x^3&+3x^2&&+4&6x^5&+4x^4&+7x^3&+8x^2&+10x&+7&2x+2=q_1(x)\\ &3x^4&+2x^3&+2x^2&-x&&6x^5&-2x^4&+6x^3&&+8x&&\\ \hline &&-3x^3&+x^2&+x&+4&&6x^4&+x^3&+8x^2&+2x&+7&\\ &&-3x^3&-2x^2&-2x&+1&&6x^4&-2x^3&+6x^2&&+8&\\ \hline &&r_2(x)&=3x^2&+3x&+3&&r_1(x)&=3x^3&+2x^2&+2x&-1&x-\frac{1}{3}=q_3(x)\\ &&&&&&&&3x^3&+3x^2&+3x&&\\ \hline &&&&&&&&&-x^2&-x&-1&\\ &&&&&&&&&-x^2&-x&-1&\\ \hline &&&&&&&&&&r_3(x)&=0& \end{array} \end{equation*}
所以
\begin{equation*} \left(\ f (x), g(x)\ \right)=\frac{1}{3}r_2(x)=x^2+x+1. \end{equation*}
\begin{equation*} \begin{array}{ccl} r_2(x)&=&g(x)-r_1(x)q_2(x)\\ &=&g(x)-\left[f(x)-g(x)q_1(x)\right]q_2(x)\\ &=&f(x)\left[-q_2(x)\right]+g(x)\left[1+q_1(x)q_2(x)\right], \end{array} \end{equation*}
因此
\begin{equation*} u(x)=-\frac{1}{3}q_2(x)=-\frac{1}{3}x+\frac{1}{3},v(x)=\frac{1}{3}\left[1+q_1(x)q_2(x)\right]=\frac{2}{3}x^2-\frac{1}{3}. \end{equation*}
定理 1.3.4的第2种证明相对应,我们有下面的结论。

1.3.7.

\(f(x),g(x)\in\F[x]\)\(n\in\Z^+\)\(d(x)=\left(f(x),g(x)\right)\)。证明:
\begin{equation*} d(x^n)=\left(f(x^n),g(x^n)\right). \end{equation*}
解答.
由已知条件知\(d(x)| f(x),d(x)| g(x)\),所以存在\(h(x),k(x)\in\F[x]\),使得
\begin{equation*} f(x)=d(x)h(x),g(x)=d(x)k(x). \end{equation*}
\(x^n\)代替\(x\),得
\begin{equation*} f(x^n)=d(x^n)h(x^n),g(x^n)=d(x^n)k(x^n), \end{equation*}
因而\(d(x^n)| f(x^n),d(x^n)| g(x^n)\)
另一方面,由 定理 1.3.6,存在\(u(x),v(x)\in\F[x]\),使得
\begin{equation*} d(x)=u(x)f(x)+v(x)g(x). \end{equation*}
\(x^n\)代替\(x\),得
\begin{equation*} d(x^n)=u(x^n)f(x^n)+v(x^n)g(x^n). \end{equation*}
定理 1.3.4\(d(x)\)\(f(x),g(x)\)的一个最大公因式。 又\(d(x^n)\)是首一多项式,因此\(d(x^n)=\left(f(x^n),g(x^n)\right)\)
  • 思考:最大公因式与数域有关吗?
最大公因式的定义可以推广到多个多项式。

定义 1.3.8.

\(m\)个多项式 \(f_i(x)\in\mathbb{F}[x](i =1, 2, \ldots , m)\),若存在\(d(x)\in \mathbb{F}[x]\),使得
  1. \(d(x) | f_i(x) (i =1, 2, \ldots , m) \)
  2. \(h(x) | f_i(x) (i =1, 2, \ldots , m)\),则\(h(x) | d(x) \)
则称 \(d(x)\)\(f_i(x) (i =1, 2, \ldots , m)\)最大公因式 ,其中首一的最大公因式记为:
\begin{equation*} (f_1(x) , f_2(x) , \ldots , f_m(x) ). \end{equation*}
在计算多个多项式的最大公因式时,通常我们采取两个两个求最大公因式的方式,我们以三个多项式为例来说明问题。

证明.

\(\left(f (x), g(x)\right)=d_1(x),\left(d_1(x),h(x)\right)=d(x)\),则
\begin{equation*} d(x)| d_1(x),d(x)| h(x),d_1(x)| f(x),d_1(x)| g(x), \end{equation*}
由此推出
\begin{equation*} d(x)| f(x), d(x)| g(x),d(x)| h(x). \end{equation*}
另一方面,若\(k(x)| f(x),k(x)| g(x),k(x)| h(x)\),由\(d_1(x)=\left(f (x), g(x)\right)\)
\begin{equation*} k(x)| d_1(x). \end{equation*}
注意到\(k(x)| d_1(x),k(x)| h(x)\),所以
\begin{equation*} k(x)| \left(d_1(x),h(x)\right), \end{equation*}
\(k(x)| d(x)\)。因此\(d(x)\)\(f(x),g(x),h(x)\)的一个最大公因式。又\(d(x)\)是首一多项式,故
\begin{equation*} \left(f(x),g(x),h(x)\right)=d(x). \end{equation*}
同理可得另一等式。
上述命题的结论可以推广到多个多项式。该结论表明:求多个多项式的最大公因式时,可先求任意两个多项式的最大公因式,再用同样方法继续,而不必顾及先后顺序。

子节 1.3.2 互素

两个多项式的最大公因式为0次多项式是一种极端情况,这种极端情况有很多很好的性质,具有特殊意义,有必要单独研究。

定义 1.3.10.

\(f (x), g (x)\in\mathbb{F}[x]\),若\(\left(f (x) , g(x)\right) = 1\),则称 \(f (x)\)\(g(x)\) 互素互质
定理 1.3.4定理 1.3.6可得如下一个常用结论。
一般的,若仅有\(d(x) = f (x) u(x) + g(x) v(x)\),并不能保证 \(d(x) = \left(f (x), g(x)\right)\)。 但若\(u(x)f(x)+v(x)g(x)=1\),就可以确保\(\left(f(x), g(x)\right)=1\)
下面是互素多项式具有的一些好性质。请注意思考,当没有互素条件时命题不成立的原因是什么,并尝试给出相应的反例。

证明.

因为\(\left(f_1(x) , f_2(x)\right) = 1\),所以存在\(u(x),v(x)\in\F[x]\),使得
\begin{equation*} f_1(x)u(x)+f_2(x)v(x)=1. \end{equation*}
因而
\begin{equation} g(x)f_1(x)u(x)+g(x)f_2(x)v(x)=g(x).\tag{1.3.6} \end{equation}
\(f_1(x) | g(x)\)\(f_2(x) | g(x)\)可知,存在\(s(x),t(x)\in\F[x]\),使得
\begin{equation*} g(x)=f_1(x)s(x),g(x)=f_2(x)t(x). \end{equation*}
代入 (1.3.6),得
\begin{equation*} \begin{array}{ccl} g(x)&=&g(x)f_1(x)u(x)+g(x)f_2(x)v(x)\\ &=&f_2(x)t(x)f_1(x)u(x)+f_1(x)s(x)f_2(x)v(x)\\ &=&f_1(x)f_2(x)\left[t(x)u(x)+s(x)v(x)\right]. \end{array} \end{equation*}
因此\(f_1(x) f_2(x) | g(x)\)

证明.

因为\(\left(f(x) , g(x)\right) = 1\),所以存在\(u(x),v(x)\in\F[x]\),使得
\begin{equation*} f(x)u(x)+g(x)v(x)=1. \end{equation*}
两边同乘 \(h(x)\),得
\begin{equation*} f(x)h(x)u(x)+g(x)h(x)v(x)=h(x). \end{equation*}
由于\(f(x)| g(x)h(x)\),所以由 命题 1.2.10,有\(f(x)| h(x)\)

证明.

根据 定理 1.3.4,存在\(u_1(x),v_1(x),u_2(x),v_2(x)\in\F[x]\),使得
\begin{equation*} f_1(x)u_1(x)+g(x)v_1(x)=1,\ f_2(x)u_2(x)+g(x)v_2(x)=1. \end{equation*}
两式相乘,得
\begin{equation*} \left[f_1(x)f_2(x)\right]u(x)+g(x)v(x)=1, \end{equation*}
其中
\begin{equation*} u(x)=u_1(x)u_2(x), \end{equation*}
\begin{equation*} v(x)=f_1(x)u_1(x)v_2(x)+f_2(x)u_2(x)v_1(x)+g(x)v_1(x)v_2(x). \end{equation*}
因此\(\left(f_1(x) f_2(x), g(x)\right) = 1\)

证明.

根据 定理 1.3.4,存在\(u(x),v(x)\in\F[x]\),使得
\begin{equation*} f(x)u(x)+g(x)v(x)=d(x). \end{equation*}
\(f (x) = f_1(x) d(x)\)\(g(x) = g_1(x)d(x)\)代入得
\begin{equation*} \left[f_1(x)u(x)+g_1(x)v(x)\right]d(x)=d(x). \end{equation*}
\(d(x)\neq 0\),所以由消去律得
\begin{equation*} f_1(x)u(x)+g_1(x)v(x)=1. \end{equation*}
因此\(\left(f_1(x), g_1(x)\right) = 1\)

子节 1.3.3 最小公倍式

最小公倍式是与最大公因式相对应的一个概念,二者之间有着密切联系。

定义 1.3.16.

\(f (x), g (x)\in\mathbb{F}[x]\)。若\(m(x)\in\mathbb{F}[x]\),使得
  1. \(f (x) | m(x)\)\(g(x) | m(x)\)
  2. 只要\(f(x) | l(x)\)\(g(x) | l(x)\),就有\(m(x) | l(x)\)
则称 \(m(x)\)\(f (x)\)\(g (x)\)最小公倍式 (l.c.m.)。 首一最小公倍式记作\([f (x), g (x)]\)
特别约定\([0,0]=0\)。类似于最大公因式,最小公倍式也可以推广到多个多项式的情形。特别地, \(f_1(x),\ldots,f_m(x)\)的首一最小公倍式记为
\begin{equation*} [f_1(x), \ldots , f_m(x)]. \end{equation*}
最小公倍式和最大公因式之间的关系可以由下述结论描述。

子节 1.3.4 孙子定理/中国剩余定理*

作为辗转相除法和最大公因式的一个应用,这里我们简要介绍一个著名定理——孙子定理的结论和证明。孙子定理也称为中国剩余定理,是求解同余方程组的一般方法。同余方程组的相关问题会在后续课程《抽象代数》中进一步展开。
在《孙子算经》一书中有一道著名的“孙子问题”:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”用现代的数学语言翻译过来,孙子问题也可叙述为:现有一个未知整数\(x\)\(x\)除以3的余数为2,除以5的余数为3,除以7的余数为2,问\(x\)是多少?
把这个问题推广到多项式:假设现有一组两两互素的多项式\(p_1(x),\dots,p_m(x)\) \((m\geq 2)\),我们知道一个多项式\(g(x)\)分别除以\(p_1(x),\dots,p_m(x)\)的余式,问满足条件的多项式\(g(x)\)是否存在?若存在,该如何求\(g(x)\)?孙子定理回答了\(g(x)\)的存在性问题,其证明过程给出了\(g(x)\)的求法。
为证明一般结论,我们先来看一个简单的特殊情形。

证明.

因为当\(i\neq j\)时,\(\left(p_i(x),p_j(x)\right)=1\),所以
\begin{equation*} \left(p_i(x),\prod\limits_{j\neq i,j=1}^{m}p_j(x)\right)=1. \end{equation*}
根据 定理 1.3.4存在\(u_i(x),v_i(x)\in\F[x]\),使得
\begin{equation*} p_i(x)u_i(x)+\left[\prod\limits_{j\neq i,j=1}^{m}p_j(x)\right]v_i(x)=1. \end{equation*}
\(f_i(x)=\left[\prod\limits_{j\neq i,j=1}^{m}p_j(x)\right]v_i(x)\),则结论成立。

证明.

引理 1.3.18,存在\(f_i(x)(i=1,\dots ,m)\),使得对任意\(i,j=1,\dots ,m\)\(i\neq j\),都有
\begin{equation} f_i(x)=l_i(x)p_i(x)+1,\quad f_i(x)=h_{ij}(x)p_j(x).\tag{1.3.7} \end{equation}
\(f(x)=\sum\limits_{i=1}^m f_i(x)g_i(x)\),将 (1.3.7)代入得
\begin{equation*} \begin{array}{ccl} f(x)&=&f_i(x)g_i(x)+\sum\limits_{j\neq i,j=1}^m f_j(x)g_j(x)\\ &=&\left[g_i(x)l_i(x)p_i(x)+g_i(x)\right]+\sum\limits_{j\neq i,j=1}^m\left[h_{ji}(x)p_i(x)\right]g_j(x)\\ &=&p_i(x)\left[g_i(x)l_i(x)+\sum\limits_{j\neq i,j=1}^m h_{ji}(x)g_j(x)\right]+g_i(x). \end{array} \end{equation*}
根据带余除法,存在\(q(x),g(x)\in\F[x]\),使得
\begin{equation*} f(x)=\left[\prod\limits_{i=1}^m p_i(x)\right]q(x)+g(x), \end{equation*}
其中\(\deg g(x)< \deg \left[\prod\limits_{i=1}^m p_i(x)\right]=\sum\limits_{i=1}^m \deg p_i(x)\)。则
\begin{equation*} g(x)=p_i(x)\left[g_i(x)l_i(x)+\sum\limits_{j\neq i,j=1}^m h_{ji}(x)g_j(x)-q(x)\prod\limits_{j\neq i,j=1}^m p_j(x)\right]+g_i(x). \end{equation*}
\(q_i(x)=g_i(x)l_i(x)+\sum\limits_{j\neq i,j=1}^m h_{ji}(x)g_j(x)-q(x)\prod\limits_{j\neq i,j=1}^m p_j(x)\),则
\begin{equation*} g(x)=p_i(x)q_i(x)+g_i(x). \end{equation*}
再证明唯一性。若存在\(g(x),h(x)\in\F[x]\),使得
\begin{equation*} g(x)=p_i(x)q_i(x)+g_i(x),\ h(x)=p_i(x)t_i(x)+g_i(x), \end{equation*}
\(\deg g(x)< \sum\limits_{i=1}^m\deg p_i(x),\deg h(x)< \sum\limits_{i=1}^m\deg p_i(x)\)。则
\begin{equation*} g(x)-h(x)=p_i(x)\left[q_i(x)-t_i(x)\right], \end{equation*}
\(p_i(x)| g(x)-h(x)\)。注意到\(p_1(x),p_2(x),\cdots ,p_m(x)\)两两互素,所以
\begin{equation*} \prod\limits_{i=1}^m p_i(x)| g(x)-h(x). \end{equation*}
\begin{align*} \deg\left[g(x)-h(x)\right]&\leq\max\{\deg g(x),\deg h(x)\} \\ &< \sum\limits_{i=1}^m\deg p_i(x) \\ &=\deg\left[\prod\limits_{i=1}^m p_i(x)\right], \end{align*}
\(g(x)-h(x)=0\),即此时\(g(x)\)是唯一的。

1.3.20.

求一个次数最低的多项式\(g(x)\),使\(x^2-1,x^3+x^2-x-2\)\(g(x)\)的余式分别为\(x,x^2-1\)
解答.
因为
\begin{equation*} \left(x^2-1\right)\left(x+1\right)-\left(x^3+x^2-x-2\right)=1, \end{equation*}
所以由 引理 1.3.18知可取
\begin{equation*} f_1(x)=-\left(x^3+x^2-x-2\right),f_2(x)=\left(x^2-1\right)\left(x+1\right). \end{equation*}
由孙子定理证明知,令
\begin{equation*} \begin{array}{ccl} f(x)&=&xf_1(x)+\left(x^2-1\right)f_2(x)\\ &=&x^5-3x^3-x^2+3x+1, \end{array} \end{equation*}
\(x^2-1,x^3+x^2-x-2\)\(f(x)\)的余式分别为\(x,x^2-1\)。由带余除法,
\begin{equation*} f(x)=\left(x^2-1\right)\left(x^3+x^2-x-2\right)+\left(-x^4-x^3+2x^2+2x-1\right), \end{equation*}
\(g(x)=-x^4-x^3+2x^2+2x-1\),则\(g(x)\)是满足条件次数最低的多项式。
下面我们利用孙子定理来证明一个重要结论。

证明.

\(p_i(x)=x-x_i\)\(i=0,\dots,n \)。因为\(x_0,\ldots,x_n\)两两不同,所以\(p_0(x),\dots ,p_n(x)\)两两互素。根据 定理 1.3.19,存在唯一一个多项式\(f(x)\),使得对任意\(i\in [n+1]\)
\begin{equation*} f(x)=p_i(x)q_i(x)+y_i, \end{equation*}
\(\deg f(x)<\sum\limits_{i=0}^n\deg p_i(x)=n+1\),即存在唯一一个次数不超过\(n\)的多项式\(f(x)\in \F[x]\),使得对\(\forall i \in [n+1]\)\(f(x_i)=y_i\)
利用定理 1.3.21可以回答之前遗留的一个问题,即多项式作为表达式相等和作为函数相等二者的等价性问题。

证明.

只需证明2可以推出1成立。不妨设\(m\le n\),则\(f(x),g(x)\)均是次数不超过\(n\)的多项式。
因为\(\F\)是复数域的子域,所以\(\Q\subseteq \F\)(命题 1.1.4),于是可以在\(\F\)中找到\(n+1\)个不同的数,记为\(x_0,\ldots,x_n\)。进一步地,记 \(y_i= f(x_i), i=0,\ldots,n\)。则根据命题2可知\(g(x_i) =y_i, i=0,\ldots,n\)也成立。
跟据定理 1.3.21中满足条件多项式的唯一性,可知\(f(x)=g(x)\),即命题1成立。

备注 1.3.23.

定理 1.3.22的条件中要求\(\F\subseteq \C\),这是为了保证\(\F\)是无限域。在后续课程《抽象代数》中,除复数域\(\C\)的子域外,还有很多其它的域。其中较为有代表性的就是有限域 \(\Z_p\)。当系数域\(\F\)为有限域时,多项式的表达式相等与函数相等就不再等价了。有兴趣的同学可以搜索一下相关的知识。
具体的,多项式表达式
\begin{equation*} f(x) = \sum_{i=0}^n y_i F_i(x) = \sum_{i=0}^n y_i \prod_{j\ne i} \frac{x-x_j}{x_i-x_j} \end{equation*}
也称为Lagrange插值多项式。对于给定的\(x_0,\ldots,x_n,y_0,\ldots,y_n\),此多项式\(f(x)\)就是满足条件\(y_i=f(x_i),\ i=0,\dots,n\)的多项式。
\(n=1\)时,\((x_0,y_0)\)\((x_1,y_1)\)对应于坐标平面中的两个点,此时Lagrange插值多项式则对应于一条直线方程,即此时 定理 1.3.21等价于初等几何里的一个常用事实:平面中的两个不同点确定一条直线。(\(x_0\ne x_1\)相当于排除了所确定的直线垂直于\(x\)轴这种特殊情况。)
一般的,定理 1.3.21也可以简略叙述为:\(xoy\)平面上\(n+1\)个横坐标互不相同的点可以与次数不超过\(n\)的多项式一一对应。于是,在选定\(x_0,\ldots,x_n\)的前提下,次数不超\(n\)的多项式也可用序列\((y_0,\ldots,y_n)\)表示,这种表示方式称为多项式的值表示

1.3.24. 多项式系数表示与值表示的关系.

取定\(x_0 = 1,x_1 = -1\)时,次数不超过1的多项式值表示\((y_0,y_1)\)和系数表示\(a_0+a_1x\)可以通过下面的关系式进行换算:
\begin{equation*} \left\{\begin{array}{l} y_0 = a_0 + a_1\\ y_1 = a_0 - a_1\\ \end{array} \right. \quad \left\{\begin{array}{l} a_0 = \frac{1}{2}(y_0 + y_1)\\ a_1 = \frac{1}{2}(y_0 - y_1) \end{array} \right. \end{equation*}
取定\(x_0 = 1,x_1 =i,x_2 = -1,x_3=-i\)(其中\(i^2= -1\))时,次数不超过3的多项式值表示\((y_0,y_1,y_2,y_3)\)和系数表示\(a_0+a_1x+a_2x^2+a_3x^3\)可以通过下面的关系式进行换算:
\begin{equation*} \left\{\begin{array}{l} y_0 = a_0 + a_1+a_2+a_3\\ y_1 = a_0 + a_1i - a_2 - a_3i\\ y_2 = a_0 - a_1 + a_2 - a_3\\ y_3 = a_0 - a_1i - a_2 + a_3i \end{array} \right. \quad \left\{\begin{array}{l} a_0 = \frac{1}{4}(y_0 + y_1 +y_2+y_3)\\ a_1 = \frac{1}{4}(y_0 - y_1i -y_2+y_3i)\\ a_2 = \frac{1}{4}(y_0 - y_1 +y_2- y_3)\\ a_1 = \frac{1}{4}(y_0 + y_1i -y_2-y_3i)\\ \end{array} \right. \end{equation*}
请同学们观察其中的规律。
\(f(x),g(x),h(x)\)都是次数不超过\(n\)的多项式,且\(h(x)=f(x)g(x)\)。给定\(x_0,\ldots,x_n\),若\(f(x)\)的值表示为\((y_0,\ldots,y_n)\)\(g(x)\)的值表示为\((z_0,\ldots,z_n)\),则可知\(h(x)\)的值表示为\((y_0z_0,\ldots,y_nz_n)\)
总结一下:多项式有两种常用的表示方式,系数表示和值表示。系数表示较为直观、简洁,直接对应函数表达式,可以利用函数表达式算出任意一点的函数值;对于值表示的多项式,除了给定的点外,其它点的函数值往往还需要转化为系数表示法所对应的函数表达式来求,但值表示在计算多项式乘法时有较为明显的优势。著名的离散Fourier变换(DFT)实现的就是这两种表示方法之间的转化,有兴趣的同学可以搜索相关的材料做进一步的了解。这个问题后续我们还会进一步涉及到。

子节 1.3.5 Sage相关

接下来我们用sage代码来实践一下本节中学到的内容。
Sage中直接提供的计算最大公因式的命令为gcd(),命令名gcd来自于“最大公因式”的英文名称 “greatest common divisor”。
3个以上多项式的最大公因式也可以用gcd()命令来求。
Sage中可以使用xgcd()命令获得 定理 1.3.4中的最大公因式\(d(x)\)\(u(x),v(x)\)
和gcd()命令不同的是xgcd()不支持3个及以上的多项式。
为加深对 定理 1.3.4的理解,我们给出这个定理前两种证明算法实现的代码。
Sage中求最小公倍式的命令为lcm(),命令名来源于“最小公倍式”的英文名称“least common multiple”。

练习 1.3.6 练习

基础题.

1.
\(f(x)=x^4+3x^3-x^2-4x-3,g(x)=3x^3+10x^2+2x-3\),求\(\left(f(x),g(x)\right)\),并求\(u(x),v(x)\),使得\(\left(f(x),g(x)\right)=u(x)f(x)+v(x)g(x)\)
2.
\(f(x)=x^3+(1+a)x^2+2x+2b,g(x)=x^3+ax^2+b\)的最大公因式是一个二次多项式,求\(a,b\)的值。
3.
\(f(x),g(x)\)是数域 \(\F\)上非零多项式,证明: \(f(x)\)\(g(x)\)不互素的充分必要条件是存在非零多项式 \(u(x),v(x)\),使得
\begin{equation*} u(x)f(x)=v(x)g(x), \end{equation*}
其中 \(\deg u(x)<\deg g(x),\deg v(x)<\deg f(x)\)
4.
\(f(x),g(x)\in\mathbb{F}[x]\),证明下面几点等价:
  1. \(\left(f(x),g(x)\right)=1\)
  2. \(\left(f(x),f(x)+g(x)\right)=1\)
  3. \(\left(g(x),f(x)+g(x)\right)=1\)
  4. \(\left(f(x)g(x),f(x)+g(x)\right)=1\)
5.
*求一个次数最低的多项式\(f(x)\),使\(f(x)\)除以\(x^2+1,x^3+x^2+1\)的余式分别为\(x+1,x^2-1\)

提高题.

6.
\(t(x)\)是首一多项式, \(\left(f (x), g(x)\right) = d(x)\),则
\begin{equation*} \left(f (x) t(x), g(x) t(x)\right) = d(x) t(x). \end{equation*}
7.
\(f_1(x)=af(x)+bg(x),g_1(x)=cf(x)+dg(x)\),且\(ad-bc\neq 0\),证明:
\begin{equation*} (f(x),g(x))=(f_1(x),g_1(x)). \end{equation*}
8.
\(m,n\)是正整数,证明:
\begin{equation*} \left(x^m-1,x^n-1\right)=x^d-1, \end{equation*}
其中 \(d\)\(m,n\)的最大公因数。
9.
\(f_1(x),\ldots ,f_m(x)\in\mathbb{F}[x]\),证明:存在\(u_1(x),\ldots ,u_m(x)\in\mathbb{F}[x]\),使得
\begin{equation} \left(f_1(x),\ldots ,f_m(x)\right)=u_1(x)f_1(x)+\cdots +u_m(x)f_m(x).\tag{1.3.8} \end{equation}
10.
\(f(x),g_1(x),g_2(x),g_3(x)\in\F[x]\)。若 \(g_i(x)| f(x),i=1,2,3\),试问下列命题是否成立,并说明理由:
  1. 如果 \(g_1(x),g_2(x),g_3(x)\)两两互素,那么一定有 \(g_1(x)g_2(x)g_3(x)| f(x)\)
  2. 如果 \(g_1(x),g_2(x),g_3(x)\)互素,那么一定有 \(g_1(x)g_2(x)g_3(x)| f(x)\)
11.
\(f(x),g(x),h(x)\in\F[x]\),且 \(g(x)\)\(h(x)\)互素,证明:存在 \(r(x),s(x)\in\F[x]\),使得
\begin{equation*} f(x)=g(x)r(x)+h(x)s(x), \end{equation*}
其中 \(\deg r(x)<\deg h(x)\)
12.
\(f(x),g(x)\in\mathbb{F}[x],\deg f(x)>0,\deg g(x)>0\)。证明:如果\(\left(f(x),g(x)\right)=1\),那么存在唯一的\(u(x),v(x)\in\mathbb{F}[x]\),使得
\begin{equation*} u(x)f(x)+v(x)g(x)=1, \end{equation*}
\(\deg u(x)<\deg g(x),\deg v(x)<\deg f(x)\)
13.
\(f_1(x),\cdots ,f_m(x),g_1(x),\cdots ,g_n(x)\in\mathbb{F}[x]\)。证明:
\begin{equation*} \left(f_1(x)\cdots f_m(x),g_1(x)\cdots g_n(x)\right)=1 \end{equation*}
的充分必要条件是
\begin{equation*} \left(f_i(x),g_j(x)\right)=1,\forall i=1,\ldots ,m,\ j=1,\ldots ,n. \end{equation*}
14.
\(f(x),g(x)\in\mathbb{F}[x],m\in\mathbb{Z}^+\),证明:如果\(\left(f(x),g(x)\right)=1\),那么\(\left(f^m(x),g^m(x)\right)=1\)
15.
\(f(x),g(x)\in\mathbb{F}[x],m\in\mathbb{Z}^+\),证明:\(\left(f^m(x),g^m(x)\right)=\left(f(x),g(x)\right)^m\)

Sage相关.

16.
实现本节中使用的sage自带程序。
18.
写一个孙子定理的相关程序:以\(p_1,\ldots,p_n;g_1,\ldots,g_n\)为输入,\(f(x)\)为输出。