2017-06-20 147 views
0

我需要使用scipy稀疏構建塊三對角矩陣的幫助。使用scipy.sparse的三角形塊矩陣

我的意思是對方陣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]] 

現在,我想這是編程完成,因爲矩陣的大小可能會有所不同。

謝謝!

回答

1

解決了!

我剛剛將scipy.sparse.bmat與列表解析結合使用。

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') 

其中Bnxn矩陣。

相關問題