3线性代数应该这样学(第3版)

线性映射

保持线性结构的函数

线性映射零空间值域矩阵表示

🎯 AI 时代的学习建议:不要只读理论。理解这一章的设计动机(为什么需要这个概念?)和边界条件(什么情况下会失效?)。当 AI 生成的代码涉及这些概念时,你能判断它是否用对了场景。AI 能帮你总结内容,但无法替代你亲手阅读、思考、建立直觉的过程。

第3章 线性映射 - 保持线性结构的函数 (Linear Maps)

一、导读

3.1 本章学习目标

通过本章的学习,你将能够:

理解线性映射的定义和性质:掌握加法和标量乘法保持性,理解线性映射是向量空间之间的"结构保持"函数

掌握零空间和值域的概念:理解核(null space)和像(range)的几何意义,以及它们与单射、满射的关系

理解秩-零化度定理:掌握 $\dim(\text{null } T) + \dim(\text{range } T) = \dim V$ 的证明和应用

熟练进行线性映射的运算:包括加法、标量乘法、复合,理解线性映射构成向量空间

理解可逆线性映射的条件:掌握单射、满射、双射与可逆性的关系

掌握线性映射的矩阵表示:理解如何在给定基下将线性映射表示为矩阵

将线性映射概念应用于实际问题:如图像变换、数据投影、方程组求解

3.2 为什么本章如此重要

线性映射是线性代数的灵魂。如果说向量空间是舞台,那么线性映射就是舞台上的"动作"——它描述了向量如何被变换、空间如何被映射。

从理论的角度看,线性映射是向量空间之间的态射(morphism),它保持了向量空间的代数结构。研究线性映射就是研究向量空间之间的关系,这是范畴论思想在线性代数中的体现。

从应用的角度看:

  • 计算机图形学:旋转、缩放、平移、投影都是线性映射(或仿射映射)
  • 机器学习:神经网络的全连接层是线性映射后接非线性激活函数;PCA 是投影映射
  • 物理学:量子力学中的可观测量是线性算子;经典力学中的惯性张量是线性映射
  • 信号处理:滤波器、卷积操作都是线性映射
  • 经济学:投入产出模型、线性规划都依赖线性映射理论

从认知的角度看,本章帮助你建立"变换思维"。不再只关注静态的向量,而是关注向量如何被变换、空间如何被映射。这种动态视角是理解更高级数学(如微分几何、泛函分析)的关键。

3.3 核心问题引导

在学习本章时,请持续思考以下问题:

什么是"保持线性结构"? 为什么线性映射必须满足 $T(u + v) = Tu + Tv$ 和 $T(\lambda v) = \lambda Tv$?这两个条件有什么几何意义?

零空间和值域有什么关系? 为什么它们的维度之和等于定义域的维度?这个看似神奇的公式背后的直觉是什么?

线性映射与矩阵有什么关系? 为什么说矩阵只是线性映射在特定基下的表示?同一个线性映射在不同基下的矩阵有何不同?

什么样的线性映射是可逆的? 单射、满射、双射分别对应什么条件?在有限维空间中,单射和满射是否等价?

线性映射的复合为什么对应矩阵乘法? 矩阵乘法的定义不是任意的,而是由线性映射复合的自然要求决定的。

如何判断一个函数是否是线性映射? 常见的非线性函数(如二次函数、指数函数)为什么不满足线性条件?

在编程中,如何高效实现线性映射? 稀疏矩阵、低秩近似等技术如何利用线性映射的结构?


二、核心概念详解

3.1 线性映射的定义

定义 3.1(线性映射)

设 $V$ 和 $W$ 是 $\mathbb{F}$ 上的向量空间。函数 $T: V \to W$ 称为线性映射(Linear Map),如果满足以下两个条件:

加法保持性:$\forall u, v \in V$,有 $T(u + v) = Tu + Tv$

标量乘法保持性:$\forall \lambda \in \mathbb{F}$,$\forall v \in V$,有 $T(\lambda v) = \lambda Tv$

我们通常将 $T(v)$ 简写为 $Tv$(省略括号)。

关键洞察:线性映射保持向量空间的两种运算。这意味着线性映射"尊重"向量空间的结构——向量的线性组合在映射前后保持一致:

$$T(\lambda_1 v_1 + \cdots + \lambda_n v_n) = \lambda_1 Tv_1 + \cdots + \lambda_n Tv_n$$

例 3.1:基本线性映射

