多项式也有CRT么?
在“中国剩余定理(CRT )”中有人问及,我就简单写一下。
首先,我不想在这篇文章中着急引入“环”和“域”的概念;也不想严格定义“多项式”——我希望这只是做为一篇入门的科普文章。
其次,我们假定讨论的一元多项式的系数都是有理数。
事实上,只要多项式的系数取自的集合可以做“加减乘除(不能除以0)”就可以了。
更严谨的说法是,系数取自一个域(field)。
例如: f(x)=2 + 3 x + 3 x^2 + x^3 、 g(x)=2 + 3 x - x^2 + x^3 + x^4 都是有理数系数的多项式。
下面要做一个(不严谨但是方便的)技术处理,就是若存在非零有理数 k 使得 k\times f_1(x)=f_2(x) ,那么就认为多项式 f_1(x) 和 f_2(x) 是不涉及同余式时是“相同的”。
例如 x^2+\frac{1}{3}x+\frac{5}{6} 、 3x^2+x+\frac{5}{2} 、 6x^2+2x+5 都认为是“相同的”多项式。
在整数的世界里有“带余除法”,例如: 15\div2=7\dots1 、 15\div3=5\dots0 、 15\div(-4)=(-3)\dots3 、 (-15)\div2=(-8)\dots1 等等,这里的“余数”都是大于或等于0、小于除数的绝对值的。
类似地,有理数系数的多项式之间也可以做带余除法,例如:
➊ (2 + 3 x - x^2 + x^3 + x^4) \div (2 + 3 x + 3 x^2 + x^3)=(-2+x)\dots(6+7x+2x^2) ,换言之 (2 + 3 x - x^2 + x^3 + x^4)=(2 + 3 x + 3 x^2 + x^3)\times(-2+x)+(6+7x+2x^2) ;
➋ (2 + 3 x + 3 x^2 + x^3) \div (6+7x+2x^2)=(-\frac{1}{4}+\frac{1}{2}x)\dots(\frac{7}{2}+\frac{7}{4}x) ,也即 (2 + 3 x + 3 x^2 + x^3) = (6+7x+2x^2)\times(-\frac{1}{4}+\frac{1}{2}x)+(\frac{7}{2}+\frac{7}{4}x) ;
➌ (6+7x+2x^2) \div (2+x)=(3+2x)\dots0,表明 (6+7x+2x^2) = (2+x)\times(3+2x) 。
可以表示为: f(x)=q(x)\times g(x)+r(x) 。
这里的“余” 不是一个数了,而是一个多项式 r(x) ,余多项式 r(x) 的要求是:或者为零、或者次数低于除多项式 g(x) 。
在此基础上,有理数系数的多项式之间也可以定义“整除”、“因式”、“倍式”、“模”和“同余”。
例如由 (6+7x+2x^2) = (2+x)\times(3+2x) ,我们
- 称 (6+7x+2x^2) 可以被 (2+x) 整除、或称 (2+x) 可以整除 (6+7x+2x^2) ,记作 (2+x)|(6+7x+2x^2) ;
- 称 (6+7x+2x^2) 是 (2+x) 的倍式;
- 称 (2+x) 是 (6+7x+2x^2) 的因式;
- 称 (6+7x+2x^2) 模 (2+x) 与0同余,记作 (6+7x+2x^2) \equiv 0\pmod {2+x}。
而由于 (2 + 3 x - x^2 + x^3 + x^4) \div (2 + 3 x + 3 x^2 + x^3)=(-2+x)\dots(6+7x+2x^2) ,可知 (2 + 3 x - x^2 + x^3 + x^4) 不能被 (2 + 3 x + 3 x^2 + x^3) 整除、 (2 + 3 x - x^2 + x^3 + x^4) 与 (6+7x+2x^2) 模 (2 + 3 x + 3 x^2 + x^3) 同余,记作 (2 + 3 x - x^2 + x^3 + x^4) \equiv(6+7x+2x^2)\pmod{2 + 3 x + 3 x^2 + x^3} 。
于是呢,类似于“素数”,我们也可以定义“不可约多项式”——在“相同”的意义下,如果多项式的因子只有自身和1,就称之为是一个不可约多项式。
例如,在有理数系数的多项式内, 1+x+x^2 就是一个不可约多项式,而 1+2x+x^2=(1+x)(1+x) 则不是。
注意:多项式是否“可约”是跟系数的取决范围相关的!
例如同样是多项式 1+x+x^2 ,在有理数系数的多项式范围内是不可约的;但是在实数系数的多项式世界里面是可约的, (1+x+x^2)=\left( x-\frac{-1+\sqrt{-3}}{2} \right)\left( x -\frac{-1-\sqrt{-3}}{2}\right) 。
接下来,就可以定义两个有理数系数 f(x),g(x) 的多项式的“最大公因式” GCD(f(x),g(x)) 了——所有公因式中次数最高者。
仍然可以采用“欧几里得算法(辗转相除法)”来计算,例如:
(2 + 3 x - x^2 + x^3 + x^4) 和 (2 + 3 x + 3 x^2 + x^3) 最大公因式是 (2+x) 。
由此也可以定义有理数系数的多项式之间的“互素”。
那么,也就有有理数系数的多项式的裴蜀(Bezout)等式或贝祖等式(参看“凑邮资问题”):
对于不全为0的有理数系数的多项式 f(x), g(x) 和 d(x) ,方程 s(x)f(x)+t(x)g(x)=d(x) 存在有理数系数的多项式解 s(x) 和 t(x) 当且仅当GCD(f(x), g(x))|d(x) 。
例如:
\left( 6 - 5x + 2x^2 \right)\left( 2 + 3 x + 3 x^2 + x^3 \right)+(1-2x)\left( 2 + 3 x - x^2 + x^3 + x^4 \right)=7(2+x) 。
下面就该讨论“模的逆”了:存在有理数系数的多项式 F(x) 使得 F(x)f(x)\equiv 1\pmod{g(x)} 当且仅当 F(x) 与 g(x) 互素。此时称 F(x) 是 f(x) 模 g(x) 的逆多项式,记作 F(x)=\left[ \left( f(x) \right)^{-1} \right]_{g(x)} 。
例如 f(x)=(1+x+x^2) 与 g(x)=(1+x-x^2+x^3) 互素,于是存在多项式 F(x)=(6-5x+x^2 ) ,使得 (1 + x + x^2)(6 - 5 x + 2 x^2) + (1 - 2 x)(1 + x - x^2 + x^3)=7 ,即得 (1 + x + x^2)(6 - 5 x + 2 x^2) \equiv1\pmod{(1+x-x^2+x^3)} 。称 F(x)/7=\frac{1}{7}(6-5x+x^2 ) 是 f(x)=(1+x+x^2) 模 g(x)=(1+x-x^2+x^3) 的逆多项式。
剩下的事情就和“中国剩余定理(CRT )”中所讲的基本相同了:
假设有理数系数的多项式 m_1(x),m_2(x), ... ,m_n(x) 两两互素,则对于任意的有理数系数的多项式 a_1(x),a_2(x), ... ,a_n(x) ,方程组
\begin{equation} \begin{cases} f(x)\equiv a_1(x)\pmod {m_1(x)}\\ f(x)\equiv a_2(x)\pmod {m_2(x)}\\ \cdots \\ f(x)\equiv a_n(x)\pmod {m_n(x)}\\ \end{cases} \end{equation}
都存在有理数系数的多项式解,且若A(x),B(x) 都满足该方程组,则必有 A(x)\equiv B(x)\pmod {N(x)} ,其中 N(x)=\prod_{i=1}^{n}{m_i(x)} 。
具体而言, f(x)\equiv\sum_{i=1}^{n}{a_i(x)\times\frac{N(x)}{m_i(x)}\times\left[ \left( \frac{N(x)}{m_i(x)} \right)^{-1} \right]_{m_i(x)}}\pmod {N(x)} 。
——这就是中国剩余定理(Chinese remainder theorem, CRT)的有理数系数的多项式版本。
例如:
\begin{equation} \begin{cases} f(x)\equiv 1-x\pmod {1+x+x^2}\\ f(x)\equiv 2\pmod {1+x^2}\\ \end{cases} \end{equation} ,
可得 \left[ \left( 1+x^2 \right)^{-1} \right]_{1+x+x^2}=(1+x) 及 \left[ \left( 1+x+x^2 \right)^{-1} \right]_{1+x^2}=(-x) ,
于是 f(x)\equiv (1-x)(1+x^2)(1+x)+2(1+x+x^2)(-x)\equiv 1 - 2 x - 2 x^2 - 2 x^3 - x^4 \pmod {(1+x^2)(1+x+x^2)} 。