假设我有一个 n 维正交矩阵,其中一些元素给定,而其他元素未知。是否存在一种有效的算法来找出未知元素并恢复整个矩阵(如果有很多只需要找到一个解决方案,当没有解决方案时会出错)?
谢谢!
假设我有一个 n 维正交矩阵,其中一些元素给定,而其他元素未知。是否存在一种有效的算法来找出未知元素并恢复整个矩阵(如果有很多只需要找到一个解决方案,当没有解决方案时会出错)?
谢谢!
解决方案取决于每行/列缺少多少元素。
1. 每行/列最多缺少 1 个元素
{ a1,a2,a3=??,a4,...,an }
a3=sqrt(1-a1^2-a2^2-a4^2-a5^2-...-an^2)
2. 多于 1 个缺失元素
Inverse(Q)==Transpose(Q)
ifQ
是正交的对所有未知数执行此操作并求解系统
a11 a12 a13
Q = a21 a22=?? a23=??
a31 a32=?? a33=??
a11 a21 a31
transpose(Q) = a12 a22=?? a32=??
a13 a23=?? a33=??
i11 i12 i13
inverse(Q)= i21 i22 i23
i31 i32 i33
det=a11.a22.a33+a21.a32.a13+a31.a12.a23-a11.a32.a23-a31.a22.a13-a21.a12.a33
a22=i22=(a11.a33-a13.a31)/det
a32=i23=(a13.a21-a11.a23)/det
a23=i32=(a12.a31-a11.a32)/det
a33=i33=(a11.a22-a12.a21)/det
这应该是可以解决的...
在计算之前,您应该先检查是否|elements|
不是太大
<=1
3.如果你有元素=1.0