矩阵分析与多元统计12 0-1矩阵 交换矩阵简介
矩阵分析与多元统计12 0-1矩阵 交换矩阵简介
- 选择矩阵
- 交换矩阵
顾名思义,0-1矩阵就是所有元素取值均为0和1的矩阵,这类矩阵在矩阵分析、多元统计乃至组合学和图论中都有很重要的应用。在这个主题中我打算介绍选择矩阵、排列矩阵、交换矩阵、消元矩阵、复制矩阵和移位矩阵。(其实排列矩阵就是行列互换的初等变换矩阵。。。)
选择矩阵
选择矩阵selection matrix的作用是通过与某个矩阵相乘,使得结果等于这个矩阵中我们希望选择的那些元素构成的矩阵。最简单的selection matrix是列选择矩阵。假设A∈Fm×nA \in F^{m \times n}A∈Fm×n,aia_iai表示它的第iii个列向量,eie_iei表示InI_nIn的第iii列,定义S=[ei1,⋯,eik],1≤i1<i2<⋯<ik≤nS = [e_{i_1},\cdots,e_{i_k}],1 \le i_1 < i_2 < \cdots < i_k \le nS=[ei1,⋯,eik],1≤i1<i2<⋯<ik≤n,它是一个列选择矩阵,作用是选出AAA的第i1,⋯,iki_1,\cdots,i_ki1,⋯,ik列,
AS=[ai1,ai2,⋯,aik]∈Fm×kAS = [a_{i_1},a_{i_2},\cdots,a_{i_k}] \in F^{m \times k}AS=[ai1,ai2,⋯,aik]∈Fm×k
类似地可以定义行选择矩阵,aia^iai表示AAA的第iii个行向量,eie^iei表示ImI_mIm的第iii行,定义S=[ei1;⋯;eik],1≤i1<i2<⋯<ik≤nS = [e^{i_1};\cdots;e^{i_k}],1 \le i_1 < i_2 < \cdots < i_k \le nS=[ei1;⋯;eik],1≤i1<i2<⋯<ik≤n,那分号表示换行:
[ei1;⋯;eik]=[(ei1)′,⋯,(eik)′]′[e^{i_1};\cdots;e^{i_k}] = [(e^{i_1})',\cdots,(e^{i_k})']'[ei1;⋯;eik]=[(ei1)′,⋯,(eik)′]′
它是一个列选择矩阵,可以选出AAA的第i1,⋯,iki_1,\cdots,i_ki1,⋯,ik行,
SA=[ai1;ai2;⋯;aik]∈Fk×nSA = [a^{i_1};a^{i_2};\cdots;a^{i_k}] \in F^{k \times n}SA=[ai1;ai2;⋯;aik]∈Fk×n
要选择AAA的第i,ji,ji,j个元素是比较容易的,
eiAej=ajie^iAe_j = a^i_jeiAej=aji
根据这个性质也可以定义选择AAA的某个子矩阵的方法。
交换矩阵
对于矩阵A∈Fm×nA \in F^{m \times n}A∈Fm×n,
vec(A)=[a1;⋯;an]∈Fmn×1,vec(A′)=[a1,⋯,am]′∈Fmn×1vec(A) = [a_1;\cdots;a_n] \in F^{mn\times 1},\ vec(A') = [a^1,\cdots,a^m]' \in F^{mn \times 1}vec(A)=[a1;⋯;an]∈Fmn×1, vec(A′)=[a1,⋯,am]′∈Fmn×1
如果∃Kmn∈Fmn×mn,Kmnvec(A)=vec(A′)\exists K_{mn} \in F^{mn \times mn},K_{mn}vec(A) = vec(A')∃Kmn∈Fmn×mn,Kmnvec(A)=vec(A′),则称KmnK_{mn}Kmn是交换矩阵。根据定义我们会发现交换矩阵有如下简单性质:
- KnmKmnvec(A)=vec(A)K_{nm}K_{mn}vec(A) = vec(A)KnmKmnvec(A)=vec(A)
- Knm=Kmn′=Kmn−1K_{nm} = K_{mn}' = K_{mn}^{-1}Knm=Kmn′=Kmn−1
- K1n=Kn1=InK_{1n} = K_{n1} = I_nK1n=Kn1=In
证明 想必大家对交换矩阵会感觉很陌生,但它在矩阵求导的时候会发挥很强大的功能,性质3非常直观,这里就不谈了,我把性质1和2都简单证明评述一下:
性质1:根据定义计算左边的式子
KnmKmnvec(A)=Knmvec(A′)=vec((A′)′)=vec(A)K_{nm}K_{mn}vec(A) = K_{nm}vec(A') = vec((A')') = vec(A)KnmKmnvec(A)=Knmvec(A′)=vec((A′)′)=vec(A)
性质2:事实上交换矩阵的指标对应的是矩阵AAA的维数,KmnK_{mn}Kmn表示它交换的是Fm×nF^{m\times n}Fm×n上的矩阵,KnmK_{nm}Knm表示它交换的是Fn×mF^{n \times m}Fn×m上的矩阵,性质2给出了这两个交换矩阵的是互为转置的关系,并指出交换矩阵是正交矩阵,先证明互为转置的关系,根据定义,
Kmnvec(A)=vec(A′)=[devec(A)]′K_{mn}vec(A) = vec(A') = [devec(A)]'Kmnvec(A)=vec(A′)=[devec(A)]′
再根据性质1,
KnmKmnvec(A)=Knm[devec(A)]′=vec(A)⇒devec(A)Knm′=[vec(A)]′=devec(A′)K_{nm}K_{mn}vec(A) = K_{nm}[devec(A)]'=vec(A) \\ \Rightarrow devec(A)K_{nm}' = [vec(A)]' = devec(A')KnmKmnvec(A)=Knm[devec(A)]′=vec(A)⇒devec(A)Knm′=[vec(A)]′=devec(A′)
再对定义的两边求转置,
[vec(A)]′Kmn′=[vec(A′)]′⇒devec(A′)Kmn′=devec(A)[vec(A)]'K_{mn}' = [vec(A')]' \Rightarrow devec(A')K_{mn}' = devec(A)[vec(A)]′Kmn′=[vec(A′)]′⇒devec(A′)Kmn′=devec(A)
比较这两个式子就可以得到Kmn′=KnmK_{mn}' = K_{nm}Kmn′=Knm;接下来证明交换矩阵是正交矩阵,根据性质1和互为转置的关系,
KnmKmnvec(A)=Kmn′Kmnvec(A)=vec(A),∀A⇒Kmn′=Kmn−1K_{nm}K_{mn}vec(A) = K_{mn}'K_{mn}vec(A) = vec(A),\forall A \Rightarrow K_{mn}' = K^{-1}_{mn}KnmKmnvec(A)=Kmn′Kmnvec(A)=vec(A),∀A⇒Kmn′=Kmn−1
证毕
尽管有了交换的一个定义,但我们对交换矩阵是什么还是没有很直观的概念,下面我先举一个数值例子,先看看交换矩阵有什么用:
例 交换矩阵的作用
A=[123456789],A′=[147258369]A = \left[ \begin{matrix} 1& 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \right],\ \ A' = \left[ \begin{matrix} 1& 4 & 7 \\ 2 & 5 & 8 \\ 3 & 6 & 9 \end{matrix} \right]A=⎣⎡147258369⎦⎤, A′=⎣⎡123456789⎦⎤
则vec(A)=[147258369],vec(A′)=[123456789]vec(A)= \left[ \begin{matrix} 1\\ 4 \\ 7 \\ 2 \\ 5 \\ 8 \\ 3 \\ 6 \\ 9 \end{matrix} \right],\ vec(A') = \left[ \begin{matrix} 1\\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \\ 9 \end{matrix} \right]vec(A)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡147258369⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤, vec(A′)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡123456789⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
交换矩阵K33K_{33}K33的作用是把vec(A)vec(A)vec(A)变成vec(A′)vec(A')vec(A′)。
下一个问题是:我们能不能写出K33K_{33}K33这个矩阵长什么样子呢?或者说更一般地,我们怎么写出KmnK_{mn}Kmn这个矩阵?记ei(n)e_i(n)ei(n)表示单位矩阵InI_nIn的第iii列,ei(n)e^i(n)ei(n)表示单位矩阵InI_nIn的第iii行,则
Kmn=[In⊗e1(m)In⊗e2(m)⋯In⊗em(m)]=[Im⊗e1(n)Im⊗e2(n)⋯Im⊗en(n)]K_{mn} = \left[ \begin{matrix} I_n \otimes e^1(m)\\ I_n \otimes e^2(m) \\ \cdots \\ I_n \otimes e^m(m) \end{matrix} \right] = \left[ \begin{matrix} I_m \otimes e_1(n)& I_m \otimes e_2(n) & \cdots & I_m \otimes e_n(n) \end{matrix} \right]Kmn=⎣⎢⎢⎡In⊗e1(m)In⊗e2(m)⋯In⊗em(m)⎦⎥⎥⎤=[Im⊗e1(n)Im⊗e2(n)⋯Im⊗en(n)]
比如在上面的例子中,我们可以写出:
K33=[100000000000100000000000100010000000000010000000000010001000000000001000000000001]K_{33} = \left[ \begin{matrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{matrix} \right]K33=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡100000000000100000000000100010000000000010000000000010001000000000001000000000001⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
按行来看,每一行不为0的元素正好是第1、4、7、2、5、8、3、6、9个,因此K33K_{33}K33乘以vec(A)vec(A)vec(A)时,会按顺序将vec(A)vec(A)vec(A)的第1、4、7、2、5、8、3、6、9个元素取出来排成一列。
矩阵分析与多元统计12 0-1矩阵 交换矩阵简介相关推荐
- 矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积
矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积 基本性质 用交换矩阵的构造证明基本性质 这一讲介绍交换矩阵与Kronecker乘积相关的性质.对于矩阵A∈Fm×nA \in F^ ...
- 矩阵分析与多元统计 线性空间与线性变换2
矩阵分析与多元统计 线性空间与线性变换2 线性映射 矩阵的等价 线性映射的像空间与核空间 线性映射 V1,V2V_1,V_2V1,V2是数域FFF上的两个线性空间,A:V1→V2\mathcal{ ...
- 矩阵分析与多元统计II 二次型与二次曲面3 二次型及其标准形的定义
矩阵分析与多元统计II 二次型与二次曲面3 二次型及其标准形的定义 上一讲我们讨论了二次齐次函数.对称双线性函数之间的一一对应关系,这一讲我们从多项式的角度讨论二次齐次函数,给出二次型的概念及其标准形 ...
- 矩阵分析与多元统计II 二次型与二次曲面2 双线性函数
矩阵分析与多元统计II 二次型与二次曲面2 双线性函数 双线性函数 双线性函数的表示 满秩双线性函数 对称与反对称 对称双线性函数 反对称双线性函数 应用 伪欧氏空间与伪正交变换 辛空间与辛变换 对称 ...
- 矩阵分析与多元统计1 线性空间与线性变换3 特征值
矩阵分析与多元统计1 线性空间与线性变换3 特征值 线性变换 线性空间的同构 线性变换的特征值与特征向量 几何重数与代数重数 线性变换 从线性空间VVV到它自身的线性映射叫做线性变换,在基α1,⋯,α ...
- 矩阵分析与多元统计1 线性空间与线性变换1
矩阵分析与多元统计 线性空间与线性变换1 线性空间 基.坐标.坐标变换 线性子空间 关于矩阵分析的讨论都是在线性空间中进行的,所以这个系列的博客会从线性空间开始,考虑到是矩阵分析了,所以线性代数层面的 ...
- 矩阵分析与多元统计II 二次型与二次曲面1 线性函数与对偶空间
矩阵分析与多元统计II 二次型与二次曲面1 线性函数与对偶空间 对偶空间 线性函数的表示方法 线性空间的对偶空间也是线性空间 对偶空间的对偶空间 应用1:转置映射 应用2:零化子空间 二次型与二次曲面 ...
- 矩阵分析与多元统计11 广义vec算子与devec算子
矩阵分析与多元统计11 广义vec算子与devec算子 定义 简单性质 τ\tauτ符号 广义vec算子与devec算子提供理论上重塑矩阵形状的工具. 定义 假设AAA是一个m×npm \times ...
- 矩阵分析与多元统计11 Kronecker乘积
矩阵分析与多元统计11 Kronecker乘积 Kronecker乘积 vec算子与devec算子 Kronecker乘积 定义 数域FFF中,A=(aij)∈Fm×n,B∈Fp×qA = (a_{i ...
最新文章
- Elasticsearch官档翻译——2 2 在Linux上启动服务
- EditText 中文文档
- 《大话数据结构》第9章 排序 9.8 归并排序(下)
- 开源大数据周刊-第15期
- 关于所谓的穷人富人幸福论
- HDU - 6278 Just $h$-index主席树+二分
- 阿里云上Kubernetes集群联邦
- python中对象和类的关系_Python面向对象之类与类之间的关系
- 数据挖掘的办法有哪些
- C#——已知两点及半径,求圆心坐标
- OpenCV与图像算法笔记
- 用Excel表格拆分一行里的内容
- ATM和电路交换和分组交换区别
- 手机登陆 html,手机登录(登陆)路由器方法
- 一文聊透Netty核心引擎Reactor的运转架构
- 电子商城后台系统(一):使用eclipse构建web项目
- 知乎日报APP:API接口分析
- python爬虫怎么爬小说_Python 新手] 爬虫练习:爬取起点中文网的小说排行并存入 excel 表格中...
- codeforces 794E Choosing Carrot
- SATA协议OOB随笔
热门文章
- Leetcode 137. 只出现一次的数字 II 解题思路及C++实现
- 工作中如何使用线程池的?自己如何定义一个线程池?
- 曾经案例中问题 与 工厂模式解耦
- 预处理命令 || 宏定义 || 带参数的宏定义
- 判断一个整数是否是水仙花数 || 编写程序,根据输入的月份和年份,求出该月的天数(1-12)|| 运算符的优先级问题 ||输出小写的a-z以及大写的Z—A||求出1-1/2+1/3-1/4…..1/
- 跳转控制语句 break || continue || goto
- 新版本Chrome同源策略、跨域问题处理No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
- Python 技术篇-如何打印一段文字,用友云霸气控制台颜文字打印
- leetCode C++ 二分查找 35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
- POJ1787多重背包中在最优方案下输出具体的选择方案