矩阵分析与多元统计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,Kmn​vec(A)=vec(A′),则称KmnK_{mn}Kmn​是交换矩阵。根据定义我们会发现交换矩阵有如下简单性质:

  1. KnmKmnvec(A)=vec(A)K_{nm}K_{mn}vec(A) = vec(A)Knm​Kmn​vec(A)=vec(A)
  2. Knm=Kmn′=Kmn−1K_{nm} = K_{mn}' = K_{mn}^{-1}Knm​=Kmn′​=Kmn−1​
  3. 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)Knm​Kmn​vec(A)=Knm​vec(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)]'Kmn​vec(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')Knm​Kmn​vec(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}Knm​Kmn​vec(A)=Kmn′​Kmn​vec(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=⎣⎡​147​258​369​⎦⎤​,  A′=⎣⎡​123​456​789​⎦⎤​
则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​=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​100000000​000100000​000000100​010000000​000010000​000000010​001000000​000001000​000000001​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​
按行来看,每一行不为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矩阵 交换矩阵简介相关推荐

  1. 矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积

    矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积 基本性质 用交换矩阵的构造证明基本性质 这一讲介绍交换矩阵与Kronecker乘积相关的性质.对于矩阵A∈Fm×nA \in F^ ...

  2. 矩阵分析与多元统计 线性空间与线性变换2

    矩阵分析与多元统计 线性空间与线性变换2 线性映射 矩阵的等价 线性映射的像空间与核空间 线性映射 V1,V2V_1,V_2V1​,V2​是数域FFF上的两个线性空间,A:V1→V2\mathcal{ ...

  3. 矩阵分析与多元统计II 二次型与二次曲面3 二次型及其标准形的定义

    矩阵分析与多元统计II 二次型与二次曲面3 二次型及其标准形的定义 上一讲我们讨论了二次齐次函数.对称双线性函数之间的一一对应关系,这一讲我们从多项式的角度讨论二次齐次函数,给出二次型的概念及其标准形 ...

  4. 矩阵分析与多元统计II 二次型与二次曲面2 双线性函数

    矩阵分析与多元统计II 二次型与二次曲面2 双线性函数 双线性函数 双线性函数的表示 满秩双线性函数 对称与反对称 对称双线性函数 反对称双线性函数 应用 伪欧氏空间与伪正交变换 辛空间与辛变换 对称 ...

  5. 矩阵分析与多元统计1 线性空间与线性变换3 特征值

    矩阵分析与多元统计1 线性空间与线性变换3 特征值 线性变换 线性空间的同构 线性变换的特征值与特征向量 几何重数与代数重数 线性变换 从线性空间VVV到它自身的线性映射叫做线性变换,在基α1,⋯,α ...

  6. 矩阵分析与多元统计1 线性空间与线性变换1

    矩阵分析与多元统计 线性空间与线性变换1 线性空间 基.坐标.坐标变换 线性子空间 关于矩阵分析的讨论都是在线性空间中进行的,所以这个系列的博客会从线性空间开始,考虑到是矩阵分析了,所以线性代数层面的 ...

  7. 矩阵分析与多元统计II 二次型与二次曲面1 线性函数与对偶空间

    矩阵分析与多元统计II 二次型与二次曲面1 线性函数与对偶空间 对偶空间 线性函数的表示方法 线性空间的对偶空间也是线性空间 对偶空间的对偶空间 应用1:转置映射 应用2:零化子空间 二次型与二次曲面 ...

  8. 矩阵分析与多元统计11 广义vec算子与devec算子

    矩阵分析与多元统计11 广义vec算子与devec算子 定义 简单性质 τ\tauτ符号 广义vec算子与devec算子提供理论上重塑矩阵形状的工具. 定义 假设AAA是一个m×npm \times ...

  9. 矩阵分析与多元统计11 Kronecker乘积

    矩阵分析与多元统计11 Kronecker乘积 Kronecker乘积 vec算子与devec算子 Kronecker乘积 定义 数域FFF中,A=(aij)∈Fm×n,B∈Fp×qA = (a_{i ...

最新文章

  1. Elasticsearch官档翻译——2 2 在Linux上启动服务
  2. EditText 中文文档
  3. 《大话数据结构》第9章 排序 9.8 归并排序(下)
  4. 开源大数据周刊-第15期
  5. 关于所谓的穷人富人幸福论
  6. HDU - 6278 Just $h$-index主席树+二分
  7. 阿里云上Kubernetes集群联邦
  8. python中对象和类的关系_Python面向对象之类与类之间的关系
  9. 数据挖掘的办法有哪些
  10. C#——已知两点及半径,求圆心坐标
  11. OpenCV与图像算法笔记
  12. 用Excel表格拆分一行里的内容
  13. ATM和电路交换和分组交换区别
  14. 手机登陆 html,手机登录(登陆)路由器方法
  15. 一文聊透Netty核心引擎Reactor的运转架构
  16. 电子商城后台系统(一):使用eclipse构建web项目
  17. 知乎日报APP:API接口分析
  18. python爬虫怎么爬小说_Python 新手] 爬虫练习:爬取起点中文网的小说排行并存入 excel 表格中...
  19. codeforces 794E Choosing Carrot
  20. SATA协议OOB随笔

热门文章

  1. Leetcode 137. 只出现一次的数字 II 解题思路及C++实现
  2. 工作中如何使用线程池的?自己如何定义一个线程池?
  3. 曾经案例中问题 与 工厂模式解耦
  4. 预处理命令 || 宏定义 || 带参数的宏定义
  5. 判断一个整数是否是水仙花数 || 编写程序,根据输入的月份和年份,求出该月的天数(1-12)|| 运算符的优先级问题 ||输出小写的a-z以及大写的Z—A||求出1-1/2+1/3-1/4…..1/
  6. 跳转控制语句 break || continue || goto
  7. 新版本Chrome同源策略、跨域问题处理No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
  8. Python 技术篇-如何打印一段文字,用友云霸气控制台颜文字打印
  9. leetCode C++ 二分查找 35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
  10. POJ1787多重背包中在最优方案下输出具体的选择方案