零映射:$T: V \to W$,$Tv = 0$(对所有 $v$)。这是线性映射。

恒等映射:$I: V \to V$,$Iv = v$。这是线性映射。

缩放映射:$T: \mathbb{R}^n \to \mathbb{R}^n$,$Tv = \lambda v$($\lambda$ 是固定标量)。这是线性映射。

投影映射:$T: \mathbb{R}^3 \to \mathbb{R}^3$,$T(x, y, z) = (x, y, 0)$(投影到 $xy$ 平面)。这是线性映射。

旋转映射:$T: \mathbb{R}^2 \to \mathbb{R}^2$,$T(x, y) = (x\cos\theta - y\sin\theta, x\sin\theta + y\cos\theta)$(旋转 $\theta$ 角)。这是线性映射。

例 3.2:非线性映射

以下函数不是线性映射:

$T: \mathbb{R} \to \mathbb{R}$,$T(x) = x^2$。因为 $T(2x) = 4x^2 \neq 2x^2 = 2T(x)$。

$T: \mathbb{R} \to \mathbb{R}$,$T(x) = x + 1$。因为 $T(0) = 1 \neq 0$(线性映射必须将零向量映射为零向量)。

$T: \mathbb{R}^2 \to \mathbb{R}$,$T(x, y) = xy$。因为 $T((1, 1) + (1, 1)) = T(2, 2) = 4 \neq 2 = T(1, 1) + T(1, 1)$。

快速判定技巧:如果 $T(0) \neq 0$,则 $T$ 一定不是线性映射。

定理 3.1:线性映射的基本性质

设 $T: V \to W$ 是线性映射,则:

$T(0_V) = 0_W$(零向量映射到零向量)

$T(-v) = -Tv$(逆元映射到逆元)

$T$ 保持线性组合:$T(\sum_{i=1}^n \lambda_i v_i) = \sum_{i=1}^n \lambda_i Tv_i$

证明:

$T(0_V) = T(0 \cdot 0_V) = 0 \cdot T(0_V) = 0_W$

$T(-v) = T((-1)v) = (-1)Tv = -Tv$

由归纳法,利用加法保持性和标量乘法保持性可得。$\square$

3.2 零空间与值域

定义 3.2(零空间 / 核)

设 $T: V \to W$ 是线性映射。零空间(Null Space)或核(Kernel)定义为:

$$\text{null } T = \{v \in V : Tv = 0_W\}$$

即被 $T$ 映射到零向量的所有向量的集合。

定理 3.2:零空间是子空间

$\text{null } T$ 是 $V$ 的子空间。

证明:

$0_V \in \text{null } T$,因为 $T(0_V) = 0_W$

若 $u, v \in \text{null } T$,则 $T(u + v) = Tu + Tv = 0 + 0 = 0$,所以 $u + v \in \text{null } T$

若 $v \in \text{null } T$,$\lambda \in \mathbb{F}$,则 $T(\lambda v) = \lambda Tv = \lambda \cdot 0 = 0$,所以 $\lambda v \in \text{null } T$

因此 $\text{null } T$ 是子空间。$\square$

几何直觉:零空间是线性映射的"压缩方向"。如果 $\text{null } T \neq \{0\}$,说明 $T$ 将某些非零向量压缩为零,即 $T$ 不是单射。

定义 3.3(值域 / 像)

设 $T: V \to W$ 是线性映射。值域(Range)或像(Image)定义为:

$$\text{range } T = \{Tv : v \in V\} = \{w \in W : \exists v \in V, Tv = w\}$$

即 $T$ 的所有输出值的集合。

定理 3.3:值域是子空间

$\text{range } T$ 是 $W$ 的子空间。

证明:

$0_W \in \text{range } T$,因为 $T(0_V) = 0_W$

若 $w_1, w_2 \in \text{range } T$,则存在 $v_1, v_2 \in V$ 使得 $Tv_1 = w_1$,$Tv_2 = w_2$。则 $T(v_1 + v_2) = Tv_1 + Tv_2 = w_1 + w_2$,所以 $w_1 + w_2 \in \text{range } T$

若 $w \in \text{range } T$,$\lambda \in \mathbb{F}$,则存在 $v \in V$ 使得 $Tv = w$。则 $T(\lambda v) = \lambda Tv = \lambda w$,所以 $\lambda w \in \text{range } T$

因此 $\text{range } T$ 是子空间。$\square$

