固定一个矩阵,就得到两个子空间:
- 由各列向量张成的子空间;
- 由各行向量张成的子空间。
它们分别描述矩阵的可能输出,以及各行能生成的线性方程。
- 对于方程组 ,哪些右端向量 真的可能出现?
- 各行里面实际上保存了多少独立的线性信息?
- 把冗余完全删掉以后,还剩下多少个真正独立的方向?
答案就叫做矩阵的 列空间、行空间 和 秩。
列空间:矩阵能够输出什么?
设 是一个 矩阵,把它的列写成
定义
列空间
矩阵 的 列空间,记作 ,就是 各列向量的张成:
它是 的一个子空间。
这个定义最有用的读法,是通过矩阵乘法理解。 如果 ,那么
所以任何形如 的向量,都是各列向量的线性组合。 反过来说,任何由各列向量组成的线性组合,也都可以写成某个 。
定理
列空间就是所有可能输出
对任意 矩阵 ,
因此向量 属于 ,当且仅当方程组 相容、有解。
行空间:各行带着什么线性信息?
将 的各行记为 ,每行是 矩阵。为了把它们的张成视为通常列向量空间 的子空间,我们明确使用各行的转置。
定义
行空间
矩阵 的行空间定义为
它是 的子空间。
因此 表示存在 使 ,等价地,:行向量 是 各行的线性组合。计算时可以把行横向写出,但下面的行空间基底由这些行的转置组成。这个约定使 成为列向量集合之间真正的相等。
比较空间之前,必须检查所在空间的维数。 的列有 个分量,所以 ;转置后的行有 个分量,所以 。对 使用同一定义,还得到 。即使 ,两者位于同一空间,也不保证两个张成相等。区别在于实际成员,而不只是名称不同。
秩:把独立方向数清楚
列空间的维数叫做 列秩, 行空间的维数叫做 行秩。 线性代数的一条核心定理告诉我们,这两个数其实相等。
定义
秩
矩阵 的秩定义为其 RREF 中主元的个数 。下面的基底定理将证明等价的维数公式:
当你把矩阵行化简到 RREF 以后,主元列的个数正好就是秩。 所以秩衡量的是:去掉所有冗余以后,还保留了多少个独立方向。
要找 的一组基底,应当使用 原矩阵 中与主元列对应的列。
要找 的一组基底,就使用 的 RREF 的全部非零行的转置。
主元位置是从 RREF 里读出来的,但列空间的基底向量必须回到原矩阵里面去取。
例题:一次行化简读出列空间、行空间和秩
例题
从同一个矩阵读出列空间、行空间与秩
考虑
行化简得到
可以依次执行 、、。第三行变为零,前两行的首一分别位于第一、二列,得到的正是所显示的 RREF,而不只是主元位置尚未解释的阶梯矩阵。
这里有两个主元列,也就是第 列和第 列。
把 的列记为
那么列空间的一组基底就是
因为其余列都可以由它们表示出来:
对于行空间,则使用 的非零行的转置:
于是
最后,如果
那么 ,因为
等价地,方程组 是有解的。
这张静态图整理上面的例题:主元位置由 RREF 读出,列空间的基向量取自原矩阵,RREF 非零行的转置形成行空间的一组基,而两个空间的维数同样等于秩。
一次 RREF 给出的三个结果
下方图解重新整理同一个例题。请区分从 RREF 读出的信息,以及必须回到原矩阵取得的列空间基向量。
行化简时,到底保留了什么?
行化简保留其中一部分结构,也会改变另一部分结构。
定理
可逆乘法保留哪些空间
设 为实 矩阵, 为可逆 矩阵, 为可逆 矩阵,则
特别地,行等价矩阵具有相同行空间;它们的列空间却未必相等。
证明
在反向包含中使用逆矩阵
若 ,写成 ,便知 。反过来,若 ,取 ,则 ,得到反向包含。第一个方向无须逆矩阵,第二个方向用它构造所需的系数向量。
现在 ,而 可逆,其逆为 。应用刚才的结论,得 。一串行变换就是左乘某个可逆 ,所以行等价的结论随之成立。等价地,每个新行是旧行的组合,而逆向执行行变换又给出两个张成之间的反向包含。
左乘对输出有不同作用:,因为两种描述都来自 。这是原列空间的可逆像,未必是 中相同的子集。若 行数相同,同时左乘同一个可逆 ,则 当且仅当 :正向对相等集合施加 ,反向施加 。比较两个变换后的空间,与声称其中任何一个不变,是不同的结论。
为什么基底规则与秩相等成立
定理
主元基底与行列秩相等
设实 矩阵 的 RREF 为 ,有 个主元,所在列为 。原矩阵的列 构成 的基底; 的 个非零行的转置构成 的基底。因此
证明
先保留系数再检查主元坐标
写成 ,其中 可逆,并把 的列记为 。对每个系数向量 ,
左边为零当且仅当括号内的和为零:一个方向乘以 ,另一个方向乘以 。所以所有齐次列关系连同其准确系数,在两个方向都保持。只涉及选定列的关系,也可在其余位置补零系数来处理。
的主元列分别在不同主元行上有一个一,其余元素为零,因此线性无关。每个 都是它们以 为系数的组合,因为第 行以下全为零。关系保持说明对应的原主元列能张成每个 。若原主元列的一个组合为零,它对应到 主元列的零组合,迫使全部系数为零。这同时证明了列基底的生成性与无关性。
对于行基底,已知 。删去零行后,非零行的转置仍构成生成列表。若它们以 为系数的组合为零,检查第 个坐标。RREF 的这个主元列只在第 行为一,其他行全为零,因此该坐标就是 。所有系数都为零,故列表线性无关。两个基底各有 个向量,维数相等随之成立。若 ,矩阵为零,两个空间分别是所在空间的零子空间,基底均为空列表。
这说明为什么行化简为列基底提供位置,却为行基底直接提供向量。交换行列空间,还得到 。对于 矩阵,主元占据互不相同的行与列,所以秩不超过 。秩是一个数;这些数值相等并没有声称行空间与列空间作为集合相等。
维数相等不能确定空间相等
例题
同一个方阵的两个不同空间
考虑
前三列线性无关,因为零组合的前三个坐标迫使全部系数为零。第四列等于第一列加第二列的一半,再加第三列的三分之一。因此 ,维数为三。两个包含方向都明确:每列末坐标为零,而每个所列向量都能以 为系数由前三列生成。
非零行的转置是 、、。检查前三个坐标可知它们线性无关,其余行为零,所以它们构成 的基底。一般组合给出
所以 ,却不属于 。反过来,,却不满足所写的行空间条件。两个空间都是同一 的子空间,维数都为三,仍然并不相等。把第二、三行分别乘以 、 可得三个主元,与秩为三一致。
反例模式
行化简可以改变列空间
错误命题。 行等价矩阵具有相同的列空间。
取
所做的运算是从第二行减去第一行,加回第一行就是逆运算。直接可得 ,而 。非零向量 不可能等于 :首坐标要求 ,第二坐标却要求 。所以两个空间不同。但两者的行空间都等于 ,秩都为一。第二列的冗余关系也保留:两矩阵的第二列均为零。
修正命题。 行变换保留行空间、秩以及列关系的系数。实际列空间变为 ;原列空间的基底必须从主元位置对应的原列中选取。本例的 RREF 主元列甚至不属于原列空间,自然不能成为它的基底。
判断向量是否属于列空间时也要处理右端
例题
用一个方程描述列空间
设
第一行的两倍加第二行的十六倍,再加第三行的五倍,得到零行。因此每个输出 都满足 。这证明了所提列空间描述的一个包含方向;每个输出都满足的条件,尚不足以保证它描述全部输出。
反过来,假设这个方程成立。只使用前两列,系数取为
它们的组合为 。前两个坐标是 ,最后一个由假设等于 。因此 ,证明反向包含。于是
对于 ,条件给出 ;事实上它是第一列的六倍。对于 ,条件给出 ,所以 不相容。一个向量由明确系数选择验证,另一个由必要的输出方程排除。
更一般地,若 是含 个主元的 RREF,则 等价于 。零行要求 的最后 个坐标为零;主元方程不对右端再增加条件。当 时,取 的这些末行为矩阵 ,便得到 。这是用方程而非生成向量描述列空间。若行秩满,没有这类限制,便有 。右端必须接受与 相同的行变换;只化简 而保留 不动,会检验另一个方程组。
常见错误
常见错误
不要把 RREF 的主元列直接当成列空间的基底
行化简通常会改变列空间。所以虽然主元位置是从 RREF 里读出来的,但 真正的基底向量必须取自原矩阵中对应的列。
另一个常见错误,是因为列空间和行空间维数相同,就说它们是同一个子空间。 维数相同只表示独立方向的个数相同,不表示两个子空间本身相等。
快速检查
思考检查
如果 是一个 矩阵, 和 分别位于哪个空间?
分别数一数一列有多少个分量,一行有多少个分量。
解答 · 答案
是 的子空间,因为每一列有 4 个分量。 是 的子空间,因为每一行有 3 个分量。
思考检查
如果某个矩阵的 RREF 有三个主元列,它的秩是多少?
回忆秩是怎样从 RREF 读出来的。
解答 · 答案
秩是 。
练习
思考检查
设 。求秩,并求列空间的一组基底。
先做行化简,找出主元列,再回到原矩阵取对应的列。
解答 · 引导解答
从第三行中减去第一、二行,得到 RREF
恰有两个主元,位于第一、二列,所以秩为二。前两行的主元证明下界,第三行全零则证明上界。
因此列空间的一组基底是
第三列是前两列之和,所以它没有提供新的方向。
先读这些章节
这一节特别依赖 2.3 高斯消元与 RREF、 3.3 转置、对称矩阵与反对称矩阵 和 6.5 基与维数。