Python数据分析从小白到专家
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1.4 矩阵的初等变换与秩、向量组与线性相关

首先了解一下什么是矩阵的初等变换。在数据分析中,涉及矩阵的相关运算时,操作人员了解矩阵的初等变换的相关概念是必不可少的。如下三种变换称为矩阵的初等变换。

(1)对换两行或两列。

(2)用一个常数,记为k,且k不为0,乘以矩阵的某一行或某一列。

(3)将矩阵的某一行或某一列乘以k倍(k不为0,但可以是1)后,加到另一行或另一列,最后将得到的新矩阵作为结果。

需要注意的是,行(row)取其英文首字母r作为标记,ri的意思是第i行。列(column)取其英文首字母c作为标记,ci的意思是第i列。矩阵A经过初等变换可以得到矩阵B,则称矩阵A与矩阵B相似,记作“AB”。

等价的矩阵的性质与关系如下。

(1)AA,一个矩阵与其本身是相似的,被称为“反身性”。

(2)若AB,则BA,这种性质被称为“对称性”。

(3)若ABBC,则有相似关系AC。可见,相似关系是可以传递的,这种性质被称为“传递性”。

还有一种矩阵叫“行阶梯矩阵”,是指在一个非零的矩阵中非零行均在零行的上面,且非零行的第一个非零数字前都是数字0,示例如下:

矩阵的初等变换也是矩阵的运算,相比矩阵相加和矩阵相乘而言,其要稍复杂一些。矩阵的初等变换具有如下特殊性质(设ABm×n矩阵)。

(1)的充要条件是存在m阶可逆矩阵P,使得PA=B

(2)的充要条件是存在n阶可逆矩阵Q,使得AQ=B

(3)AB的充要条件是存在n阶可逆矩阵Qm阶可逆矩阵P,使得PAQ=B

这里根据第(3)条性质可以知道:对一个m×n矩阵A进行一次“初等行变换”等于在它的左边乘m阶初等矩阵;对一个m×n矩阵A进行一次“初等列变换”等于在它的右边乘n阶初等矩阵。

下面介绍矩阵的“秩”。设在矩阵A中有一个不等于0的r阶子式D,且所有r+1阶子式全等于0,那么D就是矩阵A的“最高阶非零子式”,r即为矩阵A的“秩”,记作RA)。需要注意的是,若矩阵A是零矩阵,则它的秩等于0。

关于矩阵的秩有如下推论:若有可逆矩阵PQ满足PAQ=B,则RA)=RB)。以下是矩阵秩的几种性质。

(1)0≤R(Am×n)≤min{m,n}。

(2)R(AT)=R(A)。

(3)若AB,则RA)=RB)。

(4)若PQ可逆,则RPAQ)=RA)。

(5)max{R(A),R(B)}≤R(A,B)≤R(A)+R(B)。

(6)R(A+B)≤R(A)+R(B)。

(7)R(AB)≤min{R(A),R(B)}。

n维向量写成一行,称为“行向量”,而写成一列,则称为“列向量”,也可以称为“行矩阵”和“列矩阵”。在下面的式子中,第一个是列向量,第二个是行向量:

什么是向量?在解析几何中,把既有大小又有方向的量称为“向量”。向量可以随意移动(平移)而不影响其本身,同时在引入坐标系后,则有了二维向量(位于直角坐标系的向量)和三维向量(位于空间直角坐标系的向量),以及后来推广的n维向量(位于n维空间的向量)。还有一点需要说明,总是将含有有限个向量的有序向量组与矩阵相对应。例如,矩阵A含有m个向量,每条向量记为,其中,i是指向量组的第i条向量,所以矩阵Amn列的矩阵,示例如下:

下面介绍“线性组合”和“线性组合系数”的概念。给定向量组Aa1a2,…,an),对于任何一组实数k1k2,…,kn,有k1a1+k2a2+…+knan,这个式子即为“线性组合”,“线性组合系数”是k1k2,…,kn。向量b能由向量组Aa1a2,…,an)线性表示的充要条件是矩阵A=(a1a2,…,an)的秩等于矩阵B=(a1a2,…,anb)的秩。当向量组A和向量组B相互线性表示时,则称这两个向量组等价,即

R(A)=R(B)=R(A,B)

线性相关性分为“线性相关”和“线性无关”两种,当有线性组合

k1a1+k2a2+…+knan=0

时,则称向量组A“线性相关”,反之,则称向量组A“线性无关”。线性相关性可以用来判断解的个数,如4.1.3节所提到的方程组解的个数的例子:当“线性无关”时,满足式子RA)=n,此时方程组只有零解;当“线性相关”时,满足式子RA)<n,此时存在非零解。判断增广矩阵的秩与原矩阵的秩RA)的大小即可得到最后的结果。

(1),无解。

(2),有唯一解。

(3),有无穷多解。

再来介绍一下“向量空间”的概念,实际上可以简单地认为由n维向量的全体构成的集合Rn即为n维向量空间。这里给出如下的标准定义:“设Vn维向量的集合,如果集合V非空,且集合V对于向量的加法及数乘两种运算封闭(若aVbV,则a+bV;若aVλ∈R,则λaV),就称集合V为向量空间。”