![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=1739156740-JEedbux8jhb329WNocMMEYXZ55e9TjnV-0-0b581869397a76ae0f4f5c5fbe779200)
反之,当b1,b2,…,bm全为0时,该方程组被称为“n元齐次线性方程组”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_73_5.jpg?sign=1739156740-xf8pUBf5wWmFhAYPcNK8fYUhGPjMSOxb-0-f19888d80436c585f5c09c4c6164d450)
“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=1739156740-WrEXx5UrFjAtfaajbMfXdPni70HPOkgS-0-5e178c57d10b04394ffe303f9bec341b)
上式被称为m行n列矩阵,简称为“m×n矩阵”。
若组成矩阵的元素全是实数,则称为“实矩阵”;若全为复数,则称为“复矩阵”。行和列都为n的矩阵称为“n阶方阵”。只有一行的矩阵称为“行矩阵”或“行向量”,示例如下:
A=[a1 a2 … an]
只有一列的矩阵被称为“列矩阵”或“列向量”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_2.jpg?sign=1739156740-KZHyMeFLAqcSS8UiviRQxJOunmLia16Y-0-010fa9169151a579eddc7af023724123)
下面介绍几种不同类型的矩阵的概念,分别为“系数矩阵”、“未知数矩阵”、“常数项矩阵”和“增广矩阵”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_3.jpg?sign=1739156740-PfsQKqt2jeF1yRfn0lQRGViYLZTk558B-0-f2d54a17e1c82fc185fba5b1e6c32443)
式中,A是“系数矩阵”,x是“未知数矩阵”,b是“常数项矩阵”,B是“增广矩阵”。
紧接着介绍对角阵,构成矩阵Λ的主对角线的数字全不为0,而其他的元素全为0,则称为“对角阵”,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_4.jpg?sign=1739156740-EJhsS06BaOYsxjjsohBrirQq4CqsA6pE-0-203438f7dda4459080ef3689e3b61bd6)
而主对角线的数字全为1的对角阵称为“单位阵”,记为E,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_74_5.jpg?sign=1739156740-rMDqcgPmVREX1en53Y2ViLDQgP7JFg5Q-0-0372f574beefc4c04d1ab9c320a6b562)
不仅是线性方程的求解需要借助矩阵运算,众所周知,图像在计算机上显示为二维的像素点阵,想要将图像旋转,也需借助矩阵运算,实际上是先将二维的像素点阵转化为2阶矩阵,再通过矩阵乘法计算。在此之前,读者还需要了解矩阵的相关运算法则。
先来看矩阵的加法运算,设有两个m×n的矩阵A=(aij)和B=(bij),那么它们的和记为
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_75_1.jpg?sign=1739156740-fYTAg21SNF6wKSIpuWFe7raQAlToDlMs-0-25fc48cab0a8dbe36ac3cf6003c4bd50)
只有当矩阵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=1739156740-0sown29kt53sXwrgp2N4d6kFTfn6TnNc-0-cf50bed01fce2a92b89b244653d1000f)
数与矩阵的乘法满足下面的规则(假设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=1739156740-EiMeU00i3hLMZiWwBN9IrhMy1XoKXfWi-0-6c154cd5a3ddd817bcb7a363bafe0c0d)
由此可以得出结论:设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=1739156740-32RHBJUfzoOdD6RAU3noh1jV0Dh3riHa-0-aec0d0be409bc25a09112ccfc96941c1)
需要注意的是,矩阵乘法不满足交换律,即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=1739156740-8hgOFMPgtEWqkhbD8yuCqggn2VVdPqSh-0-f6abc0484e6073ac8a72db4a8d390292)
它的转置矩阵为
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_76_2.jpg?sign=1739156740-erHu546zT1wPcnhRbfENaCWf8EldIwym-0-0c20e38cfb58d88e4fc419af7fcb9580)
矩阵的转置作为一种单独的运算,遵循如下的运算法则。
(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=1739156740-bOUQTtxE2cM1wOZzILGQX2YwberypT1A-0-6bd643612ab3fd3fd97f6709f34c3d11)
称为矩阵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=1739156740-2Go2OepE3AiQ4bof3s9L5vLm1yBjvdVv-0-bace00af9eb847cdc8ffb2be01828410)
其中,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=1739156740-SuVdekrNVniTuINbGDMMkwNhKHx65Bnw-0-ab7c47fd7326bf02b86ecbd869d82d13)
如果上式的系数矩阵行列式不等于0,那么齐次方程组有唯一解,如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_4.jpg?sign=1739156740-1CVLoVcV9etHZElIMITy16KD49xqiGEl-0-9e2f43af3f1d3693741d01fda0da7f1d)
其中,Aj(j=1,2,…,n)是把系数矩阵A中第j列的元素用方程组右端的常数项代替后得到的n阶矩阵,如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_77_5.jpg?sign=1739156740-BgmDBGA7YXNMiwDRrcaD6sdOXrgxOBqg-0-6696324e20d8fe18482ce5f0f782fbfa)