IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(2):n阶行列式、对换 -> 正文阅读

[游戏开发]【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(2):n阶行列式、对换

前言

Hello!小伙伴!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
?
自我介绍 ?(?ˊ?ˋ)?
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖…已保研。目前正在学习C++/Linux/Python
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
?
机器学习小白阶段
文章仅作为自己的学习笔记 用于知识体系建立以及复习
知其然 知其所以然!

1.3 n阶行列式

三阶行列式为:

∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ = a 11 ? a 22 ? a 33 + a 12 ? a 23 ? a 31 + a 13 ? a 21 ? a 32 ? a 11 ? a 23 ? a 32 ? a 12 ? a 21 ? a 33 ? a 13 ? a 22 ? a 31 \begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33}\\ \end{vmatrix}=a_{11}*a_{22}*a_{33}+a_{12}*a_{23}*a_{31}+a_{13}*a_{21}*a_{32}-a_{11}*a_{23}*a_{32}-a_{12}*a_{21}*a_{33}-a_{13}*a_{22}*a_{31} ?a11?a21?a31??a12?a22?a32??a13?a23?a33???=a11??a22??a33?+a12??a23??a31?+a13??a21??a32??a11??a23??a32??a12??a21??a33??a13??a22??a31?

从中我们可以发现规律:

∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ = ∑ ( ? 1 ) t a 1 p 1 a 2 p 2 a 3 p 3 \begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33}\\ \end{vmatrix}=\sum(-1)^ta_{1p_1}a_{2p_2}a_{3p_3} ?a11?a21?a31??a12?a22?a32??a13?a23?a33???=(?1)ta1p1??a2p2??a3p3??

其中t为排列 p 1 p 2 p 3 p_1p_2p_3 p1?p2?p3?的逆序数

进而推出n阶行列式:

∣ a 11 a 12 . . . a 1 n a 21 a 22 . . . a 2 n . . . . . . a n 1 a n 2 . . . a n n ∣ = ∑ ( ? 1 ) t a 1 p 1 a 2 p 2 . . . a n p n \begin{vmatrix} a_{11} & a_{12} &... & a_{1n}\\ a_{21} & a_{22} & ... &a_{2n}\\ . & . & & . \\ . & . & & . \\ a_{n1} & a_{n2} &... & a_{nn}\\ \end{vmatrix}=\sum(-1)^ta_{1p_1}a_{2p_2}...a_{np_n} ?a11?a21?..an1??a12?a22?..an2??.........?a1n?a2n?..ann???=(?1)ta1p1??a2p2??...anpn??

特殊情况1:

∣ λ 1 λ 2 . . λ n ∣ = λ 1 λ 2 . . . λ n \begin{vmatrix} \lambda_1 & & & & \\ & \lambda_2 & & & \\ & & . & & \\ & & & . &\\ & & & & \lambda_n \end{vmatrix}=\lambda_1\lambda_2...\lambda_n ?λ1??λ2??.?.?λn???=λ1?λ2?...λn?

特殊情况2:

∣ λ 1 λ 2 . . λ n ∣ = ( ? 1 ) n ( n ? 1 ) 2 λ 1 λ 2 . . . λ n ( 其 中 ( ? 1 ) n ( n ? 1 ) 2 为 排 列 n 、 n ? 1...3 、 2 、 1 的 逆 序 数 ) \begin{vmatrix} & & & & \lambda_1 \\ &&& \lambda_2 &\\ && . &&\\ & . &&&\\ \lambda_n &&&& \end{vmatrix}= (-1)^\frac{n(n-1)}{2}\lambda_1\lambda_2...\lambda_n (其中(-1)^\frac{n(n-1)}{2}为排列n、 n-1 ... 3、 2、 1的逆序数) ?λn??.?.?λ2??λ1???=(?1)2n(n?1)?λ1?λ2?...λn?(?1)2n(n?1)?nn?1...321

