【发布时间】:2015-03-13 11:28:53
【问题描述】:
假设我有一个 n 维正交矩阵,其中一些元素已给出,而其他元素未知。是否存在一种有效的算法来找出未知元素并恢复整个矩阵(如果有很多只需要找到一个解决方案,当没有解决方案时会出错)?
谢谢!
【问题讨论】:
标签: algorithm matrix orthogonal
假设我有一个 n 维正交矩阵,其中一些元素已给出,而其他元素未知。是否存在一种有效的算法来找出未知元素并恢复整个矩阵(如果有很多只需要找到一个解决方案,当没有解决方案时会出错)?
谢谢!
【问题讨论】:
标签: algorithm matrix orthogonal
解决方案取决于每行/列缺少多少元素。
1.每行/列最多缺少 1 个元素
{ a1,a2,a3=??,a4,...,an }
a3=sqrt(1-a1^2-a2^2-a4^2-a5^2-...-an^2)
2。超过 1 个缺失元素
Q 是正交的,那么您可以利用Inverse(Q)==Transpose(Q)
对所有未知数执行此操作并解决系统问题
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.如果你有 element=1.0
【讨论】: