使用高斯消除乔丹二进制矩阵转换为所有零矩阵

5视图(30天)
你好,
考虑我有二进制矩阵。我想用高斯乔丹消除我的部分矩阵转换为零。下面是我找的一个佐证
% * * * * *所有“+”对应于XOR操作0 + 0 = 0;1 + 0 = 1;0 + 1 = 1;1 + 1 = 0;* * * * * %
一个b c d f | | e g h i j k l
- - - - - - - - - - | | - - - - - - - - - - - - - - - - - - - - |
1 1 0 0 0 | 1 | 1 0 1 0 1 0 | R1
0 1 1 1 | 1 | 0 1 0 0 1 0 | R2
0 0 1 1 | 1 | 1 0 1 1 0 0 | R3
0 0 0 0 1 | 1 | 1 1 0 1 0 1 | R4
- - - - - - - - - - | | - - - - - - - - - - - - - - - - - - - - |
1 1 0 0 | 0 | | R5 0 1 1 0 0 1
1 0 1 0 | 1 | 0 0 0 1 1 1 | R6
% \]/
| |
\ /
%认为我
%想要
%转换
%这
%所有零
R5 = R1 + R5
1 1 0 0 0 1 1 0 1 0 1 0
+ 1 1 0 0 1 0 0 1 1 0 0 1
- - - - - - - - - - - - - - - - - - - - - - - -
R5 = 0 0 0 0 1 1 1 1 0 0 1 1
- - - - - - - - - - - - - - - - - - - - - - - -
现在我们为连续工作6。
Ans = R1 + R6
1 1 0 0 0 1 1 0 1 0 1 0
+ 1 0 1 0 1 0 0 0 0 1 1 1
- - - - - - - - - - - - - - - - - - - - - - - -
Ans = 0 1 1 0 1 1 1 0 1 1 0 1
- - - - - - - - - - - - - - - - - - - - - - - -
Ans1 = R2 +答
0 1 1 1 0 1 0 1 0 0 1 0
+ 0 1 1 0 1 1 1 0 1 1 0 1
- - - - - - - - - - - - - - - - - - - - - - - -
Ans1 = 0 0 0 1 1 0 1 1 1 1 1 1
- - - - - - - - - - - - - - - - - - - - - - - -
Ans2 = R4 + Ans1
0 0 0 1 0 1 1 1 0 1 0 1
+ 0 0 0 1 1 0 1 1 1 1 1 1
- - - - - - - - - - - - - - - - - - - - - - - -
Ans2 = 0 0 0 0 1 1 0 0 1 0 1 0
- - - - - - - - - - - - - - - - - - - - - - - -
最后矩阵是
一个b c d f | | e g h i j k l
- - - - - - - - - - | | - - - - - - - - - - - - - - - - - - - - |
1 1 0 0 0 | 1 | 1 0 1 0 1 0 | R1
0 1 1 1 | 1 | 0 1 0 0 1 0 | R2
0 0 1 1 | 1 | 1 0 1 1 0 0 | R3
0 0 0 0 1 | 1 | 1 1 0 1 0 1 | R4
- - - - - - - - - - | | - - - - - - - - - - - - - - - - - - - - |
0 0 0 0 | 1 | 1 1 0 0 1 1 | R5
0 0 0 0 1 | 1 | 0 0 1 0 1 0 | R6
% \]/
| |
\ /
%转换
%为所有
%零矩阵
用手它可能是一个基本操作方便。但它失控时,我想这个过程自动化。它失控的时候我想创建一个全面的代码,可以工作在任何(麦根)矩阵。甚至不想象怎么做这个93 x155矩阵(也就是我)。
一个优点是,上面的矩阵部分我想把零永远是一个下三角矩阵。所以答案是可能的。
但是,这是一个问题。如果有人的学者、专业人士能帮我在这一点上,就好了。提前谢谢。
3评论

登录置评。

接受的答案

詹姆斯Tursa
詹姆斯Tursa 2021年1月27日
编辑:詹姆斯Tursa 2021年1月27日
这是代码,实现你们所直接算法。输入n是已知的规模上三角块在左上角。下面的代码然后零块。
函数B = zeroblock (n)
U = (1: n, 1: n);
如果(任何(任何(下三角阵(U, 1))) | |任何(诊断接头(U) = = 0))
错误(左上角NxN块不是满秩上三角”);
结束
B =一个;
m =大小(1);
j = 1: n
我= n + 1: m
如果(B) (i, j))
B(我:)= xor (B(我:),B (j,:));
结束
结束
结束
结束
3评论
詹姆斯Tursa
詹姆斯Tursa 2021年1月27日
只是过程在相反的顺序,使用相同的基本算法。索引的微小变化。例如,
函数B = zeroblockr (n)
N =大小(2);
L = (1: n, n n + 1: n);%右上角n * n的块
如果(任何(任何(triu (L, 1))) | |任何(诊断接头(L) = = 0))
错误(右上NxN块不是满秩下三角的);
结束
B =一个;
m =大小(1);
j = n: 1:1
J = + N - N;
我= n + 1: m
如果(B) (i, J))
B(我:)= xor (B(我:),B (j,:));
结束
结束
结束
结束

登录置评。

更多的答案(0)