1.4 对换

1.4.1 排列的对换

概念

  • 对换:在排列中,将任意两个元素对调,其余的元素不动。
  • 相邻对换:在排列中,相邻两个元素进行对换

定理1

内容

一个排列中任意两个元素对换,奇偶性发生改变

证明

首先证明相邻对换的情况

设排列 a 1 . . . a i a b b 1 . . . b m a_1...a_iabb_1...b_m a1?...ai?abb1?...bm?

a和b对换,变成 a 1 . . . a i b a b 1 . . . b m a_1...a_ibab_1...b_m a1?...ai?bab1?...bm?

显然, a 1 . . . a i a_1...a_i a1?...ai? b 1 . . . b m b_1...b_m b1?...bm?这些元素的逆序数没有发生变化

当a<b时

  • 从ab变为ba,a的逆序数+1(a前面多了一个b),b的逆序数不变

当a>b时,

  • 从ab变为ba,a的逆序数不变,b的逆序数-1(b前面少了一个a)

所以

排列中发生相邻对换,奇偶性会发现变化(奇排列-> 偶排列 or 偶排列->奇排列)

再来证明一般情况

a 1 . . . a i a b 1 . . . b m b c 1 . . . c n a_1...a_iab_1...b_mbc_1...c_n a1?...ai?ab1?...bm?bc1?...cn? ,a与b发生对换,变为 a 1 . . . a i b b 1 . . . b m a c 1 . . . c n a_1...a_ibb_1...b_mac_1...c_n a1?...ai?bb1?...bm?ac1?...cn?

我们可以先用 b b b b m b_m bm?进行相邻对换,变为 a 1 . . . a i a b 1 . . . b b m c 1 . . . c n a_1...a_iab_1...bb_mc_1...c_n a1?...ai?ab1?...bbm?c1?...cn?

再用 b b b b m ? 1 b_{m-1} bm?1?进行相邻对换,变为 a 1 . . . a i a b 1 . . . b b m ? 1 b m c 1 . . . c n a_1...a_iab_1...bb_{m-1}b_mc_1...c_n a1?...ai?ab1?...bbm?1?bm?c1?...cn?
.
.
.
最后 b b b b 1 b_{1} b1?进行相邻对换,变为 a 1 . . . a i a b b 1 . . . b m c 1 . . . c n a_1...a_iabb_1...b_mc_1...c_n a1?...ai?abb1?...bm?c1?...cn?

一共经历了m次相邻对换

b m 、 b m ? 1 . . . b 2 、 b 1 b_m、b_{m-1}...b_2、b_1 bm?bm?1?...b2?b1?对换,一共就是m次

然后,我们再用 a a a b b b进行相邻对换,变为 a 1 . . . a i b a b 1 . . . b m c 1 . . . c n a_1...a_ibab_1...b_mc_1...c_n a1?...ai?bab1?...bm?c1?...cn?

再用 a a a b 1 b_1 b1?进行相邻对换,变为 a 1 . . . a i b b 1 a . . . b m c 1 . . . c n a_1...a_ibb_1a...b_mc_1...c_n a1?...ai?bb1?a...bm?c1?...cn?
.
.
.
最后 a a a b m b_m bm?进行相邻对换,变为 a 1 . . . a i b b 1 . . . b m a c 1 . . . c n a_1...a_ibb_1...b_mac_1...c_n a1?...ai?bb1?...bm?ac1?...cn?

一共经历了(m+1)次相邻对换

综上

一共发生了m+(m+1)=2m+1次相邻对换

从最开始的证明可以得出

2m+1次相邻对换后,排列的奇偶性还是会发生改变
(交换1次,奇偶性发生转变;交换2次,奇偶性不发生变化–>交换奇数次,奇偶性发生转变;偶数次则不会。2m+1一定是奇数 ,当m为正整数时)

推论

