想象一座建立在平面上的数学王国,名字叫 R²。这座王国的居民是无穷多个向量,它们可以在平面上自由滑动、旋转、伸缩。从飞往东北方向的航向,到沿河缓行的船速,任何方向都能在王国里找到对应的居民。 现在,王国出台了一项社区自治法规:有些子集可以申请成为“合法社区”,但必须遵守两条铁律——任何两位居民的组合(做加法、乘系数)都必须留在社区里,而且社区必须有自己的中心广场(零向量)。凡是符合这套规矩的子集,我们叫它子空间。 这篇文章,就用“王国里的合法社区”这个画面,带你看清子空间究竟是什么、怎么判定、有哪些常见类型,以及子空间的交、和与维数公式。你会发现,数学里最抽象的判定规则,其实就是社区自治的基本条款。

岗位关联

子空间是理解数据结构和矩阵行为的钥匙。搞懂它,你就能看懂 PCA 降维、线性方程组的解结构、神经网络的参数空间,也能读懂推荐系统背后的代数直觉——这是 AI 从业者绕不开的数学地基。

目录
  1. 可视化演示
  2. 子空间的判定条件
  3. 原点就是零向量
  4. 王国的标配社区
  5. 两个社区的公共区域
  6. 联合辖区
  7. 维数公式
  8. 矩阵的四大子空间
  9. 子空间的实战应用
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

在二维平面上直观展示子空间的定义、加法与标量乘法封闭性,以及子空间交与和的几何意义,通过模式切换和参数调节深入理解线性代数核心概念。

本节配有交互动效(进入视口后自动加载,约 3KB)。

子空间定义 子空间是向量空间的非空子集,对加法和标量乘法封闭 ∀u,v∈W, u+v∈W; ∀c∈ℝ, cv∈W 包含零向量的子集,经过原点的直线、平面、超平面都是子空间

子空间的判定条件

社区自治法规的第一页写着“准入审查”。在 R² 这座王国里,不是随便一片领地都能自称社区。数学上,子空间是向量空间的一个子集,但它必须对两种基本操作保持封闭:向量加法与标量数乘。你可以把“加法和数乘”想象成居民的两种日常活动——结伴同行和变速前进。一个社区如果连这两种活动都不能保证居民留在区内,那它就名不副实。

这两条规则其实可以合并成一句话:任何两个向量的线性组合,仍然落在这个集合里。所谓线性组合,就是“先把两位居民分别拧到某个音量(数乘),再混在一起(加法)”。如果集合对任意音量分配和混合方式都封闭,它就是一个合格子空间。

判定子空间的标准流程就是三步:先检查集合是否非空,再看是否对加法封闭,最后看是否对数乘封闭。三条连过,社区执照才算盖章。许多初学者只验证加法与数乘,却忘了检查集合本身是否为空,这就像审查一个居民都没来登记的空镇——程序上必须先承认它连“存在”都谈不上。

回到王国的画面:一个社区要想合法,最紧要的是让“任意两人混合后仍在社区内”这一条成立。只要这条铁律立住了,子空间的身份就跑不掉。

∀u,v∈W, α,β∈R: αu+βv∈W\forall u,v \in W,\ \alpha,\beta \in \mathbb{R}:\ \alpha u + \beta v \in W
这个公式是说:从 W 里任选两个向量,再任意搭配两个实数系数,算出来的新向量依然在 W 内。它就是子空间的“营业执照”。
  1. 任取两个居民\(u\) 和 \(v\) 是子空间 \(W\) 中任意两个向量,相当于社区里随便抓两位居民来测试。
    u,v∈Wu, v \in W
  2. 拧动音量旋钮\(\alpha\) 和 \(\beta\) 是任意实数(标量),相当于给两位居民分配任意速度或缩放倍数。
    α,β∈R\alpha, \beta \in \mathbb{R}
  3. 混合后不许出界线性组合 \(\alpha u + \beta v\) 的结果必须仍然属于 \(W\),这是封闭性的最终裁决。
    αu+βv∈W\alpha u + \beta v \in W

原点就是零向量

