线性空间
线性空间 是一个关于以下两个运算封闭的向量集合。
- 向量加法 a+b,其中 a,b 均为向量
- 标量乘法 k\*a,也称数乘运算,其中 a 是向量,k 是常数(标量)
给定若干个向量 a1,a2,…,ak,若向量 b 能由 a1,a2,…,ak 经过向量加法和标量乘法运算得出,则称向量 b 能被向量 a1,a2,…,ak 表出。而 a1,a2,…,ak 能表出的所有向量构成一个线性空间,a1,a2,…,ak 被称为这个线性空间的生成子集。
任选线性空间中的若干个向量,如果其中存在一个向量能被其他向量表出,则称这些向量线性相关,否则称这些向量线性无关。
线性无关的生成子集被称为线性空间的基底,简称基。基的另一种定义是线性空间的极大线性无关子集。一个线性空间的所有基包含的向量个数相等,这个数被称为线性空间的维数。
例如,平面直角坐标系中的所有向量构成一个二维线性空间,它的一个基就是单位向量集合 {(0,1)(1,0)}。平面直角坐标系的 x 轴上的所有向量构成一个一维线性空间,它的一个基就是 {(1,0)}。
对于一个 n 行 m 列的矩阵,我们可以把它的每一行看作一个长度为 m 的向量,称为 “行向量”。矩阵 n 个行向量能够表出的所有向量构成一个线性空间,这个线性空间的维数被称为矩阵的 “行秩”。同理,我们可以定义列向量和列秩。实际上,矩阵的行秩一定等于列秩,它们都被称为矩阵的秩。
把这个 n\*m 的矩阵看作 “系数矩阵” 进行高斯消元(增广矩阵的最后一列全看作 0),得到一个简化阶梯形矩阵。而这个简化阶梯形矩阵的所有非零向量一定线性无关,因为初等行变换就是行向量之间进行的向量加法和标量乘法运算,所以高斯消元不会改变矩阵的行向量表出的线性空间。因此,简化阶梯形矩阵的所有非零向量就是该线性空间的一个基,非零行向量的个数就是矩阵的秩。
线性空间的概念还可以进一步推广,不仅限于向量、向量加法和标量乘法。例如 “异或空间” 就是一个很常见的形式,异或空间是一个关于异或运算封闭的非负整数集合。可以在异或空间中用类似的方法定义 “表出” 、“线性无关”、 “基底” 等。
若整数 b 能由整数 a1,a2,…,ak 经异或运算得出,则称 b 能被 a1,a2,…,ak 表出。a1,a2,…,ak 能表出的所有整数构成一个异或空间,a1,a2,…,ak 被称为这个异或空间的生成子集。
任选出异或空间中的若干个整数,如果其中存在一个整数能被其他整数表出,则称这些整数线性相关,否则称这些整数线性无关。异或空间的基就是异或空间中一个线性无关的生成子集,或者定义为异或空间的极大线性无关子集。
给定 n 个 0∼2m−1 之间的整数 a1,a2,…,an,如何求出这 n 个整数表出的异或空间的基呢?我们可以把它们看作 m 位二进制数,写成一个 n 行 m 列的 01 矩阵,矩阵中第 i 行从左到右依次是 ai 的第 m−1,m−2,…,1,0 位(二进制的最低位称为第 0 位),把矩阵作为系数矩阵,用高斯消元求解异或方程组的方法,将其转化为简化阶梯形矩阵,简化阶梯形矩阵的每一行也是一个整数,所有非零整数一起构成异或空间的基。