齐排列变成标准排列的对换次数为奇数,偶排列变成标准排列的对换次数为偶数。

说明

首先,标准排列是逆序数为0的偶排列
?
从定理1可以得知,对换一次,奇偶性发生改变
?
若是齐排列,对换一次,奇->偶,再对换一次,偶->奇…
对换奇数次,最后变为了偶排列;
对换偶数次,最后变为奇排列。
?
所以齐排列变成标准排列的对换次数一定为奇数。
偶排列变成标准排列的对换次数为偶数同理可证。

1.4.2 行列式的另一种表示方法

n阶行列式有:

∣ a 11 a 12 . . . a 1 n a 21 a 22 . . . a 2 n . . . . . . a n 1 a n 2 . . . a n n ∣ = ∑ ( ? 1 ) t a 1 p 1 . . . a i p i . . . a j p j . . . a n p n \begin{vmatrix} a_{11} & a_{12} &... & a_{1n}\\ a_{21} & a_{22} & ... &a_{2n}\\ . & . & & . \\ . & . & & . \\ a_{n1} & a_{n2} &... & a_{nn}\\ \end{vmatrix}=\sum(-1)^ta_{1p_1}...a_{ip_i}...a_{jp_j}...a_{np_n} ?a11?a21?..an1??a12?a22?..an2??.........?a1n?a2n?..ann???=(?1)ta1p1??...aipi??...ajpj??...anpn??

我们选择任意一项: a 1 p 1 . . . a i p i . . . a j p j . . . a n p n a_{1p_1}...a_{ip_i}...a_{jp_j}...a_{np_n} a1p1??...aipi??...ajpj??...anpn??,其中1…i…j…n为自然排列, ( ? 1 ) t (-1)^t (?1)t中的t为逆序数

然后交换 a i p i 、 a j p j a_{ip_i}、a_{jp_j} aipi??ajpj??,得到
a 1 p 1 . . . a j p j . . . a i p i . . . a n p n a_{1p_1}...a_{jp_j}...a_{ip_i}...a_{np_n} a1p1??...ajpj??...aipi??...anpn??

我们来计算奇偶性的变化

首先,我们知道只是交换来两个元素的位置,该项的值是不会发生变化的。

行标从 1…i…j…n 变为了 1…j…i…n,可以得出排列1…j…i…n的逆序数为是奇数,设为r

因为1…i…j…n逆序数为0,偶排列
根据排列任意元素对换,奇偶性改变,
1…j…i…n就变成了齐排列,那么其逆序数一定就是奇数

同样,设 p 1 . . . p j . . . p i . . . p n p_1...p_j...p_i...pn p1?...pj?...pi?...pn列标)的逆序数为 t 1 t_1 t1?,得到

a 1 p 1 . . . a j p j . . . a i p i . . . a n p n a_{1p_1}...a_{jp_j}...a_{ip_i}...a_{np_n} a1p1??...ajpj??...aipi??...anpn??前面的正负符号为 ( ? 1 ) r + t 1 (-1)^{r+t_1} (?1)r+t1?

因为

( ? 1 ) t 1 = ( ? 1 ) ( ? 1 ) t = ? ( ? 1 ) t (-1)^{t_1}=(-1)(-1)^t=-(-1)^t (?1)t1?=(?1)(?1)t=?(?1)t

p 1 . . . p i . . . p j . . . p n p_1...p_i...p_j...pn p1?...pi?...pj?...pn的逆序数为t a 1 p 1 . . . a i p i . . . a j p j . . . a n p n a_{1p_1}...a_{ip_i}...a_{jp_j}...a_{np_n} a1p1??...aipi??...ajpj??...anpn??前面的系数为 ( ? 1 ) t (-1)^t (?1)t
??
对换一次变为 p 1 . . . p j . . . p i . . . p n p_1...p_j...p_i...pn p1?...pj?...pi?...pn 奇偶性发生变化 其实就是乘以(-1)
(排列中,任意两个元素发生对换,奇偶性发生变化,其实就是乘以(-1))
?
所以 ( ? 1 ) ( ? 1 ) t 1 = ( ? 1 ) t (-1)(-1)^{t_1}=(-1)^t (?1)(?1)t1?=(?1)t