每个社区都必须有一个中心广场。在向量空间里,这个中心广场就是零向量——所有分量都为零的向量。你可能觉得这是句废话,但在子空间的判定中,它却是硬性门槛。

为什么零向量必须在内?回顾准入条件,让 \(\alpha = \beta = 0\),那么乘以任何向量都会得到零向量。如果集合对任意数乘封闭,零向量自然逃不掉。反过来,如果某个集合连零向量都不包含,它就直接出局了。可视化演示里的第一象限就是这样的例子:它虽然看起来“很大”,但 \((0,0)\) 站在边界之外,数乘也不封闭,所以永远成不了子空间。

由于零向量的存在,原点 (origin) 总是被包含在每一个子空间里。这也是“子空间必须是过原点的直线/平面”这句话的来源。如果你看到一个集合“不过原点”,不用再验证什么,直接判定不是子空间。

从社区视角看,中心广场是居民的出发点也是归宿。所有道路规划、灯光布局都以它为中心展开。一个没有中心广场的“社区”,就像一座没有地标的空城,在王国法规里是不被承认的。

0∈W\mathbf{0} \in W
零向量必须属于任何子空间。它是社区的“中心广场”,也是子空间非空的底线。
  1. 零向量的身份\(\mathbf{0}\) 是所有分量均为 0 的向量,在平面坐标系中就是原点。
    0=(0,0,…,0)\mathbf{0} = (0, 0, \dots, 0)
  2. 封闭性逼出的结论取任意 \(w \in W\),令系数都取 0,则 \(0 \cdot w + 0 \cdot w = \mathbf{0}\),由封闭性可知零向量必在 \(W\) 中。
    0⋅w=0∈W0 \cdot w = \mathbf{0} \in W

王国的标配社区

王国的地图上有几种反复出现的社区类型。它们分别对应矩阵 A 的不同衍生物,是理解线性方程组和矩阵性质的基础。

第一种是零空间 \(N(A)\):所有让 \(Ax = \mathbf{0}\) 的解 \(x\) 组成的社区。你可以把它理解为“被矩阵 A 压成原点”的那群向量——它们是海关的“零申报”居民。

第二种是列空间 \(C(A)\):A 的列向量张成的空间,也就是 \(Ax\) 对所有 \(x\) 的可能输出。如果说零空间是“输入归零区”,列空间就是“所有可能输出区”。第三种是行空间 \(R(A)\),由 A 的行向量张成,它和列空间之间隔着转置关系。最后,整个向量空间本身(全空间)也是自己的子空间,叫平凡子空间。

社区地图上,零空间、列空间、行空间就像不同职能的城区:一个记录“无效输入”,一个记录“全部产出”,一个记录“规则本身”。它们各有各的入口,但共享同一条封闭性法规。

N(A)={x∈Rn∣Ax=0}N(A) = \{ x \in \mathbb{R}^n \mid Ax = \mathbf{0} \}
零空间收集了所有经过矩阵 A 作用后归零的向量。它是判断方程组解是否唯一的关键。
  1. 海关申报单\(x\) 是待检查的向量,\(A\) 是矩阵变换,像一台海关安检机。
    x∈Rnx \in \mathbb{R}^n
  2. 全部归零机器扫描后输出零向量 \(\mathbf{0}\),表示这些向量被彻底“抹平”。
    Ax=0Ax = \mathbf{0}
  3. 集结成社区所有满足条件的 \(x\) 汇集成集合 \(N(A)\),这个集合天然是子空间。
    N(A)={x∣Ax=0}N(A) = \{ x \mid Ax = \mathbf{0} \}

两个社区的公共区域

当王国里出现两个合法社区 \(W_1\) 和 \(W_2\),它们的公共区域——交集——自动成为一个子空间。这并不需要额外申请:如果两个向量同时属于两个社区,它们的线性组合也同时属于两个社区(因为各自都封闭),所以组合还在交集里。

这有点像两所学校共用的图书馆:任何在学生宿舍和教学楼都允许的书目,规则升级后依然在两个区域里合法。交集天然继承了双方的约束,因此自动成为子空间。

