广义西尔维斯特方程的求解
广义西尔维斯特方程的求解
常见的西尔维斯特方程
西尔维斯特方程
\[ \mathbf{AX}+\mathbf{XD} = \mathbf{E} \]
广义西尔维斯特方程
\[ \mathbf{AXB}+\mathbf{CXD} = \mathbf{E} \]
式中\(\mathbf{X}\in \mathbb{R}^{n\times r}\), \(\mathbf{A}\in \mathbb{R}^{m\times n}\), \(\mathbf{B}\in \mathbb{R}^{r\times p}\), \(\mathbf{C}\in \mathbb{R}^{m\times n}\), \(\mathbf{D}\in \mathbb{R}^{r\times p}\), \(\mathbf{E}\in \mathbb{R}^{m\times p}\)。
Stein矩阵方程
\[ \mathbf{AXB}+\mathbf{X} = \mathbf{E} \]
Lyapunov 矩阵方程
\[ \mathbf{AX}+\mathbf{XA^T}=\mathbf{E} \]
求解广义西尔维斯特方程
- 使用闭式解
- 使用牛顿法或者共轭梯度法
使用ADMM求解广义西尔维斯特方程
\[ \begin{cases} \mathbf{AXB}+\mathbf{CXD}=\mathbf{E} \\ \mathbf{AXB}+\mathbf{CXD}=\mathbf{E} \end{cases} \]
移项构造同解方程组
\[ \begin{cases} \mathbf{AXB}=\mathbf{E}-\mathbf{CXD} \\ \mathbf{CXD}=\mathbf{E}-\mathbf{AXB} \end{cases} \]
令
\[ \begin{cases} \mathbf{E}_1=\mathbf{E}-\mathbf{CXD} \\ \mathbf{E}_2=\mathbf{E}-\mathbf{AXB} \end{cases} \]
可以得到
\[ \begin{cases} \mathbf{AXB}=\mathbf{E}_1 \\ \mathbf{CXD}=\mathbf{E}_2 \end{cases} \]
上两个方程组是同解方程组因此两个\(\mathbf{X}\)拥有相同的解,因此可以写为
\[ \begin{cases} \mathbf{AX_1B}=\mathbf{E}_1 \\ \mathbf{CX_2D}=\mathbf{E}_2 \end{cases} \]
先求解\(\mathbf{AX_1B}=\mathbf{E}_1\)
\[ \begin{aligned} \min_{\mathbf{X}_1, \mathbf{Z}_1} & \quad \frac{1}{2} \left\| \mathbf{Z_1B-E_1} \right\|_F^2 \\\\ \text{s.t.} & \quad \mathbf{Z}_1 = \mathbf{AX}_1 \end{aligned} \]
利用ADMM可以得到
\[ \begin{aligned} \mathbf{Z}_1 &= \left((\mathbf{E-CX_2D})\mathbf{B}^T+\eta\mathbf{AX_1-Q_1}\right)\left(\mathbf{BB}^T+\eta\mathbf{I}\right)^{-1} \\\\ \mathbf{X}_1 &= \left(\eta\mathbf{A^TA}\right)^{-1}\left(\mathbf{A^TQ_1}+\eta\mathbf{A^TZ_1}\right) \\\\ \mathbf{Q_1} &= \mathbf{Q_1} + \eta\left(\mathbf{Z}_1-\mathbf{AX_1}\right) \end{aligned} \]
同样的对\(\mathbf{CX_2D}=\mathbf{E}_2\)使用ADMM求解有
\[ \begin{aligned} \min_{\mathbf{X}_2, \mathbf{Z}_2} & \quad \frac{1}{2} \left\| \mathbf{Z_2D-E_2} \right\|_F^2 \\\\ \text{s.t.} & \quad \mathbf{Z}_2 = \mathbf{CX}_2 \end{aligned} \]
利用ADMM可以得到
\[ \begin{align} \mathbf{Z}_2 &= \left((\mathbf{E-AX_1B})\mathbf{D}^T+\eta\mathbf{CX_2-Q_2}\right)\left(\mathbf{DD}^T+\eta\mathbf{I}\right)^{-1} \\\\ \mathbf{X}_2 &= \left(\eta\mathbf{C^TC}\right)^{-1}\left(\mathbf{C^TQ_2}+\eta\mathbf{C^TZ_2}\right) \\\\ \mathbf{Q_2} &= \mathbf{Q_2} + \eta\left(\mathbf{Z}_2-\mathbf{CX_2}\right) \end{align} \]
对公式(2)和公式(4)依次迭代可以得到最终的\(\mathbf{X}_1\)和\(\mathbf{X}_2\) 最后:
\[ \mathbf{X} = \eta\mathbf{X}_1+(1-\eta)\mathbf{X}_2 \]
其中\(\eta>0\)。