在Python中重建SVD

时间:2015-10-26 04:02:34

标签: python numpy svd

我正在寻找使用Numpy在Python中执行SVD。以Wikipedia页面

为例
from numpy.linalg import svd
import numpy as np

M = np.array([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])
u, s, v = svd(M)

如果我尝试从Mus重建v,我需要做的第一件事就是从{{创建sigma,即协方差矩阵1}}。

s

然而,这产生了一个4x4矩阵,而不是我期望的SVD的4x5矩阵。

是否有一种简单的方法(即检查sigma = np.diag(s) print(sigma) [[ 4. 0. 0. 0. ] [ 0. 3. 0. 0. ] [ 0. 0. 2.23606798 0. ] [ 0. 0. 0. 0. ]] 的形状,形状M,然后使用shstack)来创建$ \ Sigma $并重建vstack

0 个答案:

没有答案