定义 3.4(单射与满射)

设 $T: V \to W$ 是线性映射。

  • $T$ 是单射(Injective / One-to-One),如果 $Tu = Tv \implies u = v$
  • $T$ 是满射(Surjective / Onto),如果 $\text{range } T = W$
  • $T$ 是双射(Bijective),如果既是单射又是满射

定理 3.4:单射的刻画

$T$ 是单射当且仅当 $\text{null } T = \{0\}$。

证明:

  • 充分性:如果 $\text{null } T = \{0\}$,且 $Tu = Tv$,则 $T(u - v) = Tu - Tv = 0$,所以 $u - v \in \text{null } T = \{0\}$,即 $u = v$。
  • 必要性:如果 $T$ 是单射,且 $v \in \text{null } T$,则 $Tv = 0 = T(0)$。由单射性,$v = 0$。所以 $\text{null } T = \{0\}$。$\square$

重要推论:线性映射是单射当且仅当它的核只有零向量。

3.3 秩-零化度定理

定义 3.5(零化度与秩)

设 $T: V \to W$ 是线性映射,$V$ 是有限维的。

  • 零化度(Nullity):$\text{nullity}(T) = \dim(\text{null } T)$
  • 秩(Rank):$\text{rank}(T) = \dim(\text{range } T)$

定理 3.5(秩-零化度定理)

设 $T: V \to W$ 是线性映射,$V$ 是有限维的。则:

$$\dim V = \dim(\text{null } T) + \dim(\text{range } T)$$

即:

$$\dim V = \text{nullity}(T) + \text{rank}(T)$$

证明:

设 $\dim V = n$,$\dim(\text{null } T) = k$。取 $\text{null } T$ 的基 $u_1, \ldots, u_k$。

由扩展定理,可以将 $u_1, \ldots, u_k$ 扩展为 $V$ 的基 $u_1, \ldots, u_k, v_1, \ldots, v_m$,其中 $m = n - k$。

我们断言:$Tv_1, \ldots, Tv_m$ 是 $\text{range } T$ 的基。

张成空间:任意 $w \in \text{range } T$ 可写为 $w = Tv$,其中 $v \in V$。由于 $u_1, \ldots, u_k, v_1, \ldots, v_m$ 是 $V$ 的基:

$$v = \sum_{i=1}^k \alpha_i u_i + \sum_{j=1}^m \beta_j v_j$$

则:

$$w = Tv = T\left(\sum_{i=1}^k \alpha_i u_i + \sum_{j=1}^m \beta_j v_j\right) = \sum_{i=1}^k \alpha_i Tu_i + \sum_{j=1}^m \beta_j Tv_j = \sum_{j=1}^m \beta_j Tv_j$$

(因为 $Tu_i = 0$)

所以 $Tv_1, \ldots, Tv_m$ 张成 $\text{range } T$。

线性无关:设 $\sum_{j=1}^m \gamma_j Tv_j = 0$。则 $T(\sum_{j=1}^m \gamma_j v_j) = 0$,所以 $\sum_{j=1}^m \gamma_j v_j \in \text{null } T$。

由于 $u_1, \ldots, u_k$ 是 $\text{null } T$ 的基,存在 $\delta_1, \ldots, \delta_k$ 使得:

$$\sum_{j=1}^m \gamma_j v_j = \sum_{i=1}^k \delta_i u_i$$

即:

$$\sum_{j=1}^m \gamma_j v_j - \sum_{i=1}^k \delta_i u_i = 0$$

由于 $u_1, \ldots, u_k, v_1, \ldots, v_m$ 是 $V$ 的基(线性无关),所有系数为零。特别地,$\gamma_1 = \cdots = \gamma_m = 0$。

因此 $Tv_1, \ldots, Tv_m$ 线性无关,是 $\text{range } T$ 的基。

所以 $\dim(\text{range } T) = m = n - k = \dim V - \dim(\text{null } T)$。$\square$

几何直觉:秩-零化度定理表明,线性映射要么"保留信息"(大秩),要么"压缩空间"(大零化度),两者之和是固定的(定义域的维度)。这是一种守恒律。

推论 3.6:有限维空间中的单射与满射

设 $T: V \to W$ 是线性映射,$V$ 和 $W$ 都是有限维的,且 $\dim V = \dim W$。则以下条件等价:

$T$ 是单射

$T$ 是满射

$T$ 是双射

$\text{null } T = \{0\}$

