矩阵可以被看成一个表格,每个格里面只能放数字的表格。“矩”的意思是矩形,由数字组成的矩形;“阵”的意思是整齐,这些数字排列起来是非常整齐的,并不会歪歪扭扭;矩阵中,横向的数字是行,竖向的数字是列,行和列都是整数,可以是1或者是n(n是整数);矩阵中,通过“第几行、第几列”这种简便的方式来确定某个数字的具体位置。矩阵是一个数据集成的符号,我们可把矩阵\(A\)看成是由若干个行向量组成的,批处理是矩阵运算中很重要的一个观点。
一 矩阵乘法的规定
矩阵乘法(英文:matrix multiplication)是一种根据两个矩阵得到第三个矩阵的二元运算,第三个矩阵即前两者的乘积,称为矩阵积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义。即:
首先,两个矩阵要是想相乘需要满足,第一个矩阵的列数等于第二个矩阵的行数,满足的话就可以相乘得到新的矩阵了
二 矩阵乘法实现解方程的消元法
消元法(elimination)是求解线性方程组的根本方法。消元法如果奏效了,方程就解出来了。消元法通过对线性方程组施行三种初等变换:
用一非零的数乘某一方程;
把一个方程的倍数加到另一个方程;
互换两个方程的位置。
将原方程组中某方程的某个未知量的系数为零——消去这个元;反复这样做,得到一个化简的线性方程组,这个是阶梯型方程组(系数及常数项均变为0的方程可去掉,因而方程个数未必与原方程个数相等),这样的阶梯型线性方程组容易判断是不是有解;有解时,容易得到所有的解,这就是用消元法求解的过程。
2.1 消元法应用
\[\begin{cases} 2x+4y-2z=2&(1)\\4x+9y-3z=8&(2)\\-2x-3y+7z=10&(3) \end{cases} \]第一步,方程 2 减去 2 倍的方程 1,得到$ y+z=4$。
第二步,方程 3 减去 -1 倍的方程 1,得到 \(y+5z=12\)。
第一步,方程 3 减去 1 倍的方程 2,得到 \(4z=8\)。
\begin{alignedat}{2} \boldsymbol 2&x \space+\space&4&y \space-\space&2&z=\space 2 \\ & \space\space&\boldsymbol 1&y \space+\space&1&z=\space 8\\ & \space\space&& \space\space&\boldsymbol 4&z=\space 8 \end{alignedat}
三个主元分别为 2, 1, 4,然后我们就可以用回带法求出方程组的解。
2.2 消元法的矩阵实现
24−2x1+x1+x1−493x2−x2−x2+237x3=2x3=8x3=10↔⎡⎣⎢24−249−3−2−37⎤⎦⎥⎡⎣⎢x1x2x3⎤⎦⎥=⎡⎣⎢2810⎤⎦⎥2x1+4x2−2x3=24x1+9x2−3x3=8−2x1−3x2+7x3=10↔[24−249−3−2−37][x1x2x3]=[2810]
\begin{alignedat}{2} 2&x_1 \space+\space&4&x_2 \space-\space&2&x_3=\space 2 \\ 4&x_1\space+\space&9&x_2 \space-\space&3&x_3=\space 8\\ -2&x_1 \space-\space&3&x_2 \space+\space&7&x_3=\space 10 \end{alignedat} \leftrightarrow \begin{bmatrix} 2&4&-2 \\ 4&9&-3\\-2&-3&7\end{bmatrix} \begin{bmatrix} x_1 \\ x_2\\x_3 \end{bmatrix} = \begin{bmatrix} 2 \\ 8\\10 \end{bmatrix}
对方程的两边同时进行一步消元,第 2 个方程减去第 1 个方程的 2 倍,我们可以得到:
⎡⎣⎢20−241−3−217⎤⎦⎥⎡⎣⎢x1x2x3⎤⎦⎥=⎡⎣⎢2410⎤⎦⎥[24−2011−2−37][x1x2x3]=[2410]
\begin{bmatrix} 2&4&-2 \\ 0&1&1\\-2&-3&7\end{bmatrix} \begin{bmatrix} x_1 \\ x_2\\x_3 \end{bmatrix} = \begin{bmatrix} 2 \\ 4\\10 \end{bmatrix}
相当于左右两边都乘以了一个矩阵 E21E21E_{21}
E21=⎡⎣⎢1−20010001⎤⎦⎥E21=[100−210001]
E_{21} = \begin{bmatrix} 1&0&0 \\ -2&1&0\\0&0&1\end{bmatrix}
E21=⎡⎣⎢1−20010001⎤⎦⎥∗⎡⎣⎢row1row2row3⎤⎦⎥=⎡⎣⎢row1row2−2row1row3⎤⎦⎥E21=[100−210001]∗[row1row2row3]=[row1row2−2row1row3]
E_{21} = \begin{bmatrix} 1&0&0 \\ -2&1&0\\0&0&1\end{bmatrix} * \begin{bmatrix} row1 \\ row2\\row3\end{bmatrix} = \begin{bmatrix} row1 \\ row2-2row1\\row3\end{bmatrix}
E21E21E_{21} 称为初等矩阵(elementary matrix)或者消元矩阵(elimination matrix),它可以很简单地从单位矩阵演化而来,EijEijE_{ij} 就是将单位矩阵 (i,j)(i,j)(i, j) 位置的 0 换成消元过程的乘数 −lij−lij-l_{ij}。
I=⎡⎣⎢100010001⎤⎦⎥→E21=⎡⎣⎢1−20010001⎤⎦⎥I=[100010001]→E21=[100−210001]
I = \begin{bmatrix} 1&0&0 \\ 0&1&0\\0&0&1\end{bmatrix} \to E_{21} = \begin{bmatrix} 1&0&0 \\ \boxed{-2}&1&0\\0&0&1\end{bmatrix}
给定如下方程组
\[\begin{cases} \ x+2y+z=2\\ 3x+8y+z=1\\ 4y+z=2 \end{cases} \]我们用矩阵形式来表示上面的方程组:
\[A=\left[\begin {array}{c} 1 &2 &1 \\ 3 &8 &1 \\ 0 &4 &1 \\ \end{array}\right] \]\[b=\left[\begin {array}{c} 2 \\ 1 \\ 2 \\ \end{array}\right] ;X=\left[\begin {array}{c} x \\ y \\ z \\ \end{array}\right] \]要求解方程组,也就是我们需要获取一个向量,使得:$$AX=b$$
2.1 交换矩阵的两行
行变换和列变换
受上面的消元矩阵的启发,交换矩阵中两行:
\[\begin{bmatrix} 0&1\\ 1&0\\ \end{bmatrix} \begin{bmatrix} a&b\\ c&d\\ \end{bmatrix}= \begin{bmatrix} c&d\\ b&a\\ \end{bmatrix} \]三 矩阵乘法在管理中实践
假设有这样一个问题。东郊农场、西郊农场和北郊农场都种植土豆、萝卜、红薯和花生。你在了解了今年这3个农场所有作物的产量(吨)后,想将产量情况汇报给你的上级。你会怎么做呢?你很可能会想到用一个表格来直观地表示:
土豆 | 萝卜 | 红薯 | 花生 | |
---|---|---|---|---|
东郊 | 45 | 37 | 29 | 18 |
西郊 | 22 | 26 | 37 | 15 |
北郊 | 34 | 27 | 21 | 41 |
如果只看数字部分的话,我们刚刚做出的表格就可以看作是一个矩阵。而当你从市场上得知了今年这四种作物的价格(万元/吨)后,土豆 3、萝卜 4、红薯 2、花生 5,你估算出了这几个农场今年的收益(万元)。从这几个农场每种产品的产量和单价到各个农场的总收入,这中间是怎么计算的呢?只需把每个农场每种作物的产量分别乘以单价,再求和即可。这个过程就是矩阵乘法的应用,写成矩阵的形式就是:
\[\begin{bmatrix} 45 & 37 & 29&18\\ 22 & 26 & 37&15\\ 34&27&21&41 \end{bmatrix} \times \begin{bmatrix} 3\\ 4\\ 2\\ 5 \end{bmatrix} = \begin{bmatrix} 431\\ 319\\457 \end{bmatrix} \]矩阵的乘法中需要注意的是,由于是表格相乘,所以并不满足乘法交换律。且第一个表格的列数要等于第二个表格的行数才行,因为结果表格中第\(m\)行\(n\)列的元素是由第一个表格中的\(m\)行和第二个表格中\(n\)列中的元素对应相乘并求和得到的。如上例中的3行4列矩阵×4行1列矩阵=3行1列矩阵。同时可以发现所得的矩阵的行列数等于第一个矩阵的行数和第二个矩阵的列数。
有了矩阵的乘法的计算方式之后,一些复杂繁琐的线性关系就可以方便地用矩阵来表示了。如:
就可以表示为 $Y=AX $,其中
\[Y= \begin{bmatrix} y_1\\ y_2\\ y_3 \end{bmatrix} X=\begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix} \]\[A= \begin{bmatrix} a_{11}& a_{12} & a_{13}\\ a_{21}&a_{22}&a_{23}\\ a_{31}&a_{32}&a_{33}\end{bmatrix} \]再如
\[y_1=b_{11} x_1+b_{12} x_2+b_{13} x_3+b_{14} x_4\\ y_2=b_{21} x_1+b_{22} x_2+b_{23} x_3+b_{24} x_4\\ y_3=b_{31} x_1+b_{32} x_2+b_{33} x_3+b_{34} x_4\\ y_4=b_{41} x_1+b_{42} x_2+b_{43} x_3+b_{44} x_4 \]可以表示为 $ Y=BX $,其中
\[Y= \begin{bmatrix} y_1\\ y_2\\ y_3 \end{bmatrix}; X= \begin{bmatrix} x_1\\ x_2\\ x_3\\ x_4 \end{bmatrix} \]\[B= \begin{bmatrix} b_{11}&b_{12}&b_{13}&b_{14}\\ b_{21}&b_{22}&b_{23}&b_{24}\\ b_{31}&b_{32}&b_{33}&b_{34}\end{bmatrix} \]反过来讲,矩阵\(A\)和\(B\)都可以写成\(y\)和\(x\)组成的方程组的形式,而方程组代表着从\((x_1,x_2,x_3)\)或\((x_1,x_2,x_3,x_4)\)到\((y_1,y_2,y_3)\) 的线性变换。也就是说,矩阵和线性变换存在着一一对应的关系,那么矩阵就可以作为一种研究线性变换的工具使用了。
在上一篇文章中的图像旋转矩阵就是一种线性变换。
\[\begin{bmatrix} x^{'}\\ y^{'} \end{bmatrix} = \begin{bmatrix} cos \theta & -\sin \theta\\sin \theta & \cos\theta \end{bmatrix} \times \begin{bmatrix} x \\ y \end{bmatrix} \]它将平面上的向量逆时针旋转了$ \theta$ 。
四 矩阵其他乘法——内积和外积
总结
参考资料
1.矩阵乘法核心思想(5):内积与外积
2.矩阵的乘法
3.