目录

  • 前言
  • 一、问题模型
  • 二、问题求解
    • 1.消除线性约束
    • 2.驻点求解
  • 参考文献

前言

OpenVINS的初始化中,为了解决最终的带约束优化问题,使用了论文A constrained Eigenvalue Problem的结论,本文对此进行简单记录。


一、问题模型

文章针对以下优化问题进行求解:
m i n x T A x s t . N T x = t , x T x = 1 min \quad \mathbf x^T\mathbf A \mathbf x \\ st. \quad\mathbf N^T\mathbf x=\mathbf t,\mathbf x^T\mathbf x=1 minxTAxst.NTx=t,xTx=1
其中 A \mathbf A A为n+m阶对称方阵,极小范数特解|| ( N T ) + t ∣ ∣ < 1 (\mathbf N^T)^{+}\mathbf t||<1 (NT)+t∣∣<1。

二、问题求解

整体目标是减少约束个数,将原模型进行简化。

1.消除线性约束

对于第一个约束,其通解可以表示为:
x = ( N T ) + t + ξ , ξ ∈ N ( N T ) \mathbf x = (\mathbf N^T)^{+}\mathbf t + \xi,\quad \xi \in \mathcal N(\mathbf N^T) x=(NT)+t+ξ,ξ∈N(NT)
如果使用如下的SVD分解:
N T = U Σ V T Σ = [ S m × m 0 m × n ] , V = [ V 1 V 2 ] \mathbf N^T =\mathbf U\mathbf \Sigma \mathbf V^T \\ \mathbf \Sigma=[\mathbf S_{m\times m}\quad \mathbf 0_{m \times n}],\mathbf V=[\mathbf V_1\quad \mathbf V_2] NT=UΣVTΣ=[Sm×m​0m×n​],V=[V1​V2​]
则第一个约束的通解可以表示为:
x = V Σ + U T t + V 2 z \mathbf x = \mathbf V\mathbf \Sigma^{+}\mathbf U^T\mathbf t + \mathbf V_2\mathbf z x=VΣ+UTt+V2​z
z取任意向量。更简单的方式是采用QR分解,也即 N = P [ R m × m 0 n × m ] \mathbf N=\mathbf P\begin{bmatrix} \mathbf R_{m\times m} \\ \mathbf 0_{n\times m}\end{bmatrix} N=P[Rm×m​0n×m​​], P \mathbf P P为正交矩阵。则原问题进一步转化为:
m i n y T B y + 2 z T Γ y + z T C z s t . R T y = t , y T y + z T z = 1 min \quad \mathbf y^T\mathbf B \mathbf y +2\mathbf z^T\mathbf \Gamma\mathbf y+\mathbf z^T\mathbf C\mathbf z \\ st. \quad \mathbf R^T\mathbf y=\mathbf t,\mathbf y^T\mathbf y+\mathbf z^T\mathbf z=1 minyTBy+2zTΓy+zTCzst.RTy=t,yTy+zTz=1
R \mathbf R R和 t \mathbf t t均为已知量,因此 y = R − T t \mathbf y=\mathbf R^{-T}\mathbf t y=R−Tt可求解,再定义 s 2 : = 1 − y T y , b : = − Γ y s^2:=1-\mathbf y^T\mathbf y,\mathbf b:=-\mathbf \Gamma \mathbf y s2:=1−yTy,b:=−Γy,可获得单约束的优化模型:
m i n z T C z − 2 b T z s t . z T z = s 2 min \quad \mathbf z^T\mathbf C\mathbf z-2\mathbf b^T\mathbf z \\ st. \quad \mathbf z^T\mathbf z=s^2 minzTCz−2bTzst.zTz=s2

2.驻点求解

上述问题可以通过拉格朗日乘子法求解,问题进一步转化为:
m i n λ s t . C z = λ z + b , z T z = s 2 min \quad \lambda \\ st. \quad \mathbf C \mathbf z=\lambda \mathbf z+\mathbf b,\mathbf z^T\mathbf z=s^2 minλst.Cz=λz+b,zTz=s2
对于该问题,一种解法是将其转化为Quadratic Eigenvalue问题,改写第一个约束,并利用第二个约束,我们可以定义如下的函数:
f ( λ ) = b T ( C − λ I ) − 2 b − s 2 f(\lambda )=\mathbf b^T(\mathbf C-\lambda \mathbf I)^{-2}\mathbf b-s^2 f(λ)=bT(C−λI)−2b−s2
求其零点就可以获得最终的解。同时我们也可以将待解方程改写为:
( C − λ I ) 2 γ = 1 s 2 b b T γ , γ = ( C − λ I ) − 2 b (\mathbf C-\lambda \mathbf I)^2\gamma=\frac{1}{s^2}\mathbf b\mathbf b^T\gamma,\gamma=(C-\lambda \mathbf I)^{-2}\mathbf b (C−λI)2γ=s21​bbTγ,γ=(C−λI)−2b
这一解法被OpenVINS采用,但是由于解集的扩大,最终的解需要和原方程比对。文章定理5.1证明了该方程存在满足拉格朗日方程的解。

