我有一个 3x3 矩阵 E,我正在尝试解决这个优化问题:
|| E * t || = minimum
其中 t 是我正在寻找的解决方案,它必须是单位向量(表示为 3x1 矩阵)。|| x || 表示 x 的欧几里得距离。
有没有图书馆可以帮助我解决这个问题?我在各种库中找到了几个求解函数,但我似乎找不到一个可以让我施加额外约束的函数,即 t 必须是单位向量。那么我可以在没有库的情况下以编程方式解决这个问题吗?
对我来说,这看起来像是一个特征向量类型的问题——你minimum
应该是 的特征值中的最小绝对值E
。
对矩阵 E进行奇异值分解(SVD)(此操作应作为任何好的线性代数库的一部分提供)。这将为您提供 E 的因式分解:
E = U diag V*
其中diag
是具有非负对角线值的对角矩阵,U
和V
是正交的。
找到 的最小对角线元素diag
;的相应行V*
(或列V
)是您的解决方案t
。
这个值t
将是一个单位向量,因为V
它是正交的,并且结果向量E t
将是最小的,因为U
并V
保持向量长度。