CS 分解
将学习到什么
CS 分解是分划的酉矩阵在分划的酉等价之下的标准型. 它的证明涉及奇异值分解、QR 分解以及一个简单习题.
一个直观的习题
设 \(\Gamma, L \in M_p\). 假设 \(\Gamma = \mathrm{diag}(\gamma_1,\cdots, \gamma_p)\), 其中 \(0 \leqslant \gamma_1 \leqslant \cdots \leqslant \gamma_p \leqslant 1\), \(L=[\ell_{ij}]\) 是下三角的, 则
\begin{align}
\begin{bmatrix} \Gamma & L & 0\end{bmatrix}=\begin{bmatrix} \gamma_1 & &&& \ell_{11} & & & 0 & 0 & & & 0 \\
& \gamma_2 &&& \ell_{21} & \ell_{22} & & & & \ddots & & \\
& & \ddots & & \vdots & \vdots & \ddots & & & & \ddots & \\
& & & \gamma_p & \ell_{p1} & \ell_{p2} & \cdots & \ell_{pp} & 0 & & & 0 \end{bmatrix} \in M_{p,2p+k}
\end{align}
如果 \([\Gamma \quad L \quad 0]\) 的行是标准正交的,我们断定 \(L\) 是对角的, \(L=\mathrm{diag}(\lambda_1,\cdots , \lambda_p)\), 且 \(\lvert \lambda_j \rvert ^2 = 1-\gamma_j^2,\,\,j=1,\cdots,p\). 即
\begin{align}
\begin{bmatrix} \Gamma & L & 0\end{bmatrix}=\begin{bmatrix} \gamma_1 & &&& \lambda_1 & & & & 0 & & & 0 \\
& \gamma_2 &&& & \lambda_2 & & & & \ddots & & \\
& & \ddots & & & & \ddots & & & & \ddots & \\
& & & \gamma_p & & & & \lambda_p & 0 & & & 0 \end{bmatrix}
\end{align}
对行着手去做,证明很直观.
CS 分解定理
定理(CS 分解): 设 \(p,q\) 与 \(n\) 是给定的整数,其中 \(1<p \leqslant q < n\) 且 \(p+q =n\). 设 \(U= \begin{bmatrix} U_{11} & U_{12} \\ U_{21} & U_{22} \end{bmatrix} \in M_n\) 是酉矩阵,其中 \(U_{11} \in M_p\) 且 \(U_{22} \in M_q\). 则存在酉矩阵 \(V_1,W_1 \in M_p\) 以及 \(V_2, W_2 \in M_q\), 使得
\begin{align}
\begin{bmatrix} V_1 & 0 \\ 0 & W_1 \end{bmatrix} \begin{bmatrix} U_{11} & U_{12} \\ U_{21} & U_{22} \end{bmatrix} \begin{bmatrix} V_2 & 0 \\ 0 & W_2 \end{bmatrix} = \begin{bmatrix} C & S & 0 \\ -S & C & 0 \\ 0 & 0& I_{q-p} \end{bmatrix}
\end{align}
其中 \(C = \mathrm{diag} (\sigma_1,\cdots, \sigma_p)\), \(\sigma_1 \geqslant \cdots \geqslant \sigma_p\) 是 \(U_{11}\) 的按照非增次序排列的奇异值,而 \(S= \mathrm{diag} \left( (1-\sigma_1^2)^{1/2},\cdots, (1-\sigma_1^p)^{1/2} \right)\)
证明: 基本思路是做出一系列的酉等价,它们一步一步将 \(U\) 化简为具有所需要的形式的分块矩阵. 第一步是利用奇异值分解:记 \(U_{11}=V \Sigma W=(VK_p)(K_p\Sigma K_p)(K_pW)=\tilde{V} \Gamma \tilde{W}\), 其中 \(V,W \in M_p\) 是酉矩阵,\(K_p\) 是 \(p\times p\) 反序矩阵. \(\tilde{V}=VK_p\), \(\tilde{W}=K_pW\), \(\Sigma = \mathrm{diag}(\sigma_1, \cdots, \sigma_p)\), 其中 \(\sigma_1 \geqslant \cdots \geqslant \sigma_p\), 且 \(\Gamma = K_p\Sigma K_p = \mathrm{diag}(\sigma_p, \cdots, \sigma_1)\). 计算
\begin{align}
\begin{bmatrix} \tilde{V}^* & 0 \\ 0 & I_q \end{bmatrix} \begin{bmatrix} U_{11} & U_{12} \\ U_{21} & U_{22} \end{bmatrix} \begin{bmatrix} \tilde{W}^* & 0 \\ 0 & I_q \end{bmatrix} = \begin{bmatrix} \Gamma & \hat{V}^*U_{12} \\ U_{21}\tilde{W}^* & U_{22} \end{bmatrix}
\end{align}
这个矩阵是酉矩阵(它是三个酉矩阵的乘积),所以每一列的 Euclid 范数均为 1 ,这就意味着 \(\sigma_1 = \gamma_p \leqslant 1\). 现在利用 QR 分解以及它的变形来记 \(\tilde{V}^*U_{12}=[L \quad 0] \tilde{Q}\) 以及 \(U_{21}\tilde{W}^* = Q \begin{bmatrix} R \\ 0 \end{bmatrix}\), 其中 \(\tilde{Q},Q \in M_q\) 是酉矩阵, \(L=[\ell_{ij}] \in M_p\) 是下三角矩阵,而 \(R=[r_{ij}] \in M_p\) 是上三角矩阵. 计算
\begin{align}
\begin{bmatrix} I_p & 0 \\ 0 & Q^* \end{bmatrix} \begin{bmatrix} \Gamma & \hat{V}^*U_{12} \\ U_{21}\tilde{W}^* & U_{22} \end{bmatrix} \begin{bmatrix} I_p & 0 \\ 0 &\tilde{Q}^* \end{bmatrix} = \begin{bmatrix} \Gamma &\begin{bmatrix} L & 0 \end{bmatrix} \\ \begin{bmatrix} R \\ 0 \end{bmatrix} & Q^*U_{22}\tilde{Q}^* \end{bmatrix}
\end{align}
上一习题中和论证方法表明:\(L\) 与 \(R\) 两者都是对角的,且对每个 \(i=1,\cdots,p\) 有 \(\lvert r_{ii} \rvert = \lvert \ell_{ii} \rvert = \sqrt{1-\gamma_i^2}\). 设 \(M=\mathrm{diag}(\sqrt{1-\gamma_1^2},\cdots, \sqrt{1-\gamma_p^2})\), 并令 \(t=\max \{ i:\gamma_i <1 \}\). 则存在对角酉矩阵 \(D_1,D_2 \in M_p\) 使得 \(D_1R=-M\) 以及 \(LD_2=M\), 所以通过 \(I_p \oplus D_1 \oplus I_{n-2p}\) 在左边作成的酉相合与通过 \(I_p \oplus D_2 \oplus I_{n-2p}\) 在右边作成的酉相合产生出一个形如
\begin{align}
\begin{bmatrix} \Gamma &\begin{bmatrix} M & 0 \end{bmatrix} \\ \begin{bmatrix} -M \\ 0 \end{bmatrix} & Z \end{bmatrix} = \begin{bmatrix} \Gamma_1 & 0 & M_1 & 0 & 0 \\ 0 & I_{p-t} & 0 & 0_{p-t} & 0 \\ -M_1 & 0 & Z_{11} & Z_{12} & Z_{13} \\ 0 & 0_{p-t} & Z_{21} & Z_{22} & Z_{23} \\ 0 & 0& Z_{31} & Z_{32} & Z_{33} \end{bmatrix}
\end{align}
的酉矩阵,其中有分划的酉矩阵 \(\Gamma = \Gamma_1 \oplus I_{p-t}\) 以及 \(M=M_1 \oplus 0_{p-t}\), 所以 \(M_1\) 是非奇异的. 第一行和第三分块列的正交性(以及 \(M_1\) 的非奇异性)就蕴含 \(Z_{11}=\Gamma_1\), 因此要求每一行和每一列都是单位向量就确保了 \(Z_{12}\), \(Z_{13}\), \(Z_{21}\) 以及 \(Z_{31}\) 全都是零分块. 从而我们有
\begin{align}
\begin{bmatrix} \Gamma_1 & 0 & M_1 & 0 & 0 \\ 0 & I_{p-t} & 0 & 0_{p-t} & 0 \\ -M_1 & 0 & Z_{11} & 0& 0 \\ 0 & 0_{p-t} & 0 & Z_{22} & Z_{23} \\ 0 & 0& 0 & Z_{32} & Z_{33} \end{bmatrix}
\end{align}
其右下角分块 \(\tilde{Z}= \begin{bmatrix} Z_{22} & Z_{23} \\ Z_{32} & Z_{33} \end{bmatrix} \in M_{q-t}\) 是酉矩阵的一个直和项,故而它是酉矩阵,于是对某个酉矩阵 \(\hat{V},\hat{W} \in M_{q-1}\) 有 \(\tilde{Z}=\hat{V}I_{q-t}\hat{W}\). 通过 \(I_{p+t} \oplus \hat{V}^*\) 在左边作出的酉等价以及通过 \(I_{p+t} \oplus \hat{W}^*\) 在右边作出的酉等价产生出分块矩阵
\begin{align}
\begin{bmatrix} \Gamma_1 & 0 & M_1 & 0 & 0 \\ 0 & I_{p-t} & 0 & 0_{p-t} & 0 \\ -M_1 & 0 & Z_{11} & 0& 0 \\ 0 & 0_{p-t} & 0 & I_{p-t} & 0 \\ 0 & 0& 0 & 0 & I_{q-p} \end{bmatrix}
\end{align}
最后通过 \(K_p \oplus K_p \oplus I_{q-p}\) 作出的酉相似产生出一个酉矩阵,它具有所要求的构造.
理解 CS 分解定理
CS 分解是与 \(I_p \oplus I_q\) 共形地加以分划且阶为 \(n=p+q\) (为方便起见,设 \(p \leqslant q\), 但这不是本质的要求)的所有酉矩阵 \(U= \begin{bmatrix} U_{11} & U_{12} \\ U_{21} & U_{22} \end{bmatrix} \in M_n\) 组成的集合的一种参数化的描述. 这些参数是四个更小的任意的酉矩阵 \(V_1,W_1 \in M_p\) 以及 \(V_2, W_2 \in M_q\),以及任意 \(p\) 个实数 \(\sigma_1,\cdots, \sigma_p\), \(1 \geqslant \sigma_1 \geqslant \cdots \geqslant \sigma_p \geqslant 0\). 这四个分块的参数化是
\begin{align}
U_{11} &= V_1 C W_1 , \quad &U_{12} &=V_1 \begin{bmatrix} S & 0 \end{bmatrix} W_2 \\
U_{21} &= V_2 \begin{bmatrix} -S \\ 0 \end{bmatrix} W_1 &U_{22} &= V_2 \begin{bmatrix} C & 0 \\ 0 & I_{q-p} \end{bmatrix} W_2
\end{align}
其中 \(C=\mathrm{diag}(\sigma_1, \cdots, \sigma_p)\), 而 \(S= \mathrm{diag} \left( (1-\sigma_1^2)^{1/2},\cdots, (1-\sigma_1^p)^{1/2} \right)\). CS 分解是一种用途广泛的工具,特别是在与子空间之间的距离以及角度有关的问题中.
应该知道什么
- CS 分解是分划的酉矩阵在分划的酉等价之下的标准型
CS 分解的更多相关文章
- Asp.Net MVC<九>:OWIN,关于StartUp.cs
https://msdn.microsoft.com/zh-cn/magazine/dn451439.aspx(Katana 项目入门) 一不小心写了个WEB服务器 快刀斩乱麻之 Katana OWI ...
- 分解成3NF的保持函数依赖的分解算法:
转换成3NF的保持函数依赖的分解算法: ρ={R1<U1,F1>,R2<U2,F2>,...,Rk<Uk,Fk>}是关系模式R<U,F>的一个分解,U= ...
- 矩阵分解(rank decomposition)文章代码汇总
矩阵分解(rank decomposition)文章代码汇总 矩阵分解(rank decomposition) 本文收集了现有矩阵分解的几乎所有算法和应用,原文链接:https://sites.goo ...
- Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D
游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同相应的动画就是clip,每一个运动都是一段单独的动画,使用Play()或CrossFade(),直接 ...
- SVD分解技术详解
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- ASP.NET Core 菜鸟之路:从Startup.cs说起
1.前言 本文主要是以Visual Studio 2017 默认的 WebApi 模板作为基架,基于Asp .Net Core 1.0,本文面向的是初学者,如果你有 ASP.NET Core 相关实践 ...
- unity3D:游戏分解之曲线
一提到曲线,很多新手就头疼了,包括我.查了很多资料,终于有个大概的了解.想深入了解曲线原理的,推荐一个链接http://www.cnblogs.com/jay-dong/archive/2012/09 ...
- 稀疏分解中的MP与OMP算法
MP:matching pursuit匹配追踪 OMP:正交匹配追踪 主要介绍MP与OMP算法的思想与流程,解释为什么需要引入正交? !!今天发现一个重大问题,是在读了博主的正交匹配追踪(OMP)在稀 ...
- CS(计算机科学)知识体
附 录 A CS( 计算机科学)知识体 计算教程 2001 报告的这篇附录定义了计算机科学本科教学计划中可能讲授的知识领域.该分类方案的依据及其历史.结构和应用的其 ...
随机推荐
- Java的多线程创建方法
1. 直接使用Thread来创建 package com.test.tt; public class ThreadEx extends Thread{ private int j; public vo ...
- 51nod1212【最小生成树kruskal算法】
思路: 利用破圈法. #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N=1e3 ...
- jzoj5986. 【WC2019模拟2019.1.4】立体几何题 (权值线段树)
传送门 题面 题解 不难看出每个点的大小为行列限制中较小的那一个(因为数据保证有解) 对于行的每个限制,能取到的个数是列里限制大于等于它的数的个数,同理,对于列是行里大于它的个数(这里没有等于,为了避 ...
- 第一篇 HTML5打包APP之VMware15安装MAC(MAC OS 10.13)(OS X 10.14)原版可升级最新可解锁macOS Unlocker3.0(OS X 10.13)
1.1.2安装环境: 1.1.3所需资源: 1.1.4 Unlocker 3.0解锁 1.1.5 配置环境 1.1.6开始安装 1.1.7开启虚拟机进入MAC安装界面 1.1.8 macOS 10.1 ...
- JQuery获取iframe中window对象的方法-contentWindow
document.getElementsByTagName('iframe')[0].contentWindow 获取到的就是iframe中的window对象.
- c3p0连接池的简单使用和测试1
- Git - .gitignore怎么忽略已经被版本控制的文件
问题 如果某个文件已经存在于远程仓库了,也就是说某个文件已经被版本控制了,如果将该文件添加到.gitignore中,是无法生效的.因为.gitignore是用来控制尚未被纳入版本控制的文件,如果文件已 ...
- Single-use Stones Codeforces - 965D
https://codeforces.com/contest/965/problem/D 太神仙了...比E难啊.. 首先呢,根据题意,可以很容易的建出一个最大流模型 就是每个位置建一条边,容量限制为 ...
- ueditor单独调用图片上传
很多人在问ueditor,如何单独使用图片上传功能,但是网上没有一篇能用的文档,没办法,我刚好也需要这个功能,花了3天时间(本人水平太菜,哎)终于知道怎么处理了,发出来给大家共享: 效果如下: 页面效 ...
- Spring Boot运行原理
概述 本文主要写了下Spring Boot运行原理,还有一个小例子. Spring4.x提供了基于条件来配置Bean的能力,而Spring Boot的实现也是基于这一原理的. Spring Boot关 ...