【python】基于numpy的矩阵奇异值分解
1、假设a是一个m*n的矩阵,对应的奇异值分解是:a=u.v.w那么,u是一个m*m的矩阵,v是一个m*n的对角矩阵(下面将着重介菖霁活裱绍这一点),w是一个n*n的矩阵。比如:a=np.array([[1,2,3],[2,3,9]])u,v,w=np.linalg.svd(a,1,1)u是一个2*2的矩阵,w是一个3*3的矩阵,v比较特殊。

3、此时的v实际上是一个对角矩阵的三个元素,我们需要把v转化为对角矩阵:v=np.diag(v)

5、检验一下:A=np.dot(u,np.dot(v,w))
