我想知道如何生成满秩矩阵(m x m),给定m。 其中每行只有3个元素' 1'和' 0'别处。 例如:给定m = 5:
1 1 1 0 0
1 1 0 1 0
1 1 0 0 1
1 0 1 1 0
0 1 1 1 0
提前致谢
答案 0 :(得分:2)
如果有任何这样的矩阵,例如:
row = ([ 1, 1, 1 ] + [ 0 ] * (m - 3)) * 2
A = [ row[i:m + i] for i in range(m, 0, -1) ]
这将执行类似
的矩阵[[1, 1, 1, 0, 0],
[0, 1, 1, 1, 0],
[0, 0, 1, 1, 1],
[1, 0, 0, 1, 1],
[1, 1, 0, 0, 1]]
并且会rank(A) = m
提供m > 3
;对角线和它右边的2个元素(在底部旋转)设置为1
。虽然IANAM,因此可逆性的证明=非奇异性=满级被留作OP的练习。