【无标题】

python矩阵主对角线赋值

  • python矩阵主对角线赋值

python矩阵主对角线赋值

我需要将矩阵的主对角线赋值为0,因为我一般使用的是torch,我就以torch举例了。
就不考究numpy之类的怎么做了,只是提供了个思路

import torch
a=torch.rand(3,3)
print(a)

tensor([[0.4595, 0.6957, 0.1732],
        [0.6339, 0.2360, 0.3972],
        [0.4451, 0.2389, 0.7711]])
#发现a.diag()直接可以访问主对角元素
print(a.diag())#tensor([0.4595, 0.2360, 0.7711])
#因此简单的运算
a=a-torch.diag(a.diag())
print(a)
tensor([[0.0000, 0.6957, 0.1732],
        [0.6339, 0.0000, 0.3972],
        [0.4451, 0.2389, 0.0000]])

你可能感兴趣的:(python,numpy,深度学习)