交集一定包含零向量,因为每个社区都有中心广场,而中心广场属于所有社区。可视化里两条过原点的直线相交,唯一公共点就是原点。这正是“两个不同一维子空间的交为零空间”的直观画面。

公共区域的存在告诉我们:子空间之间的“重叠”是有结构的。即使两个社区看上去一条线一条线地交错,它们的公共部分仍能保持社区资格。这也是维数公式中需要减去“重叠部分”的原因。

W1∩W2={x∣x∈W1 且 x∈W2}W_1 \cap W_2 = \{ x \mid x \in W_1 \ \text{且}\ x \in W_2 \}
两个子空间的交集仍是一个子空间。两个一维子空间的交集通常是 \(\{ \mathbf{0} \}\),也就是只有中心广场。
  1. 双重身份居民\(x\) 必须同时在两个社区中登记,缺一不可。
    x∈W1x \in W_1
  2. 第二重身份\(x\) 也要在 \(W_2\) 里,两个条件用“且”连接。
    x∈W2x \in W_2
  3. 交集成形满足双重身份的全体居民组成交集 \(W_1 \cap W_2\)。
    W1∩W2={x∣x∈W1 且 x∈W2}W_1 \cap W_2 = \{ x \mid x \in W_1 \ \text{且}\ x \in W_2 \}

联合辖区

如果说交集是严进严出的公共区域,那么和空间就是宽松开放的联合辖区。两个子空间 \(W_1\) 和 \(W_2\) 的和 \(W_1 + W_2\) 定义为:从两个社区里各取一位居民,加在一起,所有可能结果的集合。

和空间也是子空间,这由两个社区各自的封闭性保证。特别地,当 \(W_1 \cap W_2 = \{ \mathbf{0} \}\) 且和空间恰好张成整个空间时,这个和叫直和,记作 \(W_1 \oplus W_2\)。直和的居民表示是唯一的,就像两个互不重叠的辖区合并后,每个地址都能唯一追溯到原属社区。

联合辖区的画面很直观:两条本不相交的直线方向组合起来,能覆盖整个平面。如果你的两条直线方向不同,联合辖区就是整座王国;如果方向相同,联合辖区其实就是原来那条直线。和空间永远把两个社区的所有潜力都释放出来。

W1+W2={w1+w2∣w1∈W1, w2∈W2}W_1 + W_2 = \{ w_1 + w_2 \mid w_1 \in W_1,\ w_2 \in W_2 \}
和空间收集了所有“一位社区甲居民加一位社区乙居民”的组合。它是包含两个子空间的最小空间。
  1. 左边来一位\(w_1\) 从 \(W_1\) 中任意选取。
    w1∈W1w_1 \in W_1
  2. 右边来一位\(w_2\) 从 \(W_2\) 中任意选取。
    w2∈W2w_2 \in W_2
  3. 两人相加把两位居民加在一起,得到一个新的向量。
    w1+w2w_1 + w_2
  4. 汇总成集所有可能的相加结果构成和空间 \(W_1 + W_2\)。
    W1+W2={w1+w2∣w1∈W1,w2∈W2}W_1 + W_2 = \{ w_1 + w_2 \mid w_1 \in W_1, w_2 \in W_2 \}

维数公式

城市规划局最关心的数字是“面积”。对子空间来说,衡量大小的指标是维数——基向量个数。两个社区的合并面积(和空间维数)并不等于两者维数直接相加,因为公共区域被重复算了。

这就像计算两块有重叠区域的园地总面积:不能简单把两块地面积相加,要减去重叠部分。维数公式把这个道理变成了精确等式:

用可视化中的例子验证:两条直线 L 和 M 各自的维数都是 1,交集维数为 0(只有原点),所以和空间维数 \(1 + 1 - 0 = 2\),恰好是整个平面。如果两条直线重合,交集维数为 1,则和空间维数 \(1 + 1 - 1 = 1\),依然是一条直线。

这个公式不仅在理论中大放异彩,也是解题利器。遇到“求两个子空间的和的维数”时,只要算出交集维数,就能立刻得到答案。它把抽象的维度问题,变成了像“两园面积相加减重叠”一样的小学算术。

