在python 3中使用numpy创建较低秩矩阵逼近

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

我正在尝试了解如何使用numpy创建较低秩的矩阵近似。我已经用numpy创建了一个二维数组以及该矩阵的SVD。但是我现在想知道的是,我将如何为该矩阵的第2级实例创建一个近似值。如果我正确理解的话,那么将SVD的Sigma数组更改为仅包含2个最大的数字就可以了吗?既然已经订购了,那么除了前两列外,其他所有列都将归零吗?

例如,如果我的数组是这样的

#This is my 2-D array which holds my original values
listA
#This is the SVD of this list
listSVD = np.linalg.svd(listA)
u, s, v = listSVD

现在基本上只是我们的等级2近似将涉及将s中第二列之后的所有列归零,这就是我们的近似值?

python-3.x numpy matrix linear-algebra svd
1个回答
0
投票

Nvm我知道了,所以基本上是的,您只需要将s矩阵中剩余的值归零!

© www.soinside.com 2019 - 2024. All rights reserved.