线性代数 --- 置换矩阵 (Permutation matrix)

2023-10-26

置换矩阵就是重新排列后的单位矩阵

        对一个矩阵进行行交换,需要通过置换矩阵(permutation matrix)来完成。

        在对一个Ax=b的方程组进行高斯消元的过程中,我们常常会遇到一种情况,也就是消元消不下去的情况。下面,我列出了两个不同的3x3矩阵的消元过程:

        上图中的第一行,是一个比较常见的消元流程。对于3x3方阵而言,先令主对角线上的第一个元素A11(在图中左上角用方框框出)主元(pivot),且当前列被称为主元列。用A11所在的行去乘以一个合适的系数减去下面各行(第二,第三行),使得A11这一列下面的元素都为0。之后,再令A22为主元,A22所在的列为主元列,用A22所在的行乘以一个相应的系数减去下面各行(第三行),使得A22所在列下面的元素都为0。一直进行到,对角线上的最后一个元素。

        但有时候,我们在消元过程中可能会遇到主对角线上为0的情况,正如上图中的第二个消元过程。当消元进行到主对角线上的A22(图中第二行第二步中用方框框出来的元素)时,消元无法进行下去了。因为,0无论乘以任何系数都无法消除0下面的元素。这时,我们就要把A22下面的非零元素所在的行,和A22所在的行,进行行交换。使得主对角线上的A22不为0,并完成后续的消元过程。

        上面提到的行交换的矩阵表达形式就是置换矩阵P。也就是用置换矩阵P左乘以该矩阵。例如,我们下面这个例子:

 消元一开始就遇到了问题,主对角线上的第一个元素A11=0,消元进行不下去了。这时我们只需把上面的两行对调一下就可以得到下面的方程组。

 而如果我们把这一过程用矩阵的形式来表现的话就是:

 

        重点:现在我再重申一遍这篇文章开头的标题,置换矩阵就是重新排列后的单位矩阵。实际上,最简单的置换矩阵P就是单位矩阵I本身,他的作用就是对矩阵不做任何处理,即:

P = I(no exchanges)

        

        为了更加直观的描述一个置换矩阵的功能,我们可以用矩阵P_{ij}来表示置换矩阵。用P_{ij}去左乘另一个矩阵,会交换这个矩阵I的i行和j行。如果我们仔细比较置换矩阵P_{ij}中的i,j行和相同尺寸的单位矩阵中的i,j行,我们会发现,他就是交换了单位矩阵中ij行后的矩阵。


 置换矩阵的性质

1,对任何一个置换矩阵P而言,每一行,梅一列都只有一个“1”。

2,同时,置换矩阵的转置P^{T}也是一个置换矩阵,可能是同一个矩阵P,可能是另一个矩阵。

3,任意两个置换矩阵的乘积P_{1}P_{2}也是一个置换矩阵。

置换矩阵也可以是一次交换多行的矩阵P,这需要通过两个置换矩阵相乘得到:

P=P_{ab}P_{cd}

例子:

4,对于任何n阶矩阵,共有n的阶乘种置换矩阵。其中,n!=1x2x3...xn。因此,若n=4就对应有24种置换矩阵,若n=5,就会有120种置换矩阵!

5,置换矩阵P_{ij}的逆矩阵就是他自己。已知,置换矩阵P_{ij}的作用就是交换另一个矩阵的i行和j行,要想恢复这个操作,那就是把另一个矩阵的i行和j行再交换一次,所以:

\large P_{ij}=P_{ij}^{-1}

注意,第五条所说的性质,只争对进行一次行交换的置换矩阵,但,如果是一次执行多次行交换的置换矩阵,例如P=P21P32,他的矩阵和他的逆不同,如下:

但他的逆确实实现了对p操作的还原,如下:

6,置换矩阵被广泛的用于对非奇异矩阵(nonsingular matrix)进行高斯消元时,遇到主元为零时需要进行行交换的情况。即:PA=LU(或者PA=LDU)。对于奇异矩阵(singular matrix),行交换也无法彻底杜绝主元为0的情形。

By the way: LU分解是一个伟大的矩阵分解!


以下是一些早期的个人笔记: 

置换矩阵:


 置换矩阵的乘法:


置换矩阵的性质: 

注:上文中提到的,置换矩阵P可用于列交换,需要进一步考证,待定!

(全文完)

作者 --- 松下J27

格言摘抄:人就是三个口!(无名氏)

参考文献(鸣谢):

文中截图均来自于:《Introduction to Linear Algebra》,5th Edition - Gilbert Strang

(配图与本文无关)

版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27​

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线性代数 --- 置换矩阵 (Permutation matrix) 的相关文章

  • 基于Uniapp+SpringBoot+Vue的电影交流平台小程序设计与实现(源码+lw+部署文档+讲解等)

    前言 博主介绍 全网粉丝10W CSDN特邀作者 博客专家 CSDN新星计划导师 全栈领域优质创作者 博客之星 掘金 华为云 阿里云 InfoQ等平台优质作者 专注于Java 小程序技术领域和毕业项目实战 精彩专栏 推荐订阅 2023 20
  • FreeRTOS笔记(九)定时器

    定时器Timer 软件定时器是基于系统时钟中断且由软件来模拟的定时器 当经过设定的Tick 时钟计数值后会触发用户定义的回调函数 软件定时器不占用单片机宝贵的硬件资源和CPU资源 FreeRTOS提供了完善的软件定时器的支持 为了启用软件定