dim⁡(W1+W2)=dim⁡W1+dim⁡W2−dim⁡(W1∩W2)\dim(W_1 + W_2) = \dim W_1 + \dim W_2 - \dim(W_1 \cap W_2)
两子空间和的维数 = 两子空间维数之和 − 交集的维数。这是线性代数里最常用也最优雅的“面积核算”公式。
  1. 各自面积\(\dim W_1\) 是社区甲的等级规模,\(\dim W_2\) 是社区乙的等级规模。
    dim⁡W1+dim⁡W2\dim W_1 + \dim W_2
  2. 扣除重叠\(\dim(W_1 \cap W_2)\) 是公共区域的规模,重复计算的部分要减去。
    −dim⁡(W1∩W2)- \dim(W_1 \cap W_2)
  3. 总和等式左边 \(\dim(W_1 + W_2)\) 是合并后联合辖区的实际规模,两边相等。
    dim⁡(W1+W2)=dim⁡W1+dim⁡W2−dim⁡(W1∩W2)\dim(W_1 + W_2) = \dim W_1 + \dim W_2 - \dim(W_1 \cap W_2)

矩阵的四大子空间

王国地图上最核心的四个社区,全部由矩阵 A 派生而来。它们是:列空间 \(C(A)\)、零空间 \(N(A)\)、行空间 \(R(A)\) 和 左零空间 \(N(A^T)\)。

列空间是所有 \(Ax\) 的输出集合,零空间是所有被 A 归零的输入集合,行空间是转置后 \(A^T\) 的列空间,左零空间则是 \(A^T\) 的零空间。这四个社区两两之间存在正交关系——列空间与左零空间垂直,行空间与零空间垂直。这种正交性好比城市主干道与小巷的关系:主干道(列空间)和它平行的支路系统之外的区域(左零空间)完全不相交。

这个定理是四大子空间关系的“总纲”。它告诉我们,矩阵把输入空间拆成两个互补的部分:一部分被压缩到原点(零空间),另一部分被映射到列空间。两部分维数加起来正好是输入空间的维数,仿佛一栋楼的所有房间要么被拆平,要么被保留。

在 AI 和数据分析中,四大子空间决定了线性方程组的解集结构、最小二乘解的存在性,以及矩阵的秩如何影响模型的表达能力。读懂它们,等于拿到了理解矩阵运算全局观的最高权限。

dim⁡N(A)+rank⁡(A)=n\dim N(A) + \operatorname{rank}(A) = n
秩-零化度定理:零空间维数 + 矩阵的秩 = A 的列数。它把四个子空间之间的维数关系牢牢锁定。
  1. 零空间维数\(\dim N(A)\) 是被 A 压平的输入方向的个数,也叫零化度。
    dim⁡N(A)\dim N(A)
  2. 矩阵的秩\(\operatorname{rank}(A)\) 是列空间维数,即 A 真正独立的列方向数。
    rank⁡(A)\operatorname{rank}(A)
  3. 总和等于列数两者相加等于矩阵的列数 \(n\),不多不少。
    dim⁡N(A)+rank⁡(A)=n\dim N(A) + \operatorname{rank}(A) = n

子空间的实战应用

子空间不是纯理论的装饰品,它在实际工程和机器学习中随处可见。最直接的应用是判断线性方程组 \(Ax = b\) 是否有解:当且仅当 \(b \in C(A)\) 时,方程组有解。而齐次解(零空间)决定了解的自由度。

数据降维则是子空间在 AI 中的经典应用。PCA(主成分分析) 的核心思想是:数据点往往集中在一个低维子空间附近,找到这个子空间(主方向),把数据投影上去,就能丢掉冗余维度。Excel 里的数据表、推荐系统的用户-物品矩阵、图像的像素矩阵,全都在利用子空间做“压缩”。

回到王国的画面:应用与实战就是把社区法规用在真实生活里。解方程组是查询社区户籍,PCA 是规划新的主干道(主方向)让居民沿着它高效通行。理解子空间,你就能在这些工程场景中看到同一条数学主线——封闭性、零向量、维度核算,三件套走天下。

