在Python3中从奇异值分解重构矩阵 [英] Reconstructing a matrix from an SVD in python 3
本文介绍了在Python3中从奇异值分解重构矩阵的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
推荐答案
唯一稍微有点棘手的是s
如果您已经安装了scipy
它有scipy.linalg.diagsvd
可以为您完成此操作:
>>> import numpy as np
>>> import scipy.linalg as la
>>>
>>> rng = np.random.default_rng()
>>> A = rng.uniform(-1,1,(4,3))
>>> u,s,v = np.linalg.svd(A)
>>>
>>> B = u@la.diagsvd(s,*A.shape)@v
>>>
>>> np.allclose(A,B)
True
这篇关于在Python3中从奇异值分解重构矩阵的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文