我需要帮助使用scipy稀疏构建块三对角矩阵。
我的意思是方阵B,
我需要创建
[[B I 0 0 0]
[I B I 0 0]
[0 I B I 0]
[0 0 I B I]
[0 0 0 I B]]
现在,我希望以编程方式完成此操作,因为矩阵的大小可能会有所不同。
谢谢!
答案 0 :(得分:3)
解决了!
我刚刚将scipy.sparse.bmat与list comprehensions结合使用。
A = sparse.bmat([[B if i == j else np.eye(n) if abs(i-j)==1
else None for i in range(n)]
for j in range(n)], format='bsr')
其中B
是nxn
矩阵。