数学

微分几何入门:流形、张量与联络

引言

经典微积分建立在平直的 $\mathbb{R}^n$ 上,但现实世界中的几何对象——地球表面、机器人构形空间、广义相对论的时空——本质上是「弯曲」的。微分几何提供了一套不依赖外围欧氏空间、在弯曲空间内部谈论长度、角度、导数与曲率的语言。这套语言的核心概念链条是:流形(局部像 $\mathbb{R}^n$ 的空间)→ 切空间与张量(流形上的线性代数)→ 联络(比较不同点处向量的规则)→ 曲率(联络非平凡性的度量)。本文沿此链条梳理基本概念,并以球面测地线的数值求解展示从公式到代码的完整过程。

理论基础

流形与切空间

$n$ 维拓扑流形 $M$ 是局部同胚于 $\mathbb{R}^n$ 的 Hausdorff 空间:每点附近存在坐标卡 $(U, \varphi)$,$\varphi: U \to \mathbb{R}^n$ 给出局部坐标。坐标卡之间转移函数光滑时称 $M$ 有光滑结构,此时可定义光滑函数、光滑曲线与向量场。点 $p$ 处的切向量可定义为「方向导数算子」:对光滑函数求方向导数的映射 $v: C^\infty(M) \to \mathbb{R}$,满足 Leibniz 法则。全体切向量构成 $n$ 维线性空间 $T_pM$,局部坐标给出自然基 $\partial_i = \partial/\partial x^i$,其对偶基为余切空间 $T_p^*M$ 中的 $dx^i$。

张量与度规

$(k, l)$ 型张量是 $k$ 个余切向量与 $l$ 个切向量的多重线性函数,张量场逐点光滑变化。黎曼度规 $g$ 是对称正定的 $(0,2)$ 型张量场,给出每点切空间上的内积:

$$g = g_{ij}, dx^i \otimes dx^j, \qquad g_{ij} = g\left(\partial_i, \partial_j\right)$$

(采用 Einstein 求和约定:重复指标自动求和。)有了度规便可定义曲线长度 $\int \sqrt{g_{ij}\dot{x}^i\dot{x}^j},\,dt$、角度与体积元 $\sqrt{\det g},\,dx^1\wedge\cdots\wedge dx^n$。

联络与协变导数

不同点的切空间是不同的线性空间,普通方向导数 $\partial_i V^j$ 不构成张量——它在坐标变换下不按张量法则变换。联络 $\nabla$ 是修正这一缺陷的规则,由 Christoffel 符号 $\Gamma^k_{ij}$ 刻画:$\nabla_{\partial_i}\partial_j = \Gamma^k_{ij}\partial_k$,向量场的协变导数为

$$\nabla_i V^k = \partial_i V^k + \Gamma^k_{ij} V^j$$

在黎曼几何中取 Levi-Civita 联络(无挠且与度规相容 $\nabla_k g_{ij} = 0$),它由度规唯一确定:

$$\Gamma^k_{ij} = \frac{1}{2} g^{kl}\left(\partial_i g_{jl} + \partial_j g_{il} - \partial_l g_{ij}\right)$$

沿曲线的协变导数为零的向量场称为平行移动;切向量沿自身平行移动的曲线即测地线——弯曲空间中「最直」的曲线,其坐标满足测地线方程

$$\ddot{x}^k + \Gamma^k_{ij}\dot{x}^i\dot{x}^j = 0$$

曲率

协变导数不可交换的程度由 Riemann 曲率张量度量:$R^l_{ijk} = \partial_i\Gamma^l_{jk} - \partial_j\Gamma^l_{ik} + \Gamma^l_{im}\Gamma^m_{jk} - \Gamma^l_{jm}\Gamma^m_{ik}$。截面曲率、Ricci 张量 $R_{jk} = R^i_{ijk}$ 与标量曲率 $R = g^{jk}R_{jk}$ 是其逐级收缩。Gauss 的「绝妙定理」(Theorema Egregium)指出:曲面的 Gauss 曲率只由内蕴度规决定,与嵌入方式无关——这正是「内蕴几何」概念的起点。

