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.]])