$\text{range } T = W$

证明:

由秩-零化度定理,$\dim V = \dim(\text{null } T) + \dim(\text{range } T)$。

  • $(1) \iff (4)$:定理 3.4
  • 如果 $T$ 是单射,则 $\dim(\text{null } T) = 0$,所以 $\dim(\text{range } T) = \dim V = \dim W$。由于 $\text{range } T \subseteq W$ 且维度相等,$\text{range } T = W$,即满射。
  • 如果 $T$ 是满射,则 $\dim(\text{range } T) = \dim W = \dim V$,所以 $\dim(\text{null } T) = 0$,即单射。
  • $(3) \iff (1) \land (2)$:显然

因此所有条件等价。$\square$

重要意义:在有限维空间中,对于方阵(定义域和值域维度相同),单射、满射、可逆是等价的。这与无限维空间不同(在无限维空间中,单射不一定满射)。

3.4 线性映射的运算

定义 3.6(线性映射的加法与标量乘法)

设 $T, S: V \to W$ 是线性映射,$\lambda \in \mathbb{F}$。定义:

  • 加法:$(T + S)(v) = Tv + Sv$
  • 标量乘法:$(\lambda T)(v) = \lambda(Tv)$

可以验证 $T + S$ 和 $\lambda T$ 也是线性映射。

定理 3.7:线性映射构成向量空间

设 $V$ 和 $W$ 是 $\mathbb{F}$ 上的向量空间。所有从 $V$ 到 $W$ 的线性映射的集合,记作 $\mathcal{L}(V, W)$,在上述加法和标量乘法下构成一个向量空间。

证明:验证八条公理即可(继承自 $W$ 的向量空间结构)。$\square$

定义 3.7(线性映射的复合)

设 $T: U \to V$ 和 $S: V \to W$ 是线性映射。它们的复合 $S \circ T: U \to W$ 定义为:

$$(S \circ T)(u) = S(Tu)$$

定理 3.8:线性映射的复合是线性的

$S \circ T$ 是线性映射。

证明:

$$(S \circ T)(u + v) = S(T(u + v)) = S(Tu + Tv) = S(Tu) + S(Tv) = (S \circ T)u + (S \circ T)v$$

$$(S \circ T)(\lambda u) = S(T(\lambda u)) = S(\lambda Tu) = \lambda S(Tu) = \lambda(S \circ T)u$$

$\square$

3.5 可逆线性映射

定义 3.8(可逆线性映射)

设 $T: V \to W$ 是线性映射。如果存在线性映射 $S: W \to V$ 使得:

$$S \circ T = I_V \quad \text{且} \quad T \circ S = I_W$$

则称 $T$ 是可逆(Invertible)的,$S$ 称为 $T$ 的逆(Inverse),记作 $T^{-1}$。

定理 3.9:可逆线性映射的性质

如果 $T$ 可逆,则:

$T$ 是双射

$T^{-1}$ 是唯一的

$T^{-1}$ 也是可逆的,且 $(T^{-1})^{-1} = T$

证明:

由 $S \circ T = I_V$ 知 $T$ 是单射(若 $Tu = Tv$,则 $u = STu = STv = v$)。由 $T \circ S = I_W$ 知 $T$ 是满射(任意 $w \in W$,$w = T(Sw)$)。

如果 $S_1$ 和 $S_2$ 都是 $T$ 的逆,则 $S_1 = S_1 \circ I_W = S_1 \circ (T \circ S_2) = (S_1 \circ T) \circ S_2 = I_V \circ S_2 = S_2$。

由定义直接得到。$\square$

定理 3.10:有限维空间中的可逆性

设 $T: V \to V$ 是线性算子(定义域和值域相同),$V$ 是有限维的。则 $T$ 可逆当且仅当 $T$ 是单射(或等价地,当且仅当 $T$ 是满射)。

证明:由推论 3.6,在有限维空间中单射、满射、双射等价。而双射线性映射必有逆(构造逆映射即可)。$\square$


三、程序员的视角

3.1 在机器学习中的应用

全连接层:神经网络中的全连接层本质上是线性映射 $T(x) = Wx$(后接偏置和非线性激活函数)。权重矩阵 $W$ 定义了从输入空间到输出空间的线性映射。

主成分分析(PCA):PCA 找到数据协方差矩阵的特征向量,这些特征向量定义了从原始高维空间到低维子空间的投影映射。这是一个线性映射,其零空间是被丢弃的方向,值域是保留的主成分空间。

