我正在尝试制作一个特殊的对角矩阵,如下所示:
[[1,1,0,0,0,0],
[0,0,1,1,0,0],
[0,0,0,0,1,1]]
它与这里的问题略有不同:Make special diagonal matrix in Numpy
我尝试调整解决方案,但无法完全解决。 感谢有关如何有效实现此目标的建议。
答案 0 :(得分:0)
不像注释中那样优雅,但:
a=4 # number of rows
b=a*2 #number of columns
np.array((([1]*2+[0]*b)*a)[:-b]).reshape(a,b)
array([[1, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 1]])
适用于任何a
。