【发布时间】:2020-01-26 06:43:36
【问题描述】:
嗨,所以基本上我的问题是我有一个矩阵,我已经 SVD 分解并将它放在变量 u、s 和 v 中。我对 s 矩阵进行了一些更改以使其成为对角线,以及改变了一些数字。现在,我基本上是在尝试将它从 3 个矩阵重建为一个常规矩阵,然后再返回到原始矩阵。有谁知道这样做的任何功能?我似乎在 numpy 中找不到任何这样的例子。
【问题讨论】:
-
这只是一个矩阵乘法,你可以在维基百科中找到,
s是对角线,你的意思是你做了一些改变来“使它”对角线? -
如果您曾经在 python 3 中使用过 numpy,您可能知道当您使用 SVD 函数时,它会将 sigma 矩阵输出为仅包含对角线值的一维数组。所以我不得不把它改成一个对角矩阵,也就是一个二维矩阵,而且我也在做一个低秩近似,所以我做了一个不同的对角矩阵,我将用它来创建第二个矩阵。所以我想知道是否有一个函数可以从 SVD 组件重建矩阵
-
所以你的修改只是
np.diagonal(s)?第二部分只是带有索引的矩阵乘法
标签: python-3.x numpy matrix linear-algebra svd