本文章将会围绕着矩阵的逆与转置这两种运算讲述,旨在通过此加深你对矩阵的理解与进一步熟悉这两种运算。
矩阵的逆
A A − 1 = I AA^{-1}=I AA−1=I
方阵 A A A(注意:只有方阵才存在逆的概念)乘方阵 A − 1 A^{-1} A−1的带单位矩阵 I I I,我们就说矩阵 A − 1 A^{-1} A−1是矩阵 A A A的逆。
从另一个更深的角度理解,矩阵的逆即是还原操作,用MIT教授的话比喻,就像穿上袜子后要脱下袜子的操作一样。下面我们来看一个例子:
1 0 0 − 2 1 0 0 0 1 \begin{matrix} 1 & 0 & 0\\ -2 & 1 & 0\\ 0 & 0 & 1 \end{matrix} \ 1−20010001
这个矩阵是我们熟悉的消元矩阵,即 E 2 , 1 E_{2,1} E2,1,用以产生(2,1)处的0,具体代表操作是(左乘)将矩阵A的第二行变为-2倍的第一行加上1倍的第二行的线性组合。
那么这个消元矩阵的逆你是否能直接想出来呢?矩阵的逆如下:
1 0 0 2 1 0 0 0 1 \begin{matrix} 1 & 0 & 0\\ 2 & 1 & 0\\ 0 & 0 & 1 \end{matrix} \ 120010001
可以考虑如下思路:
我们要求的矩阵乘消元矩阵得到的结果是单位矩阵。而消元矩阵的作用是将矩阵A的第二行变为-2倍的第一行加上1倍的第二行,那么要将此结果变回单位矩阵,只需加上二倍的第二行,原矩阵就变回了单位矩阵。
简言之,矩阵的逆即是如此的还原操作。
矩阵的转置
转置可以有几种不同的方法来认识它,这里仅分为代数和图形两种方向。
转置可以直接理解为行与列的交换,即矩阵A中位置 ( i , j ) (i,j) (i,j)的元素,将会出现在其转置矩阵的 ( j , i ) (j,i) (j,i)位置。
从图形上来说,矩阵的转置即是让原矩阵以正对角线为轴进行对称变换。
示例: 1 0 0 2 1 0 0 0 1 \begin{matrix} 1 & 0 & 0\\ 2 & 1 & 0\\ 0 & 0 & 1 \end{matrix} 120010001此矩阵的转置为: 1 2 0 0 1 0 0 0 1 \begin{matrix} 1 & 2 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{matrix} 100210001
从图形上的理解也告诉我们,应该存在这么一类矩阵,它们沿正对角线对称,可得到
A = A T 这里的上标 T 是转置 t r a n s p o s e 的缩写,表示转置操作 A=A^T这里的上标T是转置transpose的缩写,表示转置操作 A=AT这里的上标T是转置transpose的缩写,表示转置操作
而我们称这样的矩阵为对称矩阵。
转置的性质
基础运算
( A + B ) T = A T + B T (A+B)^T=A^T+B^T (A+B)T=AT+BT
这应该很好理解,A和B能求和意味着A与B形状相同,求和运算是相加相同位置的两个元素,那么将其沿对角线翻转过后结果同样不会改变。
( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT
推导:
我们先从 ( A x ) T (Ax)^T (Ax)T开始理解,考虑 x x x为一个列向量。
( A x ) T = x T A T (Ax)^T=x^TA^T (Ax)T=xTAT这一点似乎是理所当然的,是吗?因为 A x Ax Ax是矩阵A的行的线性组合,将其转置后,要得到同样的结果,就需要 A T A^T AT的行的线性组合,即 x T x^T xT应该放在 A T A^T AT的左边。
以同样的思维思考,当" x x x"变为2列,3列,n列也应是同样的道理。因此, ( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT
( A − 1 ) T = ( A T ) − 1 (A^{-1})^T=(A^T)^{-1} (A−1)T=(AT)−1
这一点也很好证明,如下:
A − 1 A = I ( A − 1 A ) T = A T ( A − 1 ) T = I → ( A − 1 ) T = ( A T ) − 1 A^{-1}A=I\\(A^{-1}A)^T=A^T(A^{-1})^T=I\\ \rightarrow (A^{-1})^T=(A^T)^{-1} A−1A=I(A−1A)T=AT(A−1)T=I→(A−1)T=(AT)−1
矩阵乘其转置为对称矩阵
任意矩阵R,不管它对不对称,R乘以其转置得到的一定是对称矩阵:
R R T 一定为对称矩阵 RR^T一定为对称矩阵 RRT一定为对称矩阵
示例:举一个3×2的矩阵 R R R(转置不同于逆,不要求一定为方阵),乘其转置 R T R^T RT将得到对称矩阵。
[ 1 3 2 3 4 1 ] [ 1 2 4 3 3 1 ] = [ 10 11 7 11 . . . . . . 7 . . . . . . ] \left[ \begin{matrix} 1 & 3 \\ 2 & 3 \\ 4 & 1 \end{matrix} \right] \left[ \begin{matrix} 1 & 2 & 4 \\ 3 & 3 & 1 \end{matrix} \right] = \left[\begin{matrix} 10 & 11 & 7 \\ 11 & ...& ... \\ 7 & ... &... \end{matrix} \right] 124331 [132341]= 1011711......7......
为方便观察规律,这里用的矩阵乘法方法为 a i , j = r o w i × c o l u m n j a_{i,j}=row_i\times column_j ai,j=rowi×columnj
结果矩阵 (1,1) 位置元素是 1 × 1 + 3 × 3 = 10 1\times1+3\times3=10 1×1+3×3=10 好吧,(1,1) 其实不重要
结果矩阵 (1,2) 位置元素是 1 × 2 + 3 × 3 = 11 1\times2+3\times3=11 1×2+3×3=11
结果矩阵 (2,1) 位置元素是 2 × 1 + 3 × 3 = 11 2\times1+3\times3=11 2×1+3×3=11
结果矩阵 (1,3) 位置元素是 1 × 4 + 3 × 1 = 7 1\times4+3\times1=7 1×4+3×1=7
结果矩阵 (1,3) 位置元素是 4 × 1 + 1 × 3 = 7 4\times1+1\times3=7 4×1+1×3=7
相信大家看了这两组位置对称元素的计算,就能直观感受到 R R T = 对称矩阵 RR^T=对称矩阵 RRT=对称矩阵了。
其实要证明的话也只很简单:
( R R T ) T = R T ( R T ) T = R T R (RR^T)^T=R^T(R^T)^T=R^TR (RRT)T=RT(RT)T=RTR
置换矩阵
置换矩阵 P P P是与行变换息息相关的概念,或者说如消元矩阵代表了消元操作一样,置换矩阵代表了行变换操作。
以3×3矩阵为例,行变换操作即为交换行与行之间的元素,不改变元素本身。
要使一个矩阵的第一行与第三行交换位置,即我们需要如下置换矩阵 P 1 , 3 P_{1,3} P1,3:
0 0 1 0 1 0 1 0 0 \begin{matrix} 0 & 0 & 1\\ 0 & 1 & 0\\ 1 & 0 & 0 \end{matrix} 001010100
如果你对线性组合足够熟悉,那么得到这个置换矩阵是理所当然的,这里就不再展开分析。
置换矩阵的性质
第一个问题,n*n的矩阵有多少个置换矩阵?这个问题很简单, A n n A_n^n Ann嘛,即 n ! n! n!,从1乘到n。
性质二:对于n*n的矩阵中所有置换矩阵组成一个集合来说:
集合中任意元素的逆在集合中。
集合中所有元素的积的结果是单位矩阵。