多项式初步

Posted oiertkj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多项式初步相关的知识,希望对你有一定的参考价值。

最近在看HZ的多项式视屏,感觉正如GSH所说的,多项式还挺好玩的。

多项式

多项式差不多就是初中时候学的多项式。
一个以\(x\)为变量的多项式定义在一个代数域\(F\)上,将函数\(A(x)\)表示为形式和:
\(A(x)=\sum\limits_i=0^n-1a_ix^i\)

初中时常见的\(5x^2+8x+1,10x^3+8x^2-2\)就是多项式。

\(a_0,a_1,...,a_n-1\)称为多项式的系数。

其中的数域F可以为复数域,实数域...

次数和次数界

和初中的次数定义相同,记多项式中次数最大的为整个多项式的次数。
如果多项式\(A\)的最高次的非零系数是\(a_k\),那么这个多项式的次数就是\(k\)
记作\(degree(A)=k\)

举个例子:
\(A(x)=10x^3+8x^2-2\)
\(degree(A)=3\)

次数界就是次数的上界,相当于是给定的次数范围。
任何一个大于多项式次数的整数都可以作为这个多项式的次数界。

即你不需要次数真的卡在上界上,次数可以小于次数界。

如上的多项式次数界可以是任何一个大于等于\(4\)的整数。

多项式加法

和初中的多项式加法一样,直接合并同类项就可以。

两个次数界为\(n\)的多项式相加的多项式次数界也为\(n\)

\(A(x)=\sum\limits_i=0^n-1a_ix^i\)
\(B(x)=\sum\limits_i=0^n-1b_ix^i\)
\(C(x)=A(x)+B(x)\)
\(C(x)=\sum\limits_i=0^n-1(a_i+b_i)x^i\)

注:次数界不同肯定是能加能乘的,相当于高次的系数是0。

多项式乘法

和初中的多项式乘法一样,直接一个一个分别乘进去再合并同类项就可以。

两个次数界为\(n\)的多项式乘出来是一个次数界为\(2n-1\)的多项式,因为假设两个多项式的次数都是\(n-1\),能乘出来的最大次数为\(2n-2\),次数界为\(2n-1\)

可以看出来多项式乘法是一个卷积。

\(A(x)=\sum\limits_i=0^n-1a_ix^i\)
\(B(x)=\sum\limits_i=0^n-1b_ix^i\)
\(C(x)=A(x)B(x)\)

\(C(x)=\sum\limits_i=0^2n-2x_i\sum\limits_k=0^ia_kb_i-k\)

此时
\(degree(C)=degree(A)+degree(B)\)

多项式的系数表达

把多项式的系数写成一个\(n\)维系数向量。
\((a_0,a_1,a_2,...,a_n-1)\)

此时多项式乘法就是一个卷积了。

卷积满足交换律,结合律,分配律。
这个显然,要不然从初中建立的数学体系就崩塌了。

多项式的点值表达

随便取\(n\)(\(n\)为次数界)个不同的\(x\),记为\(x_i\),\(y_i=A(x_i)\)
于是形成了\(n\)个点。

两个多项式如果为取同样\(x_i\)的点值表达,那么这两个多项式的乘法是\(O(n)\)的。

显然只需要将\(y_i\)乘起来就可以了。
当然为了确定乘出来的多项式要乘\(2n-1\)项。

插值多项式唯一性定理

\(n\)个点的点值表达唯一确定一个次数界为\(n\)的多项式。
显然?
把这么多点带进去可以得到一个n元n次方程组。
它是可以解出来的。

求值

就是把一些数带到多项式里面求一下值。
也就是说把系数表达转化为点值表达。
暴力是\(O(n^2)\)

插值

把点值表达再变回系数表达。
暴力也是\(O(n^2)\)的。

拉格朗日插值

复数

并不知道为什么会有人想出来这种奇怪的东西。
高考也要学。

复数可以表示为\(a+bi\)
其中\(i\)是虚数单位。
\(i^2=-1,\sqrt-1=i\)

可以画在一个坐标系里,就像是向量一样。

但是和向量运算稍有不同

复数加法

直接加,合并同类项。

复数减法

同上

复数乘法

直接乘,然后合并。
\[(a+bi)(c+di)=ac+adi+cbi+bdi^2\]
\[=(ac-bd)+(ad+cb)i\]

复数和实数的乘除

直接乘就完了。

复数的三角函数表示

因为复数是可以画在坐标轴里的。
所以可以用三角函数表示。

设一个复数的模长为\(R\),且这个复数与\(x\)轴的夹角为\(\alpha\)那么这个复数可以表示为\(R(\cos\alpha+\sin\alpha i)\)

复数乘法在坐标系中的表示

以一个模长为1的复数的平方为例。
\((\cos\alpha+\sin\alpha i)^2=\cos^2\alpha+2\sin\alpha\cos\alpha i-\sin^2\alpha\)
然后用一些三角函数的公式。
\(\cos^2\alpha+2\sin\alpha\cos\alpha i-\sin^2\alpha=\cos2\alpha+\sin2\alpha\)
发现它刚好是一个二倍角。

再举一个一般情况,这种情况正确就可以推到所有情况。
\((\cos\alpha+\sin\alpha i)(\cos\theta+\sin\theta i)\)
\(=\cos\alpha\cos\theta+\sin\alpha\cos\theta i+\cos\alpha\sin\theta i-\sin\alpha\sin\theta\)
\(=\cos(\alpha+\theta)+\sin(\alpha+\theta)i\)

所以我们可以得到一个结论,复数乘法相当于是在坐标轴中旋转。

以上是关于多项式初步的主要内容,如果未能解决你的问题,请参考以下文章

多项式中步

面向对象第一单元总结

「关于张博航提到的筛法的理解」——一种处理关于$p$成多项式的数论函数筛法

快速傅立叶变换(FFT)相关内容汇总

快速傅里叶变换FFT及其延伸(只是一个引导)

快速傅里叶变换FFT及其延伸(只是一个引导)