x=xp+xh,Axp=b, Axh=0x = x_p + x_h,\quad Ax_p = b,\ A x_h = \mathbf{0}
线性方程组的通解 = 特解 + 齐次解。特解落在一个位置,齐次解在零空间里自由游走。
  1. 找一个特解\(x_p\) 是方程组 \(Ax = b\) 的一个具体解。
    Axp=bA x_p = b
  2. 零空间里加料\(x_h\) 是齐次方程 \(Ax = \mathbf{0}\) 的任意解,它可以在零空间里任意取。
    Axh=0A x_h = \mathbf{0}
  3. 叠加成通解特解加上任意齐次解,就得到方程组的所有解。
    x=xp+xhx = x_p + x_h

AI 应用场景

PCA 主成分分析中的数据子空间

阶段:特征工程 / 数据降维

解决的问题:高维数据往往存在大量冗余特征,直接训练模型不仅慢,还容易过拟合。PCA 通过找到数据最集中的低维子空间,把数据投影到该子空间上,实现降维去噪。

具体案例:在人脸识别中,一张 64×64 像素的图片展开成 4096 维向量,但人脸其实集中在一个远低于 4096 维的子空间里。对上千张人脸图片做 PCA,取前 50 个主方向,就能保留 95% 的辨识信息,把后续分类器的训练速度提升数十倍。

线性方程组解结构的判断

阶段:模型求解 / 优化器分析

解决的问题:训练神经网络时需要反复求解线性系统(如最小二乘法),判断系统有唯一解、无穷多解还是无解。利用列空间 \(C(A)\) 和零空间 \(N(A)\),可以精确判断解的结构,避免数值求解器在奇异矩阵上浪费算力。

具体案例:在推荐系统的矩阵分解中,用户-物品矩阵的秩决定了隐向量空间的维数。若矩阵的零空间维数过大,说明大量用户行为模式重复,可以降低隐向量维数;若列空间覆盖不了目标向量,则需要增加正则化项调整模型。

Python 演示

python52 行
import numpy as np  class SubspaceChecker:    """验证向量集合是否构成子空间,并分析两个子空间的交与和。"""     def __init__(self, basis):        self.basis = np.array(basis, dtype=float).T     def contains(self, v):        """判断向量v是否在当前子空间中"""        v = np.array(v, dtype=float)        sol, *_ = np.linalg.lstsq(self.basis, v, rcond=None)        residual = np.linalg.norm(self.basis @ sol - v)        return residual < 1e-8     def dim(self):        return np.linalg.matrix_rank(self.basis)  def intersection_dim(basis1, basis2):    """计算两个一维子空间交集的维数:方向平行则为1,否则为0"""    b1 = np.array(basis1, dtype=float).reshape(-1)    b2 = np.array(basis2, dtype=float).reshape(-1)    if np.cross(b1, b2) == 0:        return 1    return 0  def sum_dim(basis1, basis2):    """计算两个子空间和的维数"""    combined = np.hstack([np.array(basis1, dtype=float).T,                          np.array(basis2, dtype=float).T])    return np.linalg.matrix_rank(combined)  if __name__ == "__main__":    # R^2 中:直线L方向(1,1),直线M方向(1,-1)    checker_l = SubspaceChecker([[1, 1]])    checker_m = SubspaceChecker([[1, -1]])     print("L 包含 (2,2):", checker_l.contains([2, 2]))    print("L 包含 (2,0):", checker_l.contains([2, 0]))    print("M 包含 (3,-3):", checker_m.contains([3, -3]))     d_inter = intersection_dim([[1, 1]], [[1, -1]])    d_sum = sum_dim([[1, 1]], [[1, -1]])    print("L∩M 的维数:", d_inter)    print("L+M 的维数:", d_sum)     dimL, dimM = checker_l.dim(), checker_m.dim()    print("维数公式成立:", dimL + dimM - d_inter == d_sum)
目的:用 Python 实现子空间的包含判断,并验证两个一维子空间的交、和与维数公式,把 R² 中两条直线的几何直觉变成可运行的数字结果。
  1. class SubspaceChecker:定义一个子空间检查器,参数是基向量列表。用“给定社区规矩”的方式封装子空间判定。
  2. self.basis = np.array(basis, dtype=float).T把基向量按列存放,方便后续的矩阵运算。这相当于把社区的道路方向记录在册。
  3. sol, *_ = np.linalg.lstsq(self.basis, v, rcond=None)用最小二乘法求 v 在基向量张成空间中的最佳投影系数。
  4. residual = np.linalg.norm(self.basis @ sol - v)计算投影后的向量与原向量的误差,误差接近零说明 v 确实在子空间内。
  5. np.cross(b1, b2) == 0判断两条直线的方向向量是否平行,平行则交集是一条线(维数 1),否则交集只有原点(维数 0)。
  6. np.linalg.matrix_rank(combined)合并两个子空间的基,用矩阵的秩得到和空间的维数。
  7. dimL + dimM - d_inter == d_sum用数值结果验证维数公式成立,给理论公式一个代码层面的“盖章”。

