使用 SVD (U Z V = E) 的替代因式分解使得 det(U) = det(V) = +1
Alternative Factorization using SVD (U Z V = E) such that det(U) = det(V) = +1
我正在使用 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 找到这样的因式分解?
您可以简单地将 V 和 Z 相乘得到 -1*np.eye(3)
我正在使用 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 找到这样的因式分解?
您可以简单地将 V 和 Z 相乘得到 -1*np.eye(3)