矩阵与其转置矩阵的乘法不是对称的

问题描述 投票:0回答:0

我想使用下面的代码计算一批特征向量的协方差矩阵(这里用 torch.randn 代替):

import torch

a = torch.randn(64, 512)
cov_mat = (a.T @ a) / (a.size(0) - 1)

生成的 cov_mat 是对称的半正定的。所以我通过添加

cov_mat = (cov_mat + cov_mat.T) / 2

来更改上面的子句

现在协方差矩阵是对称的,但仍然不是半正定的。我试过 torch.mm 但还是没用。跟精度有关系吗?

这里是具体版本:
蟒蛇3.7
PyTorch 1.8.1

python pytorch matrix-multiplication
© www.soinside.com 2019 - 2024. All rights reserved.