Raz*_*zvi 5 java vector matrix
我面临一个小问题,我想得到一些帮助.事情是我给了这个控制矩阵H.
0000111111111
H = 0111000111222
1012012012012
Run Code Online (Sandbox Code Playgroud)
我被要求获取此代码的所有单词.线性和块码的理论说,字V是H*Vt = 0(零)的字,其中Vt被转置为V.
目前我知道有3 ^ 10 = 59049个可能的单词.这是矩阵的大小,该矩阵的大小是通过在这种情况下将矩阵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]
Run Code Online (Sandbox Code Playgroud)
非常感谢! 我想以一般的方式实现它,我的意思是,不仅对于这个矩阵,而且对于我可以使用的每个矩阵
您要寻找的基本上是枚举 H 内核中的所有向量。为了避免重新发明轮子,您需要找到一个支持在有限域上求解线性系统的 Java 线性代数库(这排除了大多数流行的线性代数库) Java 线性代数库)。
我用谷歌搜索“Java线性代数有限域”并找到了这个库:JLinAlg,它声称支持它。
你所要做的就是找到H内核的基础;之后,枚举就是简单地列出在此基础上的所有线性组合(坐标)。
我会选择该org.jlinalg.LinSysSolver#solutionSpace()方法,该方法会产生一个AffineSubSpace,该方法具有generatingSystem()为您提供所需基础的方法。
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |