你好,基本上我的问题是我有一个矩阵,我已经对其进行了 SVD 分解,并将其放入变量 u、s 和 v 中。我对 s 矩阵进行了一些更改,使其成为对角线,并更改了一些号码。现在我基本上试图将它从 3 个矩阵重建为一个规则矩阵,然后返回到原始矩阵。有谁知道有什么函数可以做到这一点吗?我似乎在 numpy 中找不到任何这样的例子。
唯一有点棘手的地方是“扩展”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 = [email protected](s,*A.shape)@v
>>>
>>> np.allclose(A,B)
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)