注意力机制:Transformer 中的注意力机制涉及三个线性映射:$Q = W_Q X$,$K = W_K X$,$V = W_V X$。这些线性映射将输入投影到查询、键、值空间。

3.2 常见陷阱与误区

误区 1:认为所有函数都是线性的

许多常见函数(如 ReLU、sigmoid、softmax)是非线性的。线性映射必须满足加法和标量乘法保持性。

误区 2:混淆"线性映射"与"仿射映射"

仿射映射形如 $T(x) = Ax + b$($b \neq 0$),不是线性映射(因为 $T(0) = b \neq 0$)。但在机器学习中常被称为"线性层"(实际是仿射层)。

误区 3:忽略零空间的意义

零空间不为零意味着信息丢失。在解线性方程组 $Ax = b$ 时,如果 $\text{null } A \neq \{0\}$,则解不唯一(通解 = 特解 + 零空间中的任意向量)。

误区 4:认为可逆矩阵总是存在

只有方阵才可能可逆,且即使是方阵也可能不可逆(行列式为零)。在实际应用中,矩阵往往是病态的(条件数大),数值上接近不可逆。

3.3 与其他层级的联系

  • 与矩阵理论的联系:线性映射在给定基下的表示是矩阵,矩阵乘法对应线性映射的复合
  • 与特征值的联系:特征向量是线性映射的"不变方向",特征值描述了沿该方向的缩放因子
  • 与内积空间的联系:在内积空间中可以定义伴随算子、自伴算子等特殊线性映射
  • 与泛函分析的联系:无限维空间中的线性算子理论是泛函分析的核心

四、代码实战

4.1 验证线性映射

python
import numpy as np

def is_linear_map(T, vectors, scalars, tol=1e-10):
    """
    数值验证函数 T 是否是线性映射
    
    参数:
    T: 函数,输入向量,输出向量
    vectors: 测试向量列表
    scalars: 测试标量列表
    tol: 数值容差
    
    返回:
    bool: 是否可能是线性映射
    """
    # 检查 T(0) = 0
    zero = np.zeros_like(vectors[0])
    if not np.allclose(T(zero), zero, atol=tol):
        print("T(0) != 0,不是线性映射")
        return False
    
    # 检查加法保持性
    for u in vectors:
        for v in vectors:
            lhs = T(u + v)
            rhs = T(u) + T(v)
            if not np.allclose(lhs, rhs, atol=tol):
                print(f"加法保持性失败: T({u} + {v}) != T({u}) + T({v})")
                return False
    
    # 检查标量乘法保持性
    for alpha in scalars:
        for v in vectors:
            lhs = T(alpha * v)
            rhs = alpha * T(v)
            if not np.allclose(lhs, rhs, atol=tol):
                print(f"标量乘法保持性失败: T({alpha} * {v}) != {alpha} * T({v})")
                return False
    
    print("所有测试通过,可能是线性映射")
    return True

# 示例:测试旋转映射
def rotation(theta):
    def T(v):
        x, y = v
        return np.array([x * np.cos(theta) - y * np.sin(theta),
                         x * np.sin(theta) + y * np.cos(theta)])
    return T

T = rotation(np.pi / 4)  # 旋转 45 度
vectors = [np.array([1, 0]), np.array([0, 1]), np.array([1, 1])]
scalars = [1, 2, -1, 0.5]

is_linear_map(T, vectors, scalars)

4.2 计算零空间和值域

python
import numpy as np

def null_space(A, tol=1e-10):
    """
    计算矩阵 A 的零空间
    
    参数:
    A: m x n 矩阵
    tol: 数值容差
    
    返回:
    numpy 矩阵: 零空间的基(每列是一个基向量)
    """
    _, S, Vt = np.linalg.svd(A)
    
    # 奇异值接近零的右奇异向量构成零空间
    null_vectors = Vt[S < tol].T
    
    return null_vectors

def column_space(A, tol=1e-10):
    """
    计算矩阵 A 的列空间(值域)
    
    参数:
    A: m x n 矩阵
    tol: 数值容差
    
    返回:
    numpy 矩阵: 列空间的基(每列是一个基向量)
    """
    U, S, Vt = np.linalg.svd(A)
    
    # 非零奇异值对应的左奇异向量构成列空间
    rank = np.sum(S > tol)
    range_vectors = U[:, :rank]
    
    return range_vectors

