![Python数据分析从小白到专家](https://wfqqreader-1252317822.image.myqcloud.com/cover/745/38209745/b_38209745.jpg)
4.1.3 矩阵及矩阵的运算
在讨论“矩阵”的概念之前,读者需要先了解“线性方程组”的概念。线性方程组分为“n元非齐次线性方程组”和“n元齐次线性方程组”两种。n元非齐次线性方程组是指由n个未知数、m个方程组成的方程组,其中,aij是第i个方程的第j个未知数的系数,bi是第i个方程的常数项,i=1,2,…,m;j=1,2,…,n。当常数项b1,b2,…,bm不全为0时,该方程组被称为“n元非齐次线性方程组”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_73_4.jpg?sign=1739286916-PzGBi5me7z5PIbAeYSYDNtQ9aLNRdTIu-0-9a4c14d39570e8330e0b1b7fa39a1787)
反之,当b1,b2,…,bm全为0时,该方程组被称为“n元齐次线性方程组”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_73_5.jpg?sign=1739286916-bYHrDFR4bkR6ZIm4cDxNIL23K7nadXFs-0-0676f4b215f0b91215a41993291db075)
“n元线性方程组”往往会被简称为“线性方程组”或“方程组”。解的概念也在4.1.1节中提到过。既然知道了矩阵可以用来求解方程组,那么接下来就来介绍矩阵的定义。
由m×n个数aij(i=1,2,…,m;j=1,2,…,n)排成的m行n列的数表加上中括号后得到如下式子:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_1.jpg?sign=1739286916-ZW6XA6fUs1vwaWzMha60HXUsAPIsVZio-0-b72cde02fb08f426665f5fb4c04330f8)
上式被称为m行n列矩阵,简称为“m×n矩阵”。
若组成矩阵的元素全是实数,则称为“实矩阵”;若全为复数,则称为“复矩阵”。行和列都为n的矩阵称为“n阶方阵”。只有一行的矩阵称为“行矩阵”或“行向量”,示例如下:
A=[a1 a2 … an]
只有一列的矩阵被称为“列矩阵”或“列向量”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_2.jpg?sign=1739286916-u4zzQqLDYssj8xSb19txiqLK1wGF7h62-0-a26c05445a81026d5c5c82470b9661df)
下面介绍几种不同类型的矩阵的概念,分别为“系数矩阵”、“未知数矩阵”、“常数项矩阵”和“增广矩阵”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_3.jpg?sign=1739286916-FygMg4feDlHEO8jroL6bXgt17dCA7dRN-0-9dcc2be61a4f9fe4b9e20c1b9a82ba20)
式中,A是“系数矩阵”,x是“未知数矩阵”,b是“常数项矩阵”,B是“增广矩阵”。
紧接着介绍对角阵,构成矩阵Λ的主对角线的数字全不为0,而其他的元素全为0,则称为“对角阵”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_4.jpg?sign=1739286916-wbiAUeKgvAoFnEKJGgcEoFYZlqHup8yw-0-5608dfd18b97b16159bb53c107b56d69)
而主对角线的数字全为1的对角阵称为“单位阵”,记为E,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_5.jpg?sign=1739286916-FNpLJG521RvdKtSgsCA19VQLLPEMRCAg-0-af52736d95c741c3b286f6ec0e28def0)
不仅是线性方程的求解需要借助矩阵运算,众所周知,图像在计算机上显示为二维的像素点阵,想要将图像旋转,也需借助矩阵运算,实际上是先将二维的像素点阵转化为2阶矩阵,再通过矩阵乘法计算。在此之前,读者还需要了解矩阵的相关运算法则。
先来看矩阵的加法运算,设有两个m×n的矩阵A=(aij)和B=(bij),那么它们的和记为
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_75_1.jpg?sign=1739286916-zToNxOR8GUbKyIAgOo6LdbZVXSwRTz2t-0-7202fd42345a9528d151d5e480fcf05d)
只有当矩阵A、矩阵B和矩阵C都是m行n列时,A和B才可以相加,且需要符合以下两条规则。
(1)A+B=B+A。
(2)(A+B)+C=A+(B+C)。
同时规定矩阵的减法运算为A-B=A+(-B),即将矩阵B中的值全部加负号和矩阵A相加求和。下面来介绍数与矩阵的乘法以及矩阵与矩阵的乘法。
数λ与矩阵A的乘积记作λA或Aλ,式子如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_75_2.jpg?sign=1739286916-BpX5NRZgqVABV1RkA8Wkij9eXUSQhGf8-0-60be9ece8289c869b48710148a20d816)
数与矩阵的乘法满足下面的规则(假设A、B为m×n的矩阵,λ、μ为数)。
(1)(μλ)A=μ(λA)。
(2)(μ+λ)A=μA+λA。
(3)μ(A+B)=μA+μB。
矩阵相加和数乘矩阵统称为矩阵的线性运算。
这里以一个2×3矩阵与一个3×2矩阵相乘为例,介绍矩阵与矩阵相乘的用法,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_75_3.jpg?sign=1739286916-qnLOos6FiKuUFjO7hpAIzQQvbixlDAjv-0-9b1c978e4b87771f8b48726dab377283)
由此可以得出结论:设A=(aij)是一个m×s矩阵,B=(bij)是一个s×n矩阵,那么矩阵A与矩阵B相乘的结果必定是一个m×n矩阵,记为C=(cij),并且满足
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_75_4.jpg?sign=1739286916-HfR8nbVFsvlUXV4JStwDrwjsnqi88ugH-0-a4a7d04064b2402c0e45ea5c75bf11ef)
需要注意的是,矩阵乘法不满足交换律,即AB≠BA,当然这只是在通常情况下。若满足AB=BA这一条件,就称“矩阵A与矩阵B是可交换的”,而这只是一个巧合。矩阵乘法虽然不满足交换律,但是满足结合律和分配律,即
(1)(AB)C=A(BC);
(2)λ(AB)=(λA)B;
(3)A(B+C)=AB+AC;
(4)EmAm×n=Am×n=Am×nEm(可简记为EA=A=AE,E是单位矩阵)。
还有一个概念是矩阵的转置,矩阵D的转置矩阵记为DT。示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_76_1.jpg?sign=1739286916-hINDrM2suPIj03XFJvl3IE7u3XpLbviT-0-5a26a56446656dc197233661e3d918af)
它的转置矩阵为
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_76_2.jpg?sign=1739286916-TEbsbej29VG4VOwsrslwt9JTTzV1NxE4-0-95abca13ccf0301a22990cdd50c83dfa)
矩阵的转置作为一种单独的运算,遵循如下的运算法则。
(1)(AT)T=A。
(2)(A+B)T=AT+BT。
(3)(λA)T=λAT。
(4)(AB)T=BTAT。
若BT=B,则称矩阵B是“对称矩阵”,简称“对称阵”,它的特点是元素以对角线为对称轴对应相等。
下面介绍方阵的行列式:由n阶方阵A的元素所构成的行列式(各元素的位置不变),称为方阵A的行列式,记为detA或|A|。
需要注意的是,方阵与行列式是两个不同的概念,n阶方阵是n2个数按一定方式排列成的数表,而n阶行列式则是这些数构成的数表A按一定运算法则得到的一个数。方阵的行列式的运算法则如下。
(1)|AT|=|A|。
(2)|λA|=λn|A|。
(3)|AB|=|A||B|。
下面介绍“伴随矩阵”。行列式|A|的各个元素的代数余子式Aij所构成的如下矩阵:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_1.jpg?sign=1739286916-g7z0rO7jkMyq7VNxtJVvSImuDin3GDgD-0-e8b7ee59a688e8ad377bea813d6ba170)
称为矩阵A的“伴随矩阵”,简称“伴随阵”,记为A*。
同样地,根据伴随矩阵的性质,其满足如下公式:
A*A=|A|E
“逆矩阵”又被称为“逆阵”。假设矩阵A可逆,那么矩阵A只有一个逆矩阵,且满足如下式子:
AB=BA=E
其中,E是单位阵,A是示例矩阵,B是矩阵A的逆矩阵,也可记为A-1,即B=A-1。逆矩阵具有如下性质:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_2.jpg?sign=1739286916-qfZfj46HitqUAnyriAtd39mhI5IuJtnL-0-e4ab9d6f9142b1d0167c8d27cd6f4e93)
其中,A*是矩阵A的伴随矩阵;A-1是矩阵A的逆矩阵;|A|是矩阵A的行列式。这里有一个关于逆矩阵的重要推论:若AB=E或BA=E,则B=A-1,这也印证了在开始讲解逆矩阵时的说法。
克拉默法则是用来求n个n元线性方程组的。这里使用本节开头所示的线性方程组,具体如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_3.jpg?sign=1739286916-RvnbD6epiebFTbDxTKMFQFbbh2Jx9XPh-0-1cb2dc18177155a75e15c040a613f7a2)
如果上式的系数矩阵行列式不等于0,那么齐次方程组有唯一解,如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_4.jpg?sign=1739286916-rBmipJL0A4y5BUDXwIYNAf2xvLx7cwAt-0-1f78827df75bbb0972ca83d74f1a22e7)
其中,Aj(j=1,2,…,n)是把系数矩阵A中第j列的元素用方程组右端的常数项代替后得到的n阶矩阵,如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_5.jpg?sign=1739286916-4Hhgqu0W7KG9Xqckze8a0zesplzXfhe9-0-e866a496f97c9add1d2716a98897bb81)