- 注册时间
- 2013-9-24
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 947
- 在线时间
- 小时
|
发表于 2014-3-26 15:44:45
|
显示全部楼层
mathe在https://oeis.org/A159257中提到:
“Let f(k, 2x) be the Chebyshev Polynomial of the Second Kind in Limit Field F_2. So f(0,x)=1, f(1,x)=x, f(2,x)=(1+x)^2, f(n+1,x)=x*f(n,x)+f(n-1,x). The order of gcd(f(n,x), f(n, 1+x)) is this sequence. For example, f(5,x)=x^5+x=x(1+x)^4. f(5, 1+x)=x^4(1+x). So the GCD of them is x(1+x) and the order is 2. So the 5th element of the array is 2. - Du, Zhao Hui, Mar 17 2014”
而上面附件pdf中第3页提到的“(多项式d 和M 的特征多项式相关,是有名字的,呵呵)。”中d的名字就是“the Chebyshev Polynomial of the Second Kind in Limit Field F_2”。
下面代码中对639的操作如下图,而那第一行右面长长的空白部分,就是mathe提到的2^h的自由度。我想mathe的代码会比M快很多。呵呵。
- cc[n_] := Module[{ds, sds, x, dn, sdn, ta, tb, a, b, ib, ms, m0, ans, js}, ds = {1, x}; sds = {1, 1 + x};
- Do[AppendTo[ds, PolynomialMod[x ds[[-1]] + ds[[-2]], 2]]; AppendTo[sds, PolynomialMod[Last[sds] + Last[ds], 2]];, {n - 1}];
- dn = ds /. x -> 2; sdn = sds /. x -> 2; ta = Reverse[IntegerDigits[dn[[n + 1]], 2]]; tb = Append[Reverse[IntegerDigits[sdn[[n]], 2]], 0];
- a = Table[0, {n}, {n}]; b = Table[0, {n}]; ib = Table[1, {n}]; ms = IdentityMatrix[n]; m0 = Table[If[Abs[i - j] <= 1, 1, 0], {i, n}, {j, n}];
- Do[If[ta[[i]] == 1, a = Mod[a + ms, 2]]; If[tb[[i]] == 1, b = Mod[b + ms.ib, 2]]; ms = Mod[ms.m0, 2], {i, n + 1}];
- ans = LinearSolve[a, b, Modulus -> 2]; js = {ans, 1 - Mod[m0.ans, 2]};
- Do[AppendTo[js, 1 - Mod[js[[-1]] + Append[Rest[js[[-1]]], 0] + Prepend[Most[js[[-1]]], 0] + js[[-2]], 2]];, {n - 2}]; js];
- cc[639] // MatrixPlot
复制代码
|
-
cc[639]
评分
-
查看全部评分
|