scipy.sparse.

bmat#

scipy.sparse.bmat(blocks, format=None, dtype=None)[source]#

從稀疏子區塊建立稀疏陣列或矩陣

注意:block_array 優先於 bmat。它們是相同的函式,除了 bmat 可能會傳回已棄用的稀疏矩陣。bmat 在沒有任何輸入是稀疏陣列的情況下會傳回 coo_matrix。

警告

此函式會傳回稀疏矩陣 – 而非稀疏陣列。 建議您使用 block_array 以利用稀疏陣列的功能。

參數:
blocksarray_like (類陣列)

具有相容形狀的稀疏矩陣網格。 None 的條目表示全零矩陣。

format{‘bsr’, ‘coo’, ‘csc’, ‘csr’, ‘dia’, ‘dok’, ‘lil’}, 選填

結果的稀疏格式 (例如 “csr”)。 預設情況下,會傳回適當的稀疏矩陣格式。 此選擇可能會變更。

dtypedtype, 選填

輸出矩陣的資料型別。 如果未給定,dtype 會從 blocks 的資料型別判斷。

傳回值:
bmat稀疏矩陣或陣列

如果 blocks 中的任何區塊是稀疏陣列,則傳回稀疏陣列。 否則傳回稀疏矩陣。

如果您想要從非稀疏陣列的區塊建立稀疏陣列,請使用 block_array()

另請參閱

block_array

範例

>>> from scipy.sparse import coo_array, bmat
>>> A = coo_array([[1, 2], [3, 4]])
>>> B = coo_array([[5], [6]])
>>> C = coo_array([[7]])
>>> bmat([[A, B], [None, C]]).toarray()
array([[1, 2, 5],
       [3, 4, 6],
       [0, 0, 7]])
>>> bmat([[A, None], [None, C]]).toarray()
array([[1, 2, 0],
       [3, 4, 0],
       [0, 0, 7]])