![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=1738882402-1nc0AzlBj386Ae9NniKi8MV2hXljkhd5-0-e7f2c56d27236ce5795c438b1869ec21)
反之,当b1,b2,…,bm全为0时,该方程组被称为“n元齐次线性方程组”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_73_5.jpg?sign=1738882402-y16tvTfXzO09Yd94SU88jYS5tw3qKF7T-0-5bc464ca52c69486ca9146b74aeef006)
“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=1738882402-3goQlpWC8JuWUKN1IN7V9VU64FZgBTCy-0-7fc61f2ade8cd5ad3120680a8199ac55)
上式被称为m行n列矩阵,简称为“m×n矩阵”。
若组成矩阵的元素全是实数,则称为“实矩阵”;若全为复数,则称为“复矩阵”。行和列都为n的矩阵称为“n阶方阵”。只有一行的矩阵称为“行矩阵”或“行向量”,示例如下:
A=[a1 a2 … an]
只有一列的矩阵被称为“列矩阵”或“列向量”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_2.jpg?sign=1738882402-0wf0zoYxjIo1YDIO00HlB5hAlmzAqXX1-0-97a816bf727bae873859b3980721469b)
下面介绍几种不同类型的矩阵的概念,分别为“系数矩阵”、“未知数矩阵”、“常数项矩阵”和“增广矩阵”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_3.jpg?sign=1738882402-5H0w988hKvhdaFZbZqULeOawuZeSzAzY-0-b561c4266219b8422ca6a8ab7a969dad)
式中,A是“系数矩阵”,x是“未知数矩阵”,b是“常数项矩阵”,B是“增广矩阵”。
紧接着介绍对角阵,构成矩阵Λ的主对角线的数字全不为0,而其他的元素全为0,则称为“对角阵”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_4.jpg?sign=1738882402-FW1nZVFH0oKYxxfRawJ88hwA4uMgQ7tK-0-003e20618ac1cce62765f0ecc4ca14c3)
而主对角线的数字全为1的对角阵称为“单位阵”,记为E,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_5.jpg?sign=1738882402-c3YFxp41E9JymUdJ2U0jmC698T9vVGvC-0-9b3ae94c4f5c0e0bb9b5b90728a0fed2)
不仅是线性方程的求解需要借助矩阵运算,众所周知,图像在计算机上显示为二维的像素点阵,想要将图像旋转,也需借助矩阵运算,实际上是先将二维的像素点阵转化为2阶矩阵,再通过矩阵乘法计算。在此之前,读者还需要了解矩阵的相关运算法则。
先来看矩阵的加法运算,设有两个m×n的矩阵A=(aij)和B=(bij),那么它们的和记为
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_75_1.jpg?sign=1738882402-BCDHnMXUvIEv4mMYMMYZ9kICxXySoL82-0-c806a29ae0aadd14d029415165e932be)
只有当矩阵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=1738882402-rTJvkggmITvB87GxbrgXFtS9sTASbViE-0-963b5e568d35a5a2f4b14183010fb581)
数与矩阵的乘法满足下面的规则(假设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=1738882402-YTIlNmfv3SZPysPriD57dRlmthYfQazk-0-7952c2851f869c55550b160a74a4ce94)
由此可以得出结论:设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=1738882402-NY5MlGwh8m0mgcO7CMpj9sl6Tdce9Mwk-0-58700106df0e105eb756ec87232f28c7)
需要注意的是,矩阵乘法不满足交换律,即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=1738882402-WfYrksVMG3W7OS9hWYleVt6ZcWXp9WFP-0-92152f756a2b8ebb5e7266aa6837c686)
它的转置矩阵为
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_76_2.jpg?sign=1738882402-olcrRUaPueruqC8czhXeAwEtf8a4tFDk-0-01529b8c103680806838505c9e1b5669)
矩阵的转置作为一种单独的运算,遵循如下的运算法则。
(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=1738882402-eQvt5eQVkBqJGiZwBofpitr9TGer3gYS-0-61ccac1474ecd8f4c94716f0a1b35536)
称为矩阵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=1738882402-y9r5Y3MRMzxy0m83sNnS60EYs3r5dW2e-0-646f1f420d21f0a4225b12b8f1946513)
其中,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=1738882402-pHT3CFYbUMgbMlbVD9ysn2xd4dyFPKB7-0-f63cdbf24ea7f79afa3f05674c55de94)
如果上式的系数矩阵行列式不等于0,那么齐次方程组有唯一解,如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_4.jpg?sign=1738882402-SHk6wYf6kRyIUYNa6XJKYx3B4ylhU9b9-0-c49d9d18d5f4b76b394a1a2b52c72a9c)
其中,Aj(j=1,2,…,n)是把系数矩阵A中第j列的元素用方程组右端的常数项代替后得到的n阶矩阵,如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_5.jpg?sign=1738882402-jGEcO0g20aO6PTHK4BNMDcorq3GRSoou-0-fd6492be27b1d9e2d0ea1c1c717444c6)