参考文献

[1] A Constrained Eigenvalue Problem
[2] OpenVINS State Initialization: Details and Derivations

A constrained Eigenvalue Problem翻译相关推荐

  1. python code for solving eigenvalue problem by Jacobi’s method的代码

    将开发过程比较重要的代码段收藏起来,如下的代码段是关于python code for solving eigenvalue problem by Jacobi's method的代码. ''' lam ...

  2. Nonlinear Component Analysis as a Kernel Eigenvalue Problem

    文章目录 引 kernel PCA kernel 的选择 多项式核 高斯核函数 性质 一些问题 中心化 恢复 代码 Scholkopf B, Smola A J, Muller K, et al. N ...

  3. (转)The C10K problem翻译

    The C10K problem 如今的web服务器需要同时处理一万个以上的客户端了,难道不是吗?毕竟如今的网络是个big place了. 现在的计算机也很强大了,你只需要花大概$1200就可以买一个 ...

  4. The C10K problem翻译

    如今的web服务器需要同时处理一万个以上的客户端了,难道不是吗?毕竟如今的网络是个big place了. 现在的计算机也很强大了,你只需要花大概$1200就可以买一个1000MHz的处理器,2G的内存 ...

  5. 【转】The C10K problem翻译

    引用地址:http://blog.csdn.net/typename/article/details/5598145 . 如今的web服务器需要同时处理一万个以上的客户端了,难道不是吗?毕竟如今的网络 ...

  6. [转]The C10K problem翻译

    转载自:http://www.cnblogs.com/fll/archive/2008/05/17/1201540.html 如今的web服务器需要同时处理一万个以上的客户端了,难道不是吗?毕竟如今的 ...

  7. SGU 111 Very simple problem 翻译 题解

    111. Very simple problem 每个测试点时间限制: 0.50 sec.  每个测试点内存限制: 4096 KB 给你一个自然数X,输出平方小于或等于X的最大整数. 输入 输入包含一 ...

  8. LEARN TO DESIGN THE HEURISTICS FOR VEHICLE ROUTING PROBLEM翻译

    摘要 本文提出了一种学习局部搜索启发式方法的方法,该方法可迭代改进车辆路由问题 (VRP) 的解决方案. 局部搜索启发式算法由破坏候选解的破坏算子和将被破坏的解重建为新解的后续修复算子组成. 所提出的 ...

  9. 【论文翻译】:Nonlinear Dimensionality Reduction by Locally Linear Embedding

    [论文题目]:Nonlinear Dimensionality Reduction by Locally Linear Embedding [论文来源]:Nonlinear Dimensionalit ...

最新文章

  1. CentOS 6.3 编译安装 Nginx(含:管理脚本)
  2. php 图片印章_PHP实现中文圆形印章特效_PHP
  3. 《统计学》学习笔记之方差分析
  4. CCCC L1-002. 打印沙漏【图形打印】
  5. 关注!部分高校公布暑假时间,暑假将弹性调整?
  6. php安装mongo扩展,php安装mongo扩展和mongodb扩展
  7. php列表调多图,列表中调用多图显示的文章
  8. 自由响应和强迫响应和零输入零状态_零偏移有源低通滤波器,第1部分
  9. 程序员如何探索新技术
  10. python显示时间_python日期时间处理总结
  11. jsonrpc java_jsonrpc环境搭建和简单实例
  12. 机器学习识别电子数字-制作字体文件
  13. Typora使用教程
  14. 企业财务报表分析【1】
  15. 数据分析处理快速上手教程matplotlib+numpy+pandas(基础讲解)
  16. 千兆网线交叉线接法(有图)
  17. 反锐化掩膜_带噪声抑制的反锐化掩模图像增强算法
  18. 自考大专计算机专业英语翻译,大专英语自考(上册)课文翻译及习题答案(138页)-原创力文档...
  19. C#操作三菱FX系列PLC数据
  20. 8421码、5421码、2421码及余三码

热门文章

  1. 无法打开JFrame窗口
  2. dsp调音一次多少钱_dsp调音技巧
  3. 直接内存 直接内存的释放和回收
  4. Nexus Windows中搭建Nexus仓库
  5. 教育培训python
  6. autograd-自动求导系统
  7. Java解析Xml的三种方式总结
  8. Evm链原生代币转账
  9. Python+Wind:用Pyautogui轻松下载Wind数据
  10. python实现次梯度(subgradient)和近端梯度下降法 (proximal gradient descent)方法求解L1正则化