具有单位向量约束的非线性优化
Non-linear optimization with unit vector constraint
我有一个 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
保留向量长度。
相关文章:
- 空基优化子对象的地址
- 关闭||运算符优化
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 返回值优化:显式移动还是隐式
- 人脸跟踪arduino代码的优化
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 纯函数,为什么没有优化
- 为什么大多数 pair 实现默认不使用压缩(空基优化)?
- 如何以优化的方式同时迭代两个间距不相等的数组
- 小字符串优化(调试与发布模式)
- 浮点定向舍入和优化
- Visual Studio 调试优化如何工作?
- 为什么开关的优化方式与 c/c++ 中的链接不同?
- 线性优化目标函数中的绝对值
- GCC 会优化内联访问器吗?
- gcc 如何优化此循环?
- 如何防止 CUDA-GDB 中的<优化输出>值
- 具有单位向量约束的非线性优化
- 如何用Ceres求解大规模非线性优化问题
- 迭代非线性最小二乘优化3d到2d投影