mindspore.ops.block_diag
- mindspore.ops.block_diag(*inputs)[源代码]
基于输入Tensor创建块对角矩阵。
- 参数:
inputs (Tensor) - 输入为一个或者多个Tensors,Tensor的维度应该为0、1或2。
- 返回:
Tensor,二维矩阵。所有输入Tensor按顺序排列,使其左上角和右下角对角线相邻,其他所有元素都置零。
- 异常:
TypeError - 输入不是Tensor。
ValueError - 输入Tensor维度不为0、1或2。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> from mindspore import Tensor, ops >>> from mindspore import dtype as mstype >>> x1 = Tensor([[4], [3], [2]], mstype.int32) >>> x2 = Tensor([7, 6, 5], mstype.int32) >>> x3 = Tensor(1, mstype.int32) >>> x4 = Tensor([[5, 4, 3], [2, 1, 0]], mstype.int32) >>> x5 = Tensor([[8, 7], [7, 8]], mstype.int32) >>> out = 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]]