方法实现

以单位球面为例。取球坐标 $(\theta, \varphi)$,度规 $g = \mathrm{diag}(1, \sin^2\theta)$,非零 Christoffel 符号为 $\Gamma^\theta_{\varphi\varphi} = -\sin\theta\cos\theta$ 与 $\Gamma^\varphi_{\theta\varphi} = \cot\theta$。测地线方程化为一阶方程组后用经典 RK4 积分。球面测地线即大圆,其充要条件是曲线始终位于过球心的平面内,故「位置向量 × 速度向量」应守恒,可用作数值格式检验:

import numpy as np

def sphere_geodesic(y0, T=8.0, steps=8000):
    """单位球面测地线, 状态 y = (th, ph, th', ph'), RK4 积分"""
    def rhs(y):
        th, ph, vth, vph = y
        return np.array([vth, vph,
                         np.sin(th) * np.cos(th) * vph**2,
                         -2.0 / np.tan(th) * vth * vph])
    h = T / steps
    y = np.asarray(y0, dtype=float)
    out = [y.copy()]
    for _ in range(steps):
        k1 = rhs(y)
        k2 = rhs(y + 0.5 * h * k1)
        k3 = rhs(y + 0.5 * h * k2)
        k4 = rhs(y + h * k3)
        y = y + h * (k1 + 2 * k2 + 2 * k3 + k4) / 6.0
        out.append(y.copy())
    return np.array(out)

y0 = [np.pi / 4, 0.0, 0.0, 1.0]          # 北纬45°处向正东出发
traj = sphere_geodesic(y0)
th, ph = traj[:, 0], traj[:, 1]
r = np.stack([np.sin(th) * np.cos(ph),
              np.sin(th) * np.sin(ph), np.cos(th)], axis=1)
v = np.gradient(r, axis=0)
nvec = np.cross(r, v)                     # 大圆平面法向量应守恒
print(f"平面法向量最大漂移: {np.abs(nvec - nvec[0]).max():.3e}")
print(f"theta 范围: [{th.min():.4f}, {th.max():.4f}]  (理论 [π/4, 3π/4])")

轨迹从北纬 $45°$ 出发向极地方向爬升再折返,恰为与纬圈相切的大圆,法向量漂移在 $10^{-6}$ 量级,验证了联络公式的正确实现。

工程案例分析

机器人学中,刚体位形构成李群 $SE(3) = \mathbb{R}^3 r\times SO(3)$:姿态插值若直接在欧拉角空间线性插值会产生依赖于参数化的伪影,正确做法是在流形上用指数映射 $\exp: mathfrak{se}(3) \to SE(3)$ 生成测地线(旋量运动 screw motion),这正是并联机构运动规划与姿态滤波(流形上的 Kalman 滤波)的基础。广义相对论则是联络几何最深刻的物理实现:物质通过 Einstein 方程 $G_{\mu\nu} = 8\pi T_{\mu\nu}$ 决定时空度规,自由落体粒子沿该度规的测地线运动——GPS 卫星钟差修正(每天约 38 微秒)正是这套几何框架的工程后果。

平直空间概念 弯曲流形对应 关键对象
$\mathbb{R}^n$ $n$ 维光滑流形 坐标卡与图册
方向导数 $\partial_i V^j$ 协变导数 $\nabla_i V^j$ Christoffel 符号
直线 测地线 测地线方程
向量平移(与路径无关) 平行移动(依赖路径) 和乐群
二阶导数可交换 不可交换 Riemann 曲率张量

结论与展望

流形、张量、联络、曲率这条概念链把微积分推广到弯曲空间,是现代物理学与几何化工程计算的公共语言。进一步的方向包括:黎曼优化(在 Stiefel/Grassmann 流形上做梯度下降,用于低秩矩阵补全与特征值问题)、信息几何(Fisher 信息度规下的统计流形),以及离散微分几何(DDG)在计算机图形学中对曲面处理的基础作用——它把本文的连续理论忠实地翻译到三角网格上。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注