线性代数 — 置换矩阵 – permutation matrix(个人笔记扫描版)

线性代数 — 置换矩阵 – permutation matrix(个人笔记扫描版)置换矩阵 permutationm

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

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

        在对一个Ax=b的方程组进行高斯消元的过程中,我们常常会遇到一种情况,也就是消元消不下去的情况。下面,我列出了3×3矩阵的两次消元过程,第一行,是正常的消元流程,对于方阵而言,先令主对角线线上的第一个元素A11为主元(pivot),同时当前列也被称为主元列。用A11所在的行去乘以一个合适的系数减去下面各行(第二,第三行),使得A11这一列下面的元素都为0。之后,再令A22为主元,A22所在的列为主元列,用A22所在的行乘以一个相应的系数减去下面各行(第三行),使得A22所在列下面的元素都为0。一直进行到,对角线上的最后一个元素。

        但有时候,我们会遇到主对角线上为0的情况,正如我下面写的第二个消元过程。当消元进行到主对角线上的A22时,消元无法进行下去了,因为,0无论乘以任何继续都无法消除0下面的所有元素。这时,我们要找到该列中A22下面的非零元素所在的行,和A22所在的行,进行行交换。最终使得主对角线上的A22不为0,并完成后续的消元过程。

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

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

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

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

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

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

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

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

P = I(no exchanges)

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

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

 它有如下的一些特性:

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

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

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

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

P=P_{ab}P_{cd}

例子:

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

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,他的矩阵和他的逆不同,如下:

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

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

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

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

LU分解是一个伟大的矩阵分解!


以下是个人笔记: 

置换矩阵:

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)


 置换矩阵的乘法:

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)


置换矩阵的性质: 

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

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

(全文完)

作者 — 松下J27


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

鸣谢:

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

线性代数 --- 置换矩阵 - permutation matrix(个人笔记扫描版)

(配图与本文无关)

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217095.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:21
下一篇 2026年3月18日 上午10:21


相关推荐

  • mysql批量插入大量数据「建议收藏」

    mysql批量插入大量数据「建议收藏」mysql批量插入大量数据时间:2020年11月25日今天遇到了一个批量插入大量数据任务,然后出于小白本能,直接for-each循环插入不就好了,于是手上开始噼里啪啦一顿操作,写好了从读取excel到插入数据库的工作,于是就美滋滋的开始了自己的测试,试了一把,一次通过perfect,然后后面就悲剧了,后面发现数据量稍微大一点,速度就会很慢很慢。于是掏出自己的制胜法典,后来我在知识和海洋中获取到了两种靠谱的方法。下面一点一点讲。测试的服务器信息1核2g5m的阿里云服务器(你懂得),mysql直接装

    2022年10月5日
    4
  • Python保存json_python保存json文件

    Python保存json_python保存json文件json文件是一种常见的数据存储文件,比txt看着高级点,比xml看着人性化一点。同时,json作为一种通用协议的文件格式,可以被各种语言方便地读取。所以,json非常适合用来存储结构化的数据。json的具体介绍和使用规范:https://www.json.org/json-en.html本文将关于python读取json做一个小小的记录和总结。1.读取json一般情况下的j…

    2022年10月12日
    7
  • 使用 openssl生成证书「建议收藏」

    使用 openssl生成证书「建议收藏」使用openssl生成证书步骤一:先要确认当前系统是否有安装openssl1opensslversion步骤二:使用下面的命令进行生成1mkdir/root/cert2cd/root/cert3opensslgenrsa-des3-outserver.key10244opensslreq-new-keyserver.key-outserver.csr5cpserver.keyserver.key.org6opensslrsa-inser

    2026年1月25日
    5
  • 交换机zone 的概念 和交换机指令「建议收藏」

    交换机zone 的概念 和交换机指令「建议收藏」配置Zone需要涉及到三个对象的配置Alias,Zone,Configuration。Alias可以把设备的WWN或Domain,Port声明为Alias,用于更好更直观的标示设备。使用Alias的主要目的是方便用户的使用,想象一下记住一个人的身份证号和名字的区别就可以明白其中的道理,使用Alias就想给设备启名字一样。声明Alias的另外一个益处是便于Zone中成员的更换。当Zone

    2022年5月21日
    40
  • 比特币原理详解

    比特币原理详解一 什么是比特币比特币是一种电子货币 是一种基于密码学的货币 在 2008 年 11 月 1 日由中本聪发表比特币白皮书 文中提出了一种去中心化的电子记账系统 我们平时的电子现金是银行来记账 因为银行的背后是国家信用 去中心化电子记账系统是参与者共同记账 比特币可以防止主权危机 信用风险 其好处不多做赘述 这一层面介绍的文章很多 本文主要从更深层的技术原理角度进行介绍 二 问题引入假设现有 4 个人

    2026年3月26日
    2
  • Linux系统安装Cache数据库配置环境

    Linux系统安装Cache数据库配置环境1 Cach 介绍 nbsp 官网 https www intersystems com 开发者社区 https community intersystems com nbsp nbsp gt gt nbsp download nbsp Cach 安装指南 https docs intersystems com latest csp docbook DocBook UI Page cls KEY G

    2025年11月8日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号