常见误区

误区子空间就是向量空间里的一个集合,只要是子集就行。第一象限、单位圆、一条不过原点的直线,应该都算子空间吧?

正解子集只是“属于”,子空间还需要封闭性。就像一个社区不是圈块地就能成立,必须有法规保障居民组合后不出界。第一象限里取两个向量相加可能跑到外面,单位圆里数乘超过 1 就直接飞出去了,这些都不是子空间。

为何常见:初学者容易把“包含在 V 中”当成全部条件,忽略了加法和数乘这两条隐性约束。

误区既然叫“子”空间,就应该比整个空间小,全空间 V 不能算子空间。

正解子空间的定义允许子集等于全集。V 本身是 V 的子空间,{0} 也是,这两种极端情况叫平凡子空间。法规没有规定社区面积必须小于王国,全境自治也是合法选项。

为何常见:“子集”一词在中文里容易被理解为“真子集”,但数学上 ⊆ 和 ⊂ 是有严格区别的。

误区只要集合里有零向量,那它就是子空间了。原点都在这了,还能有什么问题?

正解零向量是必要条件,不是充分条件。第一象限如果强行把原点算进去,它依然会因为加法不封闭而出局。判定子空间必须同时验证加法封闭和数乘封闭,零向量检查只是第一道快筛。

为何常见:可视化中“不含零向量→不是子空间”的判例太醒目,让人误以为这就是全部判定标准。

误区两个子空间 \(W_1\) 和 \(W_2\) 的并集 \(W_1 \cup W_2\) 当然也是子空间,毕竟它包含两个社区的全体居民。

正解并集一般不封闭。取一条在 \(W_1\) 中但不在 \(W_2\) 中的向量 u,再取一条在 \(W_2\) 中但不在 \(W_1\) 中的向量 v,两者相加往往既不在 \(W_1\) 也不在 \(W_2\)。两个子空间的“合并”正确操作是和空间,而不是并集。

为何常见:集合论里的并集直觉太强,让人误以为封闭性会自动传递。实际上封闭性在并集上会断裂,只有在交集上才稳定。

面试题

Q1. 判断一个非空集合 W 是否为子空间时,下列哪项是必要条件?

单选题 · easy

  • A.W 包含零向量← 正确答案
  • B.W 只对加法封闭
  • C.W 只对数乘封闭
  • D.W 不含相反向量

答案:A。零向量(原点)是一切子空间的中心广场,必在 W 中。选项 B、C 各只满足一半封闭性,不能单独判定子空间;选项 D 与封闭性背道而驰。

Q2. 在 R² 中,下列哪个集合能构成子空间?

单选题 · easy

  • A.第一象限内的点
  • B.过原点的一条直线← 正确答案
  • C.单位圆上的点
  • D.不过原点的一条直线

答案:B。过原点的直线对加法和数乘都封闭,且包含零向量,是标准的一维子空间。第一象限不含原点且加法不封闭,单位圆数乘后飞出圆外,不过原点的直线连零向量都没有。

Q3. 关于子空间的判定条件,以下说法正确的有哪些?

多选题 · mid

  • A.对任意 u,v∈W,有 u+v∈W← 正确答案
  • B.对任意 c∈R,有 cv∈W← 正确答案
  • C.零向量 0 ∈ W← 正确答案
  • D.W 只需包含有限个向量

