我需要使用相应的左右特征向量来计算矩阵的第一个奇异值。 Python中是否有一种方法可以避免计算矩阵的完全奇异值分解,从而提取出最大的奇异值?
答案 0 :(得分:0)
我不太确定我了解您打算获得什么。您是说以下之一吗?
1)如果您只想提取矩阵乘积的第一个值,这对我有用:
Ua,Sa,Va=np.linalg.svd(A) #Changing A for your matrix.
U=Ua[1,0]
S=Sa[0]
V=Va[1,0]
2)另一方面,如果您打算在发现最大奇异值时暂停SVD,则我认为这是不可能的,因为奇异值分解是三个乘积的乘积矩阵,即使您要寻找的是最高的奇异值,SVD也必须完全运行才能获得它。 而且,SV对角矩阵的第一个元素不一定是要计算的第一个元素。