Torch和Numpy之——特殊矩阵

1对角矩阵

输入

import torch
import numpy as np

#numpy实现
a = np.diag([5,6,7])
print(a)

#torch实现
b = torch.diag(torch.tensor([5,6,7]))
print(b)

输出

[[5 0 0]
 [0 6 0]
 [0 0 7]]
tensor([[5, 0, 0],
        [0, 6, 0],
        [0, 0, 7]])

2单位矩阵

输入

import torch
import numpy as np

#numpy实现
a = np.eye(3,4)
print(a)

#torch实现
b = torch.eye(4,5)
print(b)

输出

[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]]
tensor([[1., 0., 0., 0., 0.],
        [0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 0.],
        [0., 0., 0., 1., 0.]])

3下三角矩阵

输入

import torch
import numpy as np

#numpy实现
a = np.tri(3,3)
print(a)

#torch实现
b = torch.tril(torch.ones(4,4))
print(b)

输出

[[1. 0. 0.]
 [1. 1. 0.]
 [1. 1. 1.]]
tensor([[1., 0., 0., 0.],
        [1., 1., 0., 0.],
        [1., 1., 1., 0.],
        [1., 1., 1., 1.]])

4 0,1矩阵

4.1 0矩阵

import torch
import numpy as np

#numpy实现
a = np.zeros((4,3))
print(a)

#torch实现
b = torch.zeros((4,4))
print(b)

输出

[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]
tensor([[0., 0., 0., 0.],
        [0., 0., 0., 0.],
        [0., 0., 0., 0.],
        [0., 0., 0., 0.]])

4.2 1矩阵

输入

#特殊矩阵
#单位矩阵
import torch
import numpy as np

#numpy实现
a = np.ones((4,3))
print(a)

#torch实现
b = torch.ones((4,4))
print(b)

输出

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]
tensor([[1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.],
        [1., 1., 1., 1.]])

 

posted @ 2020-07-22 21:15  前尘•昨夜•此刻  阅读(247)  评论(0)    收藏  举报