对于有限域Z/(m)内的多项式f(x),其周期T应满足f(x)|x^T-1
我让T从1开始递增,目的是找到使得余式为0的最小的T
有限域求多项式周期代码:
function [T] = Cycle(m,A) %m为有限域的模数,A为多项式系数向量,T为周期返回值
T=1;
a0=A(length(A));
if a0<0
a0=a0+m;
end
b=zeros(1,T+1); %b为x^T-1的系数向量
b(1)=1;
b(T+1)=-1;
[~,r]=deconv(b,A);
a=find(r,length(r));
c=isempty(a);
if isempty(intersect(a0,m))==1
while (c==0)
T=T+1;
b=zeros(1,T+1);
b(1)=1;
b(T+1)=-1;
[~,r]=deconv(b,A);
r=mod(r,m);
a=find(r,length(r));
c=isempty(a);
end
end
end
我的代码当f(x)的系数很大时求得的余式向量中含有NaN错误,小弟觉得是deconv函数的问题.
希望问题可以得到解决.