scipy.sparse.

block_diag#

scipy.sparse.block_diag(матрицы, формат=None, dtype=None)[источник]#

Построить блочно-диагональную разреженную матрицу или массив из предоставленных матриц.

Параметры:
матрицыпоследовательность матриц или массивов

Входные матрицы или массивы.

форматstr, optional

Разреженный формат результата (например, "csr"). Если не указан, результат возвращается в формате "coo".

dtypeспецификатор dtype, опционально

Тип данных выходного массива. Если не задан, dtype определяется на основе типа данных блоки.

Возвращает:
resразреженная матрица или массив

Если хотя бы один вход является разреженным массивом, выход будет разреженным массивом. В противном случае выход будет разреженной матрицей.

Смотрите также

block_array
diags_array

Примечания

Добавлено в версии 0.11.0.

Примеры

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