随机推荐

  • JAVA对象的toString方法

    一切类都是Object的子类 Object有toString方法 因此所有对象都有toString方法 打印一个对象时 打印的就是这个对象的toString方法返回值 值为 类名 hashCode 因此很多时候需要程序员重写此方法 推荐写法
  • Python运维开发(CMDB资产管理系统)——Python基础数据类型

    Python基础数据类型 字符串 可以通过单引号 双引号 三个双引号来表示 布尔 True和False 整数 浮点数 列表 定义一个列表 列表常用的一些函数 append 向列表中添加元素 元素可以是整数 浮点数 字符串等类型 count
  • 云财经服务器维护,云财经服务器维护

    云财经服务器维护 内容精选 换一换 云耀云服务器适用于对CPU 内存 硬盘空间和带宽无特殊要求 服务一般只需要部署在一台或少量的服务器上 一次投入成本少 后期维护成本低的场景 例如网站开发 Web应用 推荐使用云耀云服务器 主要提供均衡的计
  • 【vim工具的使用】

    目录 前言 一 普通 命令模式 1 文件中移动 1 2 文件中移动 2 3 复制 粘贴 剪切 删除 4 行内删除 5 撤回 6 替换 7 高亮选中 8 逐单词移动 3 二 底行模式 1 退出vim 2 设置行号 3 替换 4 搜索 3 不退
  • IntelliJ IDEA 创建spring boot项目报错:Cannot download 'https://start.spring.io'

    IEAD默认使用https start spring io 把上面地址改成http start spring io即可
  • 华为OD机试 - 矩阵扩散(Java)

    题目描述 存在一个m n的二维数组 其成员取值范围为0或1 其中值为1的成员具备扩散性 每经过1S 将上下左右值为0的成员同化为1 二维数组的成员初始值都为0 将第 i j 和 k l 两个个位置上元素修改成1后 求矩阵的所有元素变为1需要
  • Host key verification failed.

    一 问题描述 在 ssh 连接某台服务器的时候 报错如下 ECDSA host key for 172 xxx xxx xxx has changed and you have requested strict checking Host
  • valgrind

    http blog csdn net yanghao23 article details 7514587 valgrind通常用来成分析程序性能及程序中的内存泄露错误 一 Valgrind工具集简绍 Valgrind包含下列工具 1 mem
  • Mathtype7的安装及使用方法

    换了电脑 以前那个安装的mathtype无了 最近又要写论文 尝试了个新的mathtype安装方法 可提供参考 首先 下载正版mathtype7 下载链接 win系统下载win版 安装mathtype 以管理员身份运行 东西都默认即可 安装
  • dos命令操作mysql数据库的常用语句

    一 连接MYSQL 格式 mysql h主机地址 u用户名 p用户密码 1 连接到本机上的MYSQL 首先打开DOS窗口 然后进入目录mysql bin 再键入命令mysql u root p 回车后提示你输密码 注意用户名前可以有空格也可
  • 二叉树结构与算法思路解析

    二叉树 介绍 主要内容 二叉树的概念和性质 二叉树的存储结构 遍历二叉树 递归遍历 非递归遍历 线索二叉树 哈夫曼树 树和森林 树和森林的存储 树和森林与二叉树的转换 树和森林的遍历 树型结构特点 一对多 例 自然界 树 人类社会 家谱 新
  • 一次线性回归拟合、二次线性回归拟合

    器学习一次回归和二次回归 reshape 行 列 可以根据指定的数值将数据转换为特定的行数和列数 reshape 1 1 之后 数据集变成了一列 采用线性回归方程预测 lr LinearRegression lr fit X y from
  • 重复元素判定续。利用集合的无重复性改编上一个程序,获得一个更快更简洁的版本

    ls eval input 请输入一个列表 if ls list set ls print True
  • Java基础(二)——数组、类和对象

    一 数组 1 声明并创建数组 数据类型 数组名 new 数据类型 大小 2 新生成的数组对象 其中所有的引用自动初始化为null 基本数据类型 数值型自动初始化为0 字符型为0 布尔型为false 3 数组赋值方法 1 边声明边赋值 静态初
  • map.get(key)空指针异常_NPE空指针异常总结

    一 java lang NullPointerException出现的几种原因 1 字符串变量未初始化 2 接口类型的对象没有用具体的类初始化 比如 Map map 会报错 Map map new Map 则不会报错了 3 当一个对象的值为
  • uniapp点击事件修改元素样式

    1 要有一个dom元素 用ref绑定 2 获取到dom元素并操作样式
  • 相机坐标系的正向投影和反向投影

    1 正向投影 世界坐标系到像素坐标系 世界3D坐标系 x y z 到图像像素坐标 u v 的映射过程 1 世界坐标系到相机坐标系的映射 两个坐标系的转换比较简单 就是旋转矩阵 平移矩阵 旋转矩阵则是绕X Y Z 轴旋转获得 R 属于世界坐标
  • 网络文件共享服务主流----FTP文件传输协议

    网络文件共享服务主流 FTP文件传输协议 ftp定义 ftp数据连接模式 ftp应用程序 vsftpd vsftpd虚拟用户配置 网络文件共享服务主流 FTP文件传输协议 ftp定义 文件传输协议 File Transfer Protoco
  • 用java实现拷贝目录以及目录下文件

    用java实现拷贝目录以及目录下文件 创建一个File对象 也可以说是确定一个文件对象 File f1 new File D file 就相当于获取了这个文件对象 不管这个对象是否真实存在 对文件操作 所以方法里调用的都是File对象 如果
  • 线性代数 --- 置换矩阵 (Permutation matrix)

    置换矩阵就是重新排列后的单位矩阵 对一个矩阵进行行交换 需要通过置换矩阵 permutation matrix 来完成 在对一个Ax b的方程组进行高斯消元的过程中 我们常常会遇到一种情况 也就是消元消不下去的情况 下面 我列出了两个不同的