mindspore.ops.block_diag
- mindspore.ops.block_diag(*inputs)[source]
Creates a block diagonal matrix from the provided tensor.
- Parameters
inputs (Tensor) – One or more tensors, the dimension of tensor should be 0, 1 or 2.
- Returns
2-D Tensor, with all input tensors arranged in order so that their top left and bottom right corners are diagonally adjacent. All other elements are set to 0.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import mindspore >>> x1 = mindspore.tensor([[4], [3], [2]], mindspore.int32) >>> x2 = mindspore.tensor([7, 6, 5], mindspore.int32) >>> x3 = mindspore.tensor(1, mindspore.int32) >>> x4 = mindspore.tensor([[5, 4, 3], [2, 1, 0]], mindspore.int32) >>> x5 = mindspore.tensor([[8, 7], [7, 8]], mindspore.int32) >>> out = mindspore.ops.block_diag(x1, x2, x3, x4, x5) >>> print(out.asnumpy()) [[4 0 0 0 0 0 0 0 0 0] [3 0 0 0 0 0 0 0 0 0] [2 0 0 0 0 0 0 0 0 0] [0 7 6 5 0 0 0 0 0 0] [0 0 0 0 1 0 0 0 0 0] [0 0 0 0 0 5 4 3 0 0] [0 0 0 0 0 2 1 0 0 0] [0 0 0 0 0 0 0 0 8 7] [0 0 0 0 0 0 0 0 7 8]]