2024-09-14 23:08:59 发布
网友
我有一个矩阵a,我需要计算它的奇异值,将最后一个奇异值设置为0,然后在numpy中重新组合(奇异值清理)。 我这样做:
t4 = np.random.randn(3, 3) u, s, vh = np.linalg.svd(t4, full_matrices=False) s[-1] = 0 t5 = u @ s @ vh
我希望结果是3x3矩阵,但结果似乎是形状的行向量(3,)
你们能建议一下我可能做错了什么吗?谢谢
s以1D数组的形式返回,其项在对角线中,您可以使用diag从中构造矩阵
s
t5 = u @ np.diag(s) @ vh
s
以1D数组的形式返回,其项在对角线中,您可以使用diag从中构造矩阵相关问题 更多 >
编程相关推荐