import torch
# 计算转置
a = torch.tensor([[1, 2], [3, 4]], dtype=torch.float32)
print(a)
print(a.t())
# 计算逆矩阵
b = torch.inverse(a)
print(b)
print(a@b)
# 计算trace
print(torch.trace(a))
# 计算范数
print(torch.norm(a, dim=-1, p=1))
# 计算行列式
print(torch.det(a))
# 计算特征值和特征向量
print(torch.eig(a,eigenvectors=True))
#矩阵QR分解, 将一个方阵分解为一个正交矩阵q和上三角矩阵r
#QR分解实际上是对矩阵a实施Schmidt正交化得到q, q为正交矩阵,r为上三角矩阵,a=q@r
q,r = torch.qr(a)
print(q)
print(r)
print(q@r)
#矩阵svd分解
#svd分解可以将任意一个矩阵分解为一个正交矩阵u,一个对角阵s和一个正交矩阵v.t()的乘积
#svd常用于矩阵压缩和降维
u,s,v = torch.svd(a)
print(u)
print(s)
print(v)
print(u@torch.diag(s)@v.t())
```python
pytorch:张量的数学计算
最新推荐文章于 2024-04-05 12:26:06 发布