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

945 阅读5分钟

温馨提示

若文中数学公式显示不正常或未显示

可以查看 MML学习笔记(二):线性代数之n阶行列式、对换

前言

Hello!小伙伴!

非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~  

自我介绍 ଘ(੭ˊᵕˋ)੭

昵称:海轰

标签:程序猿|C++选手|学生

简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖...已保研。目前正在学习C++/Linux/Python

学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!  

机器学习小白阶段

文章仅作为自己的学习笔记 用于知识体系建立以及复习

知其然 知其所以然!

1.3 n阶行列式

三阶行列式为:a11a12a13a21a22a23a31a32a33=a11a22a33+a12a23a31+a13a21a32a11a23a32a12a21a33a13a22a31\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}

从中我们可以发现规律:a11a12a13a21a22a23a31a32a33=(1)ta1p1a2p2a3p3\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}

其中t为排列p1p2p3p_1p_2p_3的逆序数

进而推出n阶行列式:a11a12...a1na21a22...a2n......an1an2...ann=(1)ta1p1a2p2...anpn\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}

特殊情况1:λ1λ2..λn=λ1λ2...λn\begin{vmatrix} \lambda_1 & & & & \\ & \lambda_2 & & & \\ & & . & & \\ & & & . &\\ & & & & \lambda_n \end{vmatrix}=\lambda_1\lambda_2...\lambda_n

特殊情况2:λ1λ2..λn=(1)n(n1)2λ1λ2...λn(其中(1)n(n1)2为排列nn1...321的逆序数)\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的逆序数)

1.4 对换

1.4.1 排列的对换

概念

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

定理1

内容

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

证明

首先证明相邻对换的情况

设排列a1...aiabb1...bma_1...a_iabb_1...b_m

a和b对换,变成a1...aibab1...bma_1...a_ibab_1...b_m

显然,a1...aia_1...a_ib1...bmb_1...b_m这些元素的逆序数没有发生变化

当a<b时

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

当a>b时,

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

所以

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

再来证明一般情况

a1...aiab1...bmbc1...cna_1...a_iab_1...b_mbc_1...c_n ,a与b发生对换,变为a1...aibb1...bmac1...cna_1...a_ibb_1...b_mac_1...c_n

我们可以先用bbbmb_m进行相邻对换,变为a1...aiab1...bbmc1...cna_1...a_iab_1...bb_mc_1...c_n

再用bbbm1b_{m-1}进行相邻对换,变为a1...aiab1...bbm1bmc1...cna_1...a_iab_1...bb_{m-1}b_mc_1...c_n . . . 最后bbb1b_{1}进行相邻对换,变为a1...aiabb1...bmc1...cna_1...a_iabb_1...b_mc_1...c_n

一共经历了m次相邻对换

bmbm1...b2b1b_m、b_{m-1}...b_2、b_1对换,一共就是m次

然后,我们再用aabb进行相邻对换,变为a1...aibab1...bmc1...cna_1...a_ibab_1...b_mc_1...c_n

再用aab1b_1进行相邻对换,变为a1...aibb1a...bmc1...cna_1...a_ibb_1a...b_mc_1...c_n . . . 最后aabmb_m进行相邻对换,变为a1...aibb1...bmac1...cna_1...a_ibb_1...b_mac_1...c_n

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

综上

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

从最开始的证明可以得出

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

推论

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

说明

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

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

n阶行列式有:a11a12...a1na21a22...a2n......an1an2...ann=(1)ta1p1...aipi...ajpj...anpn\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}

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

然后交换aipiajpja_{ip_i}、a_{jp_j},得到 a1p1...ajpj...aipi...anpna_{1p_1}...a_{jp_j}...a_{ip_i}...a_{np_n}

我们来计算奇偶性的变化

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

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

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

同样,设p1...pj...pi...pnp_1...p_j...p_i...pn列标)的逆序数为t1t_1,得到

a1p1...ajpj...aipi...anpna_{1p_1}...a_{jp_j}...a_{ip_i}...a_{np_n}前面的正负符号为(1)r+t1(-1)^{r+t_1}

因为

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

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

又因为r为奇数,有

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

综合下面两个式子:{(1)t1=(1)(1)t=(1)t1r=1\begin{cases} (-1)^{t_1}=(-1)(-1)^t=-(-1)^t\\ (-1)^r=-1 \end{cases}

得到:

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

推出:

(1)ta1p1...aipi...ajpj...anpn=(1)r+t1a1p1...ajpj...aipi...anpn(-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)ta1p1a2p2...anpn(-1)^ta_{1p_1}a_{2p_2}...a_{np_n}经历若干次对换 列标排列p1p2...pnp_1p_2...p_n一定可以变为自然排列(1 2 3... n)

设若干次变换后 列标排列变为了自然排列 行标排列设为q1q2...qnq_1q_2...q_n,则有

(1)ta1p1a2p2...anpn=(1)taq11aq22...aqnn(-1)^ta_{1p_1}a_{2p_2}...a_{np_n}=(-1)^ta_{q_11}a_{q_22}...a_{q_nn}

对于其中任意一项 aija_{ij},有{aij=aipiaij=aqjj\begin{cases} a_{ij}=a_{ip_i}\\ a_{ij}=a_{q_jj} \end{cases}

得到{j=pii=qj\begin{cases} j=p_i\\ i=q_j \end{cases}

说明由pip_i可以确定唯一对应的一个qjq_j,比如2=p32=p_3 说明 q2=3q_2=3 且唯一!

那么由p1p2...pnp_1p_2...p_n 可以确定唯一的q1q2...qnq_1q_2...q_n

定理2

内容

n阶行列式也可以定义为:(1)tap11ap22...apnn\sum(-1)^ta_{p_11}a_{p_22}...a_{p_nn}

证明

首先,n阶行列式有:a11a12...a1na21a22...a2n......an1an2...ann=(1)ta1p1a2p2...anpn\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}

{D=(1)ta1p1a2p2...anpnD1=(1)tap11ap22...apnn\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}

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

D中任意一项(1)ta1p1a2p2...anpn(-1)^ta_{1p_1}a_{2p_2}...a_{np_n}有且只有一项D1中的某一项(1)taq11aq22...aqnn(-1)^ta_{q_11}a_{q_22}...a_{q_nn}与之对应**(q是可以有p确定的);**   同理,D1中任意一项(1)tap11ap22...apnn(-1)^ta_{p_11}a_{p_22}...a_{p_nn}也有且只有D中的某一项(1)ta1q1a2q2...anqn(-1)^ta_{1q_1}a_{2q_2}...a_{nq_n}与之对应   说明,D与D1中的任意一项都可以一一对应

可以得到D=D1D=D_1

所以

(1)ta1p1a2p2...anpn=(1)tap11ap22...apnn\sum(-1)^ta_{1p_1}a_{2p_2}...a_{np_n}=\sum(-1)^ta_{p_11}a_{p_22}...a_{p_nn}

结语

说明:

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

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

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

我是 海轰ଘ(੭ˊᵕˋ)੭

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

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

谢谢支持 ❤️

在这里插入图片描述