什么叫本原多项式?
一个n次不可约多项式,如果只能整除1+Z^2^n-1而不能整除其它1+Z^L(L<2^n-1),则这种不可约多项式就称为本原多项式。
对于一个n次多项式,其本原多项式一般有若干个。下面将给出的一个算法,是求解在给定任意n值及一个本原多项式的情况下,其余本原多项式的求解方法。该算法的意义在于提供了同一n值情况下若干个可选的本原多项式,这样就允许在构造应用系统时有不同的选择方案。
已知一个n级本原多项式,求解其余的本原多项式按以下步骤进行。
(1)
首先确定n级本原多项式的个数λ(n),λ(n)即是n级本原多项式的个数。
(2)
求出小于2n-1且与2n-1互素的所有正整数,构成一个集合〔Si〕,并重新排序,使〔Si〕中元素从小到大排列。
(3)
排除〔Si〕中不适合的数
*
排除〔Si〕中形如2j(j为正整数)
*
排除〔Si〕中所有同宗的数。即从〔Si〕中从后到前搜索,每取一个数即做2K×Si,直到大于2n-1,然后减去2n-1,用差值在〔Si〕中向前搜索,如果有相同的数则将Si排除,否则保留。再取Si-1按同样过程做一遍,直到S0.
*
排除〔Si〕中有倍数关系的数。即从〔Si〕中从后到前搜索,每取一数即向前查询一遍,最后〔Si〕中剩下的数即为本原抽样数,其个数一定为λ(n)-1。
(4)
根据已知的一个n级本原多项式,为其设置初始状态000…01(n个),求出其M序列{Ai}(长度为2n-1).
(5)
依次从Si中取出本原抽样数,每取出一个抽样数Si,即可求出一个本原多项式:以Si对{Ai}进行抽样,就可产生长度为2n-1的另一M序列{Si},在{Si}中找到形如000…01(n位)的序列段{Mi},并提取包括{Mi}为前n项的2n长度的序列:
Am+0,Am+1,…,Am+n-1,
…
1
Am+n,Am+n+1,…Am+2n-1
X
X
…
X
欲确定的Ci可用下列方程组确定;
C1=Am+n
C2=Am+n+1+C1Am+n
C3=Am+n+2+C1Am+n+1+C2Am+n
两个本原多项式的乘积仍为本原多项式?
是。因为本源多项式是整式。当两个整式相乘的时候,积仍然是整式。 对这些本原多项式的乘积的系数之积为一。所有系数最大公因式为1的多项式。
两个本原多项式的和是本原多项式?
两个本原多项式的和不一定是本原多项式
两个本原多项式g(x)和f(x),令h(x)=g(x)f(x)记作Cs,若h(x)不是本原多项式,则存在当p是素数时p|Cs(s=0,1.成立。
什么是本原多项式?
本原多项式是近世代数中的一个概念,是唯一分解整环上满足所有系数的最大公因数为1的多项式。本原多项式不等于零,与本原多项式相伴的多项式仍为本原多项式。应用:
(1)在MATLAB中,本原多项式可以通过函数primpoly(x)来产生。
(2)在MATLAB中,通过函数gfprimfd(m,min)可以找到一个最小的本原多项式。
本原多项式定义?
本原多项式是近世代数中的一个概念,是唯一分解整环上满足所有系数的最大公因数为1的多项式。本原多项式不等于零,与本原多项式相伴的多项式仍为本原多项式。
应用
1)在MATLAB中,本原多项式可以通过函数primpoly(x)来产生。
2)在MATLAB中,通过函数gfprimfd(m,’min’)可以找到一个最小的本原多项式。