# 示例
A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

null_basis = null_space(A)
print("零空间的基:")
print(null_basis)

range_basis = column_space(A)
print("\n列空间的基:")
print(range_basis)

print(f"\n零化度: {null_basis.shape[1]}")
print(f"秩: {range_basis.shape[1]}")
print(f"验证秩-零化度定理: {null_basis.shape[1] + range_basis.shape[1]} == {A.shape[1]}")

4.3 线性映射的矩阵表示

python
import numpy as np

def linear_map_to_matrix(T, basis_V, basis_W):
    """
    将线性映射 T: V -> W 表示为矩阵
    
    参数:
    T: 线性映射函数
    basis_V: V 的基向量列表
    basis_W: W 的基向量列表
    
    返回:
    numpy 矩阵: T 在给定基下的矩阵表示
    """
    dim_V = len(basis_V)
    dim_W = len(basis_W)
    
    # 将 W 的基向量组成矩阵(用于求解坐标)
    W_matrix = np.column_stack(basis_W)
    
    # 矩阵的第 j 列是 T(v_j) 在 W 基下的坐标
    matrix = np.zeros((dim_W, dim_V))
    
    for j, v_j in enumerate(basis_V):
        # 计算 T(v_j)
        Tv_j = T(v_j)
        
        # 求解 W_matrix @ coords = Tv_j
        coords = np.linalg.solve(W_matrix, Tv_j)
        matrix[:, j] = coords
    
    return matrix

# 示例:投影映射 T(x, y, z) = (x, y, 0)
def projection_T(v):
    return np.array([v[0], v[1], 0])

basis_V = [np.array([1, 0, 0]), np.array([0, 1, 0]), np.array([0, 0, 1])]
basis_W = [np.array([1, 0, 0]), np.array([0, 1, 0]), np.array([0, 0, 1])]

M = linear_map_to_matrix(projection_T, basis_V, basis_W)
print("投影映射的矩阵表示:")
print(M)

# 验证
v = np.array([1, 2, 3])
print(f"\nT({v}) = {projection_T(v)}")
print(f"M @ v = {M @ v}")

五、深入思考

5.1 历史背景

线性映射的概念源于对线性方程组和几何变换的研究:

  • 18世纪:Euler、Lagrange 在研究力学问题时使用了线性变换
  • 19世纪:Cayley、Sylvester 发展了矩阵理论,为线性映射提供了计算工具
  • 20世纪初:Banach、Hilbert 将线性算子理论推广到无限维空间
  • 1930年代:von Neumann 在量子力学中系统使用了 Hilbert 空间上的线性算子

Axler 强调先理解线性映射的抽象性质,再引入矩阵表示,这种方法更符合数学的逻辑结构。

5.2 前沿方向

随机线性映射:在高维数据处理中,随机投影(Johnson-Lindenstrauss 引理)可以用低维随机线性映射保持数据的距离结构。这在降维、近似最近邻搜索中有广泛应用。

张量网络:将高维线性映射分解为多个低维线性映射的组合,用于压缩神经网络、量子多体系统模拟等。

拓扑数据分析:使用持久同调研究数据的拓扑结构,其中涉及线性映射序列(链复形)的同调计算。

5.3 延伸阅读

Sheldon Axler, Linear Algebra Done Right, 3rd Edition, Springer, 2015 - Chapter 3

Gilbert Strang, Introduction to Linear Algebra, 5th Edition - Chapter 2, 3

Stephen H. Friedberg et al., Linear Algebra, 4th Edition - Chapter 2

3Blue1Brown, "The Essence of Linear Algebra" 第9-12集

Michael I. Jordan, "Why Deep Learning Works So Well" - 关于线性映射在深度学习中的作用


六、实验笔记

实验 1:探索线性映射的零空间和值域

目标:直观理解零空间和值域的几何意义

步骤:

选择一个 $3 \times 3$ 矩阵 $A$(秩为 2)

计算 $A$ 的零空间和列空间

在 $\mathbb{R}^3$ 中可视化零空间(直线或平面)和列空间(平面)

选择几个向量,观察它们如何被 $A$ 映射,特别是零空间中的向量被映射到哪里

验证秩-零化度定理

扩展:改变矩阵的秩,观察零空间和值域的变化。

实验 2:线性映射复合与矩阵乘法

目标:验证线性映射复合对应矩阵乘法

步骤:

定义两个线性映射 $T: \mathbb{R}^2 \to \mathbb{R}^3$ 和 $S: \mathbb{R}^3 \to \mathbb{R}^2$

分别计算它们的矩阵表示 $A$ 和 $B$

计算复合映射 $S \circ T$ 的矩阵表示

验证该矩阵等于 $BA$(注意顺序!)

测试多个向量,验证 $(S \circ T)(v) = B(Av)$

挑战:研究为什么矩阵乘法的定义是"行乘列",而不是其他方式。这与线性映射复合的顺序有何关系?


七、本章小结

本章深入研究了线性映射的理论,核心内容包括:

核心概念:

  • 线性映射保持向量加法和标量乘法,是向量空间之间的结构保持函数
  • 零空间(核)是被映射到零向量的向量集合,值域(像)是所有输出的集合
  • 零空间和值域都是子空间
  • 单射等价于零空间只有零向量,满射等价于值域等于整个目标空间

关键定理:

  • 秩-零化度定理:$\dim V = \dim(\text{null } T) + \dim(\text{range } T)$
  • 在有限维空间中,对于线性算子,单射、满射、可逆等价
  • 线性映射的复合是线性的,对应矩阵乘法

几何直觉:

  • 线性映射可以拉伸、压缩、旋转空间,但不能弯曲
  • 零空间是"被压缩为零"的方向
  • 值域是"可达"的空间区域
  • 秩-零化度定理是一种信息守恒律

编程实践:

  • 用 SVD 分解计算零空间和值域
  • 用线性方程组求解线性映射的矩阵表示
  • 验证线性映射的性质

线性映射是线性代数的核心,下一章我们将研究多项式,为理解特征值和谱定理做准备。


八、习题

基础题

判断下列函数是否是线性映射:

- (a) $T: \mathbb{R}^2 \to \mathbb{R}^2$,$T(x, y) = (x + 1, y)$

- (b) $T: \mathbb{R}^2 \to \mathbb{R}^2$,$T(x, y) = (2x, x - y)$

- (c) $T: P_2(\mathbb{R}) \to \mathbb{R}$,$T(p) = p(1)$

设 $T: \mathbb{R}^3 \to \mathbb{R}^2$ 定义为 $T(x, y, z) = (x + y, y - z)$。求 $\text{null } T$ 和 $\text{range } T$ 的基和维度。

设 $T: P_3(\mathbb{R}) \to P_2(\mathbb{R})$ 是求导映射 $T(p) = p'$。证明 $T$ 是线性映射,并求 $\text{null } T$ 和 $\text{range } T$。

设 $T: V \to W$ 是线性映射,$U$ 是 $V$ 的子空间。证明 $T(U) = \{Tu : u \in U\}$ 是 $W$ 的子空间。

进阶题

设 $T: V \to W$ 是线性映射,$v_1, \ldots, v_n$ 是 $V$ 的基。证明 $\text{range } T = \text{span}(Tv_1, \ldots, Tv_n)$。

设 $S, T: V \to W$ 是线性映射。证明 $\text{null}(S + T) \supseteq \text{null } S \cap \text{null } T$。举例说明等号不一定成立。

设 $T: V \to V$ 是线性算子,$V$ 是有限维的。证明:如果 $T^2 = 0$(零映射),则 $\text{rank}(T) \leq \frac{1}{2}\dim V$。

设 $T: U \to V$ 和 $S: V \to W$ 是线性映射。证明:$\text{rank}(S \circ T) \leq \min(\text{rank}(T), \text{rank}(S))$。

挑战题

设 $T: V \to W$ 是线性映射,$V$ 和 $W$ 都是有限维的。证明:存在 $V$ 的基 $v_1, \ldots, v_n$ 和 $W$ 的基 $w_1, \ldots, w_m$,使得 $T$ 在这两组基下的矩阵表示为:

$$\begin{pmatrix} I_r & 0 \\ 0 & 0 \end{pmatrix}$$

其中 $r = \text{rank}(T)$,$I_r$ 是 $r \times r$ 单位矩阵。(这称为线性映射的标准形)

设 $T: V \to V$ 是线性算子,$V$ 是有限维的。证明:存在正整数 $k$ 使得 $\text{null } T^k = \text{null } T^{k+1}$,且此时 $\text{range } T^k = \text{range } T^{k+1}$。进一步,证明 $V = \text{null } T^k \oplus \text{range } T^k$。

3/9线性映射
0%