2016-03-21 42 views
0

我使用Python庫numpy的來計算矩陣替代因式分解使得DET(U)= DET(V)=​​ 1

import numpy 
E = numpy.array([[ -1.53796077e-07, -8.32829326e-06, 1.20315886e-02] 
        [ 9.99043253e-06, 5.28004707e-07, 1.42958076e-01] 
        [ -1.70318163e-02, -1.43960577e-01, 1.00000000e+00]]) 
U, Z, V = numpy.linalg.svd(E) 
print "det(U) =", det(U) 
print "det(V) =", det(V) 

我得到的SVD U,Z,V,使得:

det(U) = 1 
det(V) = -1 

是否有可能找到一種替代因式分解爲其中兩個U,V是在SO(3),使得

det(U) = 1 
det(V) = 1 

如果這是可能的:

如何找到任意矩陣E的這種因子?

回答

0

你可以簡單地乘以V和Z -1*np.eye(3)

+0

好的謝謝你非常mutch!有用 –