先简单讲解什么是矩阵,给小白们一个印象。矩阵可以是说从解方程组得来,为什么这么说呢,先举个例子:
{ 2 x − y = 0 − x + 2 y = 3 \left\{ \begin{array}{c}2x-y=0 \\ -x+2y=3\end{array}\right. {2x−y=0−x+2y=3
我们可以将其写成
[ 2 − 1 − 1 2 ] [ x y ] = [ 0 3 ] \begin{bmatrix} 2 & -1 \\ -1 & 2 \\ \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}=\begin{bmatrix} 0\\3 \end{bmatrix} [2−1−12][xy]=[03]
这里可能涉及到矩阵的乘法,我们先不管,后面我们进行详解,这里的第一个矩阵为
[ 2 − 1 − 1 2 ] \begin{bmatrix} 2 & -1\\ -1 & 2\end{bmatrix} [2−1−12]
如果有个人跟你说第一行第二列是啥,那么我们得规定什么是行什么是列。请见下图
则我们可以回答了这个矩阵第一行第二列是-1啦,讲完了什么是矩阵了,那就来讲讲对矩阵的理解。
行图像:从行的角度看就是行的线性组合(方程组形式)
2 x − y = 0 − x + 2 y = 3 \begin{array}{c}2x-y=0 \\ -x+2y=3\end{array} 2x−y=0−x+2y=3
可以这样看,矩阵的第一行是 [ 2 − 1 ] \begin{bmatrix} 2 & -1 \end{bmatrix} [2−1],2的意思是我们需要 [ x y ] \begin{bmatrix} x \\ y \end{bmatrix} [xy]中2倍的第一行,-1的意思是我们需要 [ x y ] \begin{bmatrix} x \\ y \end{bmatrix} [xy]中-1倍的第二行,就是 2 x − y = 0 2x-y=0 2x−y=0
下图为行图像
列图像:从列的角度看就是列的线性组合
x [ 2 − 1 ] + y [ − 1 2 ] = [ 0 3 ] x \begin{bmatrix} 2 \\ -1 \end{bmatrix}+y\begin{bmatrix}-1\\2 \end{bmatrix} = \begin{bmatrix} 0 \\ 3 \end{bmatrix} x[2−1]+y[−12]=[03]
可以这样看, [ x y ] \begin{bmatrix} x \\ y \end{bmatrix} [xy]中第一行为 x x x表示我们需要 [ 2 − 1 − 1 2 ] \begin{bmatrix} 2 & -1 \\ -1 & 2 \\ \end{bmatrix} [2−1−12]中 x x x倍的第一列即 x [ 2 − 1 ] x \begin{bmatrix} 2 \\ -1 \end{bmatrix} x[2−1]
当x=1,y=2时候如下图
我们可以通过以上看出:
1.以矩阵 [ 2 − 1 − 1 2 ] \begin{bmatrix} 2 & -1 \\ -1 & 2 \\ \end{bmatrix} [2−1−12]来看,如果我们想对这个矩阵各列进行线性组合怎么办,我们只需要在它右边乘上一个矩阵即可。
2.以矩阵 [ x y ] \begin{bmatrix} x \\ y \end{bmatrix} [xy]来看,我们想对这个矩阵各行线性组合怎么办,我们只需要在它左边乘上一个矩阵即可。
先解释一下下标的问题, c i j c_{ij} cij表示 C C C中第i行第j列元素。
设 A A A为 m m mx n n n的矩阵, B B B为 n n nx p p p的矩阵,则矩阵 A A A与矩阵 B B B相乘得到矩阵 C C C,如下图
[ a 31 a 32 ⋯ ] m ∗ n A [ b 14 b 24 ⋮ ] n ∗ p B = [ c 34 ] m ∗ p C \mathop{\begin{bmatrix} \\ \\ a_{31} & a_{32} & \cdots \\ \\ \end{bmatrix}_{m*n}}\limits_{A} \mathop{\begin{bmatrix} & & & b_{14} & \\ & & & b_{24} & \\ & & & \vdots & \end{bmatrix}_{n*p}}\limits_{B}=\mathop{\begin{bmatrix} \\ \\ & & & c_{34} & \\ \\ \end{bmatrix}_{m*p}}\limits_{C} A⎣⎢⎢⎡a31a32⋯⎦⎥⎥⎤m∗nB⎣⎢⎡b14b24⋮⎦⎥⎤n∗p=C⎣⎢⎢⎡c34⎦⎥⎥⎤m∗p
我们要注意, A A A中第二个数要与B中第一个数相等,即n,不然会出现无法相乘的情况。
我们可以看出 A A A中的第三行和 B B B中的第二列得出 C C C中的 c 34 c_{34} c34
c 34 = ( A 的 第 三 行 ) ⋅ ( B 的 第 四 列 ) = a 13 b 14 + a 32 b 24 + ⋯ = ∑ k = 1 n a 3 k b k 4 c_{34} = (A的第三行)\cdot(B的第四列)\\ \qquad \,\,\, =a_{13}b_{14} + a_{32}b_{24}+\cdots= \sum_{k = 1}^{n} a_{3k}b_{k4} c34=(A的第三行)⋅(B的第四列)=a13b14+a32b24+⋯=k=1∑na3kbk4
我们还是以上面三个矩阵为例, B B B中的每一列就相当于对A中的列进行线性组合得到 C C C中的第一列,
我们拿出 B B B中的第一列 [ b 11 b 21 ⋮ b n 1 ] \begin{bmatrix} b_{11} \\ b_{21} \\ \vdots \\b_{n1} \end{bmatrix} ⎣⎢⎢⎢⎡b11b21⋮bn1⎦⎥⎥⎥⎤ 和 A A A 进行计算,如下
[ ⋮ ⋮ ⋮ ⋮ ⋮ c o l 1 c o l 2 c o l 3 ⋯ ⋯ ⋮ ⋮ ⋮ ⋮ ⋮ ] A [ b 11 b 21 ⋮ b n 1 ] = [ c 11 c 21 ⋮ c m 1 ] \mathop{\begin{bmatrix} \vdots & \vdots & \vdots & \vdots & \vdots \\col1 & col2 & col3 & \cdots & \cdots \\ \vdots & \vdots&\vdots & \vdots & \vdots\end{bmatrix}}\limits_{A}\begin{bmatrix} b_{11} \\ b_{21} \\ \vdots \\b_{n1} \end{bmatrix} = \begin{bmatrix} c_{11} \\ c_{21} \\ \vdots \\c_{m1} \end{bmatrix} A⎣⎢⎢⎡⋮col1⋮⋮col2⋮⋮col3⋮⋮⋯⋮⋮⋯⋮⎦⎥⎥⎤⎣⎢⎢⎢⎡b11b21⋮bn1⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡c11c21⋮cm1⎦⎥⎥⎥⎤
可以看成
b 11 [ c o l 1 o f A ] + b 21 [ c o l 2 o f A ] + ⋯ + b n 1 [ c o l n o f A ] = [ c 11 c 21 ⋮ c m 1 ] b_{11}\begin{bmatrix} col1\\of \\ A \end{bmatrix} + b_{21}\begin{bmatrix} col2\\of \\ A \end{bmatrix} + \cdots + b_{n1}\begin{bmatrix} coln\\of \\ A \end{bmatrix}= \begin{bmatrix} c_{11} \\ c_{21} \\ \vdots \\c_{m1} \end{bmatrix} b11⎣⎡col1ofA⎦⎤+b21⎣⎡col2ofA⎦⎤+⋯+bn1⎣⎡colnofA⎦⎤=⎣⎢⎢⎢⎡c11c21⋮cm1⎦⎥⎥⎥⎤
我们拿出 A A A中的第一行 [ a 11 a 12 ⋯ a 1 n ] \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \end{bmatrix} [a11a12⋯a1n] 和 B B B 进行计算,
[ a 11 a 12 ⋯ a 1 n ] [ ⋯ r o w 1 ⋯ ⋯ r o w 2 ⋯ ⋯ r o w 3 ⋯ ] B = [ c 11 c 12 ⋯ c 1 p ] \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \end{bmatrix}\mathop{\begin{bmatrix} \cdots & row1 & \cdots \\ \cdots & row2 & \cdots \\ \cdots & row3 & \cdots\end{bmatrix}}\limits_{B} = \begin{bmatrix} c_{11} & c_{12} & \cdots & c_{1p} \end{bmatrix} [a11a12⋯a1n]B⎣⎡⋯⋯⋯row1row2row3⋯⋯⋯⎦⎤=[c11c12⋯c1p]
可以看成
a 11 [ r o w 1 o f B ] + a 12 [ r o w 2 o f B ] + ⋯ + a 1 n [ r o w n o f B ] = [ c 11 c 12 ⋯ c 1 p ] a_{11}\begin{bmatrix} row1 \, of \, B \end{bmatrix} + a_{12}\begin{bmatrix} row2\, of\, B\end{bmatrix} + \cdots + a_{1n}\begin{bmatrix} rown \, of \, B\end{bmatrix}= \begin{bmatrix} c_{11} & c_{12} & \cdots & c_{1p} \end{bmatrix} a11[row1ofB]+a12[row2ofB]+⋯+a1n[rownofB]=[c11c12⋯c1p]
A B = ∑ i = 1 n c o l i o f A ∗ r o w i o f B AB=\sum_{i = 1}^{n} coli\,of\,A\,*rowi\,of\,B AB=i=1∑ncoliofA∗rowiofB
举个例子你就明白了
[ 2 7 3 8 4 9 ] [ 1 6 0 0 ] = [ 2 3 4 ] [ 1 6 ] + [ 7 8 9 ] [ 0 0 ] = [ 2 12 3 18 4 24 ] \begin{bmatrix}2&7\\3&8\\4&9\end{bmatrix}\begin{bmatrix}1&6\\0&0 \end{bmatrix}=\begin{bmatrix} 2\\3\\4\end{bmatrix}\begin{bmatrix}1&6\end{bmatrix}+\begin{bmatrix} 7\\8\\9\end{bmatrix}\begin{bmatrix}0&0\end{bmatrix}=\begin{bmatrix}2&12\\3&18\\4&24\end{bmatrix} ⎣⎡234789⎦⎤[1060]=⎣⎡234⎦⎤[16]+⎣⎡789⎦⎤[00]=⎣⎡234121824⎦⎤
[ A 1 A 2 A 3 A 4 ] [ B 1 B 2 B 3 B 4 ] = [ C 1 C 2 C 3 C 4 ] \begin{bmatrix}A_{1}&A_{2}\\A_3&A_4\end{bmatrix}\begin{bmatrix}B_{1}&B_{2}\\B_3&B_4\end{bmatrix}=\begin{bmatrix}C_{1}&C_{2}\\C_3&C_4\end{bmatrix} [A1A3A2A4][B1B3B2B4]=[C1C3C2C4]
C 1 = A 1 B 1 + A 2 B 3 C_{1} = A_1B_1+A_2B_3 C1=A1B1+A2B3
分块可以不均等分,每一块都要划分相乘应符合乘法原则。
I = [ 1 0 ⋯ 0 0 1 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ 1 ] n ∗ n I=\begin{bmatrix}1 &0&\cdots&0\\ 0&1&\cdots&0\\\vdots&\vdots&\ddots&\vdots\\0&0&\cdots&1\end{bmatrix}_{n*n} I=⎣⎢⎢⎢⎡10⋮001⋮0⋯⋯⋱⋯00⋮1⎦⎥⎥⎥⎤n∗n
定义: ( A T ) i j = A j i (A^T)_{ij}=A_{ji} (AT)ij=Aji
举个例子
[ 1 3 2 3 4 1 ] T = [ 1 2 4 3 3 1 ] \begin{bmatrix}1&3\\2&3\\4&1\end{bmatrix}^{T}=\begin{bmatrix}1&2&4\\3&3&1\end{bmatrix} ⎣⎡124331⎦⎤T=[132341]
自己对比一下你就知道如何求转置矩阵了,然后你可以先看下面的对称矩阵之后反过来继续看这里。
先简单讲讲什么叫方阵,什么叫长方阵。方阵就是长得规规矩矩的,像个正方形的矩阵,如上面的单位阵。而长方阵就是长得像长方形的矩阵,如转置矩阵的例子,两个都是长方阵。好了介绍完这两者区别之后,我就要给出结论了哈哈。
对于所有的长方阵R(对于方阵也是成立的), R T R R^TR RTR一定是对称矩阵(symmetric matrix).
先举个例子之后来个证明,我们就拿上面两个矩阵试试不就知道了吗。
[ 1 3 2 3 4 1 ] T [ 1 2 4 3 3 1 ] = [ 10 11 7 11 13 11 7 11 17 ] \begin{bmatrix}1&3\\2&3\\4&1\end{bmatrix}^{T}\begin{bmatrix}1&2&4\\3&3&1\end{bmatrix}=\begin{bmatrix}10&11&7\\11&13&11\\7&11&17\end{bmatrix} ⎣⎡124331⎦⎤T[132341]=⎣⎡1011711131171117⎦⎤
证明: ( R T R ) T = R T R (R^TR)^T=R^TR (RTR)T=RTR
可能你对这样的转置不是很明白,那我就细细的讲一遍,举个例子不久明白了么。
假设有两个矩阵 A A A和 B B B,分别如下
A = [ 1 2 3 3 3 1 ] B = [ 1 5 3 2 6 4 4 7 5 ] A=\begin{bmatrix}1&2&3\\3&3&1\end{bmatrix}\quad B=\begin{bmatrix}1&5&3\\2&6&4\\4&7&5\end{bmatrix} A=[132331]B=⎣⎡124567345⎦⎤
我们可以先看看
A B = [ 17 38 26 13 40 26 ] ( A B ) T = [ 17 13 38 40 26 26 ] AB = \begin{bmatrix}17&38&26\\13&40&26\end{bmatrix}\quad (AB)^T=\begin{bmatrix}17&13\\38&40\\26&26\end{bmatrix} AB=[171338402626](AB)T=⎣⎡173826134026⎦⎤
那让我们看看
B T A T = [ 1 2 4 5 6 7 3 4 5 ] [ 1 3 2 3 3 1 ] = [ 17 13 38 40 26 26 ] B^TA^T=\begin{bmatrix}1&2&4\\5&6&7\\3&4&5\end{bmatrix}\begin{bmatrix}1&3\\2&3\\3&1\end{bmatrix}=\begin{bmatrix}17&13\\38&40\\26&26\end{bmatrix} BTAT=⎣⎡153264475⎦⎤⎣⎡123331⎦⎤=⎣⎡173826134026⎦⎤
由于我们对 A B AB AB进行转置操作,使得原先的列变成行,而 A B AB AB是B将A中的列进行线性组合,在转置后则要变成 B B B将 A A A中的行进行线性组合,则 B B B要进行左乘同时 A A A和 B B B都要进行转置才可以。即
( A B ) T = B T A T (AB)^T=B^TA^T (AB)T=BTAT
定义: A T = A A^T=A AT=A
举个例子吧:
[ 3 1 7 1 2 9 7 9 4 ] \begin{bmatrix}3&1&7\\1&2&9\\7&9&4\end{bmatrix} ⎣⎡317129794⎦⎤这个就是对称矩阵,对称矩阵很有用,之后还有详解。
置换矩阵是一种系数只由0和1组成的方块矩阵。置换矩阵的每一行和每一列都恰好有一个1,其余元素都是0。上述是维基百科的解释,这个意思是置换矩阵是单位阵 I I I各行排列的结果。
举个例子3X3单位阵的置换矩阵有如下:
[ 1 0 0 0 1 0 0 0 1 ] , [ 0 1 0 1 0 0 0 0 1 ] , [ 0 0 1 0 1 0 1 0 0 ] , [ 1 0 0 0 0 1 0 1 0 ] , [ 0 1 0 0 0 1 1 0 0 ] , [ 0 0 1 1 0 0 0 1 0 ] \begin{bmatrix} 1&0&0\\0&1&0\\0&0&1\end{bmatrix}_,\begin{bmatrix} 0&1&0\\1&0&0\\0&0&1\end{bmatrix}_,\begin{bmatrix} 0&0&1\\0&1&0\\1&0&0\end{bmatrix}_,\begin{bmatrix} 1&0&0\\0&0&1\\0&1&0\end{bmatrix}_,\begin{bmatrix} 0&1&0\\0&0&1\\1&0&0\end{bmatrix}_,\begin{bmatrix} 0&0&1\\1&0&0\\0&1&0\end{bmatrix} ⎣⎡100010001⎦⎤,⎣⎡010100001⎦⎤,⎣⎡001010100⎦⎤,⎣⎡100001010⎦⎤,⎣⎡001100010⎦⎤,⎣⎡010001100⎦⎤
总共6种置换矩阵,通过分析,我们可以看成n行(或n列)进行排列而得出的置换矩阵,而这个排列的结果总共是 n ! n! n!种。
置换矩阵有一个很好的性质就是 P − 1 = P T P^{-1}=P^T P−1=PT,我们可以分析以上例子,随便先找个矩阵比如 [ 0 1 0 0 0 1 1 0 0 ] \begin{bmatrix}0&1&0\\0&0&1\\1&0&0\end{bmatrix} ⎣⎡001100010⎦⎤,我们将它和它的转置相乘可得
[ 0 1 0 0 0 1 1 0 0 ] [ 0 0 1 1 0 0 0 1 0 ] = [ 1 0 0 0 1 0 0 0 1 ] \begin{bmatrix}0&1&0\\0&0&1\\1&0&0\end{bmatrix}\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix} ⎣⎡001100010⎦⎤⎣⎡010001100⎦⎤=⎣⎡100010001⎦⎤
我们惊奇地发现它和它的转置相乘变成了单位阵即 P P T = I PP^T=I PPT=I,根据矩阵的逆的定义(这里不懂的可以先跳过)我们可以得到 P − 1 = P T P^{-1}=P^T P−1=PT,你也可以试试其他的置换矩阵。为什么呢,等到我讲到正交矩阵的时候你在回来看你就明白了。