又因为r为奇数,有

( ? 1 ) r = ? 1 (-1)^r=-1 ?1r=?1

综合下面两个式子:

{ ( ? 1 ) t 1 = ( ? 1 ) ( ? 1 ) t = ? ( ? 1 ) t ( ? 1 ) r = ? 1 \begin{cases} (-1)^{t_1}=(-1)(-1)^t=-(-1)^t\\ (-1)^r=-1 \end{cases} {(?1)t1?=(?1)(?1)t=?(?1)t?1r=?1?

得到:

( ? 1 ) r + t 1 = ( ? 1 ) r ( ? 1 ) t 1 = ( ? 1 ) ? ( ? 1 ) t 1 = ( ? 1 ) ? ( ? ( ? 1 ) t ) = ( ? 1 ) t (-1)^{r+t_1}=(-1)^r(-1)^{t_1}=(-1) * (-1)^{t_1}=(-1)*(-(-1)^t)=(-1)^t (?1)r+t1?=(?1)r(?1)t1?=(?1)?(?1)t1?=(?1)?(?(?1)t)=(?1)t

推出:

( ? 1 ) t a 1 p 1 . . . a i p i . . . a j p j . . . a n p n = ( ? 1 ) r + t 1 a 1 p 1 . . . a j p j . . . a i p i . . . a n p n (-1)^ta_{1p_1}...a_{ip_i}...a_{jp_j}...a_{np_n}=(-1)^{r+t1}a_{1p_1}...a_{jp_j}...a_{ip_i}...a_{np_n} (?1)ta1p1??...aipi??...ajpj??...anpn??=(?1)r+t1a1p1??...ajpj??...aipi??...anpn??

说明

对换行列式中某一项两个元素的位置,使得行坐标、列坐标同时发生变化,但是却并不会改变该项的奇偶性。

一次交换不会改变奇偶性,那么多次交换也不会改变奇偶性

( ? 1 ) t a 1 p 1 a 2 p 2 . . . a n p n (-1)^ta_{1p_1}a_{2p_2}...a_{np_n} (?1)ta1p1??a2p2??...anpn??经历若干次对换
列标排列 p 1 p 2 . . . p n p_1p_2...p_n p1?p2?...pn?一定可以变为自然排列(1 2 3… n)

设若干次变换后
列标排列变为了自然排列
行标排列设为 q 1 q 2 . . . q n q_1q_2...q_n q1?q2?...qn?,则有

( ? 1 ) t a 1 p 1 a 2 p 2 . . . a n p n = ( ? 1 ) t a q 1 1 a q 2 2 . . . a q n n (-1)^ta_{1p_1}a_{2p_2}...a_{np_n}=(-1)^ta_{q_11}a_{q_22}...a_{q_nn} (?1)ta1p1??a2p2??...anpn??=(?1)taq1?1?aq2?2?...aqn?n?

对于其中任意一项 a i j a_{ij} aij?,有

{ a i j = a i p i a i j = a q j j \begin{cases} a_{ij}=a_{ip_i}\\ a_{ij}=a_{q_jj} \end{cases} {aij?=aipi??aij?=aqj?j??

得到

{ j = p i i = q j \begin{cases} j=p_i\\ i=q_j \end{cases} {j=pi?i=qj??

说明由 p i p_i pi?可以确定唯一对应的一个 q j q_j qj?,比如 2 = p 3 2=p_3 2=p3? 说明 q 2 = 3 q_2=3 q2?=3 且唯一!

那么由 p 1 p 2 . . . p n p_1p_2...p_n p1?p2?...pn? 可以确定唯一的 q 1 q 2 . . . q n q_1q_2...q_n q1?q2?...qn?

定理2

内容

n阶行列式也可以定义为: ∑ ( ? 1 ) t a p 1 1 a p 2 2 . . . a p n n \sum(-1)^ta_{p_11}a_{p_22}...a_{p_nn} (?1)tap1?1?ap2?2?...apn?n?

证明

?

首先,n阶行列式有:

∣ a 11 a 12 . . . a 1 n a 21 a 22 . . . a 2 n . . . . . . a n 1 a n 2 . . . a n n ∣ = ∑ ( ? 1 ) t a 1 p 1 a 2 p 2 . . . a n p n \begin{vmatrix} a_{11} & a_{12} &... & a_{1n}\\ a_{21} & a_{22} & ... &a_{2n}\\ . & . & & . \\ . & . & & . \\ a_{n1} & a_{n2} &... & a_{nn}\\ \end{vmatrix}=\sum(-1)^ta_{1p_1}a_{2p_2}...a_{np_n} ?a11?a21?..an1??a12?a22?..an2??.........?a1n?a2n?..ann???=(?1)ta1p1??a2p2??...anpn??

{ D = ∑ ( ? 1 ) t a 1 p 1 a 2 p 2 . . . a n p n D 1 = ∑ ( ? 1 ) t a p 1 1 a p 2 2 . . . a p n n \begin{cases} D=\sum(-1)^ta_{1p_1}a_{2p_2}...a_{np_n}\\ D_1=\sum(-1)^ta_{p_11}a_{p_22}...a_{p_nn} \end{cases} {D=(?1)ta1p1??a2p2??...anpn??D1?=(?1)tap1?1?ap2?2?...apn?n??

从定理1最后的讨论中可以得到:

D中任意一项 ( ? 1 ) t a 1 p 1 a 2 p 2 . . . a n p n (-1)^ta_{1p_1}a_{2p_2}...a_{np_n} (?1)ta1p1??a2p2??...anpn??有且只有一项D1中的某一项 ( ? 1 ) t a q 1 1 a q 2 2 . . . a q n n (-1)^ta_{q_11}a_{q_22}...a_{q_nn} (?1)taq1?1?aq2?2?...aqn?n?与之对应**(q是可以有p确定的);**
?
同理,D1中任意一项 ( ? 1 ) t a p 1 1 a p 2 2 . . . a p n n (-1)^ta_{p_11}a_{p_22}...a_{p_nn} (?1)tap1?1?ap2?2?...apn?n?也有且只有D中的某一项 ( ? 1 ) t a 1 q 1 a 2 q 2 . . . a n q n (-1)^ta_{1q_1}a_{2q_2}...a_{nq_n} (?1)ta1q1??a2q2??...anqn??与之对应
?
说明,D与D1中的任意一项都可以一一对应

可以得到 D = D 1 D=D_1 D=D1?

所以

∑ ( ? 1 ) t a 1 p 1 a 2 p 2 . . . a n p n = ∑ ( ? 1 ) t a p 1 1 a p 2 2 . . . a p n n \sum(-1)^ta_{1p_1}a_{2p_2}...a_{np_n}=\sum(-1)^ta_{p_11}a_{p_22}...a_{p_nn} (?1)ta1p1??a2p2??...anpn??=(?1)tap1?1?ap2?2?...apn?n?

结语

说明:

  • 参考于 课本《线性代数》第五版 同济大学数学系编
  • 配合书中概念讲解 结合了自己的一些理解及思考

文章仅作为学习笔记,记录从0到1的一个过程

希望对您有所帮助,如有错误欢迎小伙伴指正~

我是 海轰?(?ˊ?ˋ)?

如果您觉得写得可以的话,请点个赞吧

您的鼓励是海轰更新文章的动力源泉

谢谢支持 ??

在这里插入图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:34:32  更:2021-09-13 09:36:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 15:05:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码