Python 使用SVD(U Z V=E)的替代因子分解,使得det(U)=det(V)=&x2B;1.
我正在使用python库numpy来计算矩阵的奇异值分解Python 使用SVD(U Z V=E)的替代因子分解,使得det(U)=det(V)=&x2B;1.,python,numpy,rotation,svd,factorization,Python,Numpy,Rotation,Svd,Factorization,我正在使用python库numpy来计算矩阵的奇异值分解 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.000
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找到这样的因式分解?你可以简单地将V和Z乘以
-1*np.eye(3)