如何将列表列表转换为固定大小的矩阵?

时间:2016-05-06 08:24:00

标签: list matrix wolfram-mathematica

我想创建Hemming Matrix。我刚刚建造了Galois字段,就像乘法组一样。这就是我得到的:

MultiplicativeGroup = DeleteDuplicates[
   NestList[
    PolynomialMod[
      PolynomialMod[(generating*#), irreducablePolynomial], 2] &, 1, 
    n]];

{1,a,a ^ 2,1 + a ^ 2,1 + a + a ^ 2,1 + a,a + a ^ 2}

之后我将其转换为二进制形式,如下所示:

CoefficientList[MultiplicativeGroup, a]

{{1},{0,1},{0,0,1},{1,0,1},{1,1,1},{1,1},{0,1,1 }} 但我坚持将其转换为二进制矩阵形式。它必须看起来像这样:

(0  0   1   1   1   0   1
0   1   0   0   1   1   1
1   0   0   1   1   1   0)

但实际上我不知道该怎么做。我无法转置它或做任何其他事情。你能帮帮我吗?

2 个答案:

答案 0 :(得分:3)

array = {{1}, {0, 1}, {0, 0, 1}, {1, 0, 1}, {1, 1, 1}, {1, 1}, {0, 1, 1}}

PadLeft[#, 3] & /@ Reverse[array, 2] // Transpose
  

enter image description here

答案 1 :(得分:1)

我是这样做的:

generating = a^Mod[(2^m - 1)/n, m];

MultiplicativeGroup = DeleteDuplicates@
   NestList[
    PolynomialMod[
      PolynomialMod[(generating*#), irreducablePolynomial], 2] &, 1, 
    n];

Print[MatrixForm[Reverse[Transpose[CoefficientList[MG, a, m]]]]];