答案:ABC。A 是加法封闭,B 是数乘封闭,C 是零向量必要条件,三者合起来构成子空间判定。D 错误,子空间通常包含无限多个向量(除非是零空间)。

Q4. 两个子空间 \(W_1\) 和 \(W_2\) 的交集 \(W_1 \cap W_2\) 一定是?

单选题 · mid

  • A.空集
  • B.一个子空间← 正确答案
  • C.一个有限集合
  • D.只含零向量的集合

答案:B。交集继承了两个社区各自的封闭性,任何向量的线性组合同时留在两个社区里,所以交集自动是子空间。空集不可能,因为零向量必在交集中;也不一定只有零向量,两条重合直线交集就是整条直线。

Q5. 维数公式 \(\dim(W_1+W_2) =\) ?

单选题 · mid

  • A.dimW₁ + dimW₂
  • B.dimW₁ + dimW₂ − dim(W₁∩W₂)← 正确答案
  • C.dimW₁ − dimW₂
  • D.max(dimW₁, dimW₂)

答案:B。和空间的维数等于两社区各自维数之和减去重叠部分,就像两块有重叠区域的园地,总面积等于两块面积相加减去重叠面积。选项 A 忽略重叠,C、D 没有对应定理。

Q6. 矩阵 A 的四大子空间包括哪些?

多选题 · hard

  • A.列空间 C(A)← 正确答案
  • B.零空间 N(A)← 正确答案
  • C.行空间 R(A)← 正确答案
  • D.左零空间 N(Aᵀ)← 正确答案

答案:ABCD。列空间、零空间、行空间、左零空间是矩阵派生的四大社区。它们两两正交,并由秩-零化度定理统一约束。四个选项全部正确,缺一不可。

Q7. 零空间 N(A) 的定义是哪一项?

单选题 · easy

  • A.Ax=b 的所有解
  • B.Ax=0 的所有解← 正确答案
  • C.A 的列向量张成的空间
  • D.A 的行向量张成的空间

答案:B。零空间收集所有被矩阵 A 压成零向量的输入,即齐次方程 Ax=0 的解集。选项 A 是特解集合,C 是列空间,D 是行空间,三者都不是零空间。

Q8. 为什么第一象限不是 R² 的子空间?

单选题 · mid

  • A.它不含零向量且加法不封闭← 正确答案
  • B.它包含的向量太少
  • C.它关于原点对称
  • D.它的维数太高

答案:A。第一象限里取 (1,2) 和 (2,1) 相加仍可能出界,(1,0) 数乘负数后直接飞出。更关键的是原点 (0,0) 不在第一象限内(第一象限要求 x>0, y>0),零向量这条就不过关。

Q9. 关于两个子空间的和 \(W_1+W_2\),正确的有?

多选题 · mid

  • A.由所有 w₁+w₂ 组成← 正确答案
  • B.同时包含 W₁ 和 W₂← 正确答案
  • C.一定是整个向量空间
  • D.是包含 W₁∪W₂ 的最小空间← 正确答案

答案:ABD。和空间把所有“甲社区一位加乙社区一位”的结果收集起来,自然包含两个社区,且是包含它们并集的最小子空间。C 错误:只有两个子空间方向互补时和空间才可能是全空间。

Q10. 若 \(\dim(W_1 \cap W_2) = \dim W_1\),则可以推出什么?

单选题 · extreme

  • A.W₁ 包含于 W₂ 中← 正确答案
  • B.W₂ 包含于 W₁ 中
  • C.W₁ 与 W₂ 完全相同
  • D.W₁ 与 W₂ 的和等于 W₂

答案:A。交集 \(W_1 \cap W_2\) 是 \(W_1\) 的子空间,若两者维数相等,则交集等于 \(W_1\),即 \(W_1\) 的每个元素都在 \(W_2\) 中,所以 \(W_1 \subseteq W_2\)。选项 B 方向反了,C 需要额外条件,D 应推出和等于 \(W_2\) 需要 \(W_1 \subseteq W_2\),虽然等价但不如 A 直接反映题干。