在Java中从矩阵中获取所有向量

在Java中从矩阵中获取所有向量,java,matrix,vector,Java,Matrix,Vector,我面临一个小问题,我想得到一些帮助。 问题是我得到了这个控制矩阵H 0000111111111 H = 0111000111222 1012012012012 我被要求获取此代码的所有单词。线性码和分组码理论认为,一个单词V是H*Vt=0(零)的单词,其中Vt被转置为V 目前我确实知道有3^10=59049个可能的单词。这是矩阵的大小,通过将矩阵的主体q通电(在这种情况下,q=3)获得矩阵的尺寸,即列和行 我的问题是我不知道如何生成所有向量(单词),所以H*Vt=0

我面临一个小问题,我想得到一些帮助。 问题是我得到了这个控制矩阵H

      0000111111111
H =   0111000111222
      1012012012012
我被要求获取此代码的所有单词。线性码和分组码理论认为,一个单词V是H*Vt=0(零)的单词,其中Vt被转置为V

目前我确实知道有3^10=59049个可能的单词。这是矩阵的大小,通过将矩阵的主体q通电(在这种情况下,q=3)获得矩阵的尺寸,即列和行

我的问题是我不知道如何生成所有向量(单词),所以H*Vt=0。我如何在Java上做到这一点?使用0,1和2的13-n向量的所有可能组合。我还想知道是否有可能在Java中使用矩阵

[0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,0,0,0,0,0,0,0,1] 
[0,0,0,0,0,0,0,0,0,0,0,1,0]
[0,0,0,0,0,0,0,0,0,0,0,1,1]
.... 
[0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,0,0,0,0,0,0,0,0,0,0,0,2] 
[0,0,0,0,0,0,0,0,0,0,0,2,0]
[0,0,0,0,0,0,0,0,0,0,0,2,2]
....
[0,0,1,1,1,1,1,1,1,1,1,1,1]
[0,1,1,1,1,1,1,1,1,1,1,1,1]
[1,1,1,1,1,1,1,1,1,1,1,1,1]
...
[1,1,2,2,2,2,2,2,2,2,2,2,2]
[1,2,2,2,2,2,2,2,2,2,2,2,2]
[2,2,2,2,2,2,2,2,2,2,2,2,2]
非常感谢你!
我想用一种通用的方式来实现它,我的意思是,不仅是对于这个矩阵,而且对于我可以使用的每个矩阵,你要寻找的基本上是枚举H内核中的所有向量。为了避免重新发明轮子,您需要找到一个支持在有限域上求解线性系统的Java线性代数库(这排除了大多数流行的Java线性代数库)

我在谷歌上搜索了“Java线性代数有限域”,发现了这个库:,它声称支持它

你所要做的就是为H的内核找到一个基础;在此之后,枚举只需在此基础上列出所有线性组合(坐标)


我会选择这个方法,它产生一个具有
generatingSystem()
方法的方法,该方法为您提供了所需的基础。

底层标量场(R?C?Z/3Z?)是什么?所有操作都是模q(在本例中为模3)通过显式枚举所有向量来实现这一点听起来很愚蠢,应该有更简单的方法来解决数学问题。另外,我建议用数学方法来解决这个问题,只有这样,才能将数学算法转化为Java实现。我正在寻找的组合,这通常是作为一个变化和排列包谢谢你分享。读完这本后我会看一看。似乎是我需要的