使用SVD(U Z V = E)的替代因子分解使得det(U)= det(V)= +1

时间:2016-03-21 18:15:13

标签: python numpy rotation svd factorization

我使用python库numpy来计算矩阵的svd

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)

我得到U,Z,V这样:

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

是否有可能找到U,V在SO(3)中的替代因子分解

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

如果可能:

如何为任意矩阵E找到这样的因子分解?

1 个答案:

答案 0 :(得分:0)

您可以简单地将-1*np.eye(3)

的V和Z相乘