参考讲义:离散 Ricci 流与双曲结构

自动关联目录:离散 Ricci 流与双曲结构

本页是集中复习用的长篇参考。第一次学习请进入 模块 8:离散 Ricci 流与双曲结构,按 6 个单概念短课阅读。

本章目标

参数化可以通过求坐标实现,也可以通过改度量实现:在同一共形类内调节局部尺度,使高斯曲率达到目标分布,然后把所得平坦/球面/双曲度量发展到标准空间。

本章建立:

连续共形度量变化→Yamabe/Ricci flow→离散顶点缩放或 circle packing→凸能量与 Newton 算法.\text{连续共形度量变化} \to \text{Yamabe/Ricci flow} \to \text{离散顶点缩放或 circle packing} \to \text{凸能量与 Newton 算法}.

1. 连续二维 Ricci 流

一般 Ricci 流:

∂g∂t=−2Ric⁡(g).\frac{\partial g}{\partial t}=-2\operatorname{Ric}(g).

二维中

Ric⁡=Kg,\operatorname{Ric}=Kg,

所以

∂g∂t=−2Kg.\frac{\partial g}{\partial t}=-2Kg.

这是纯共形变化。若g(t)=e2u(t)g0g(t)=e^{2u(t)}g_0,则

2∂u∂tg=−2Kg,2\frac{\partial u}{\partial t}g =-2Kg,

故

∂u∂t=−K.\frac{\partial u}{\partial t}=-K.

1.1 归一化 Ricci 流

为了保持面积,使用平均曲率

Kˉ=∫MK,dAArea⁡(M)=2πχ(M)Area⁡(M),\bar K=\frac{\int_MK,dA}{\operatorname{Area}(M)} =\frac{2\pi\chi(M)}{\operatorname{Area}(M)},

并令

∂g∂t=−2(K−Kˉ)g,∂u∂t=Kˉ−K.\boxed{ \frac{\partial g}{\partial t} =-2(K-\bar K)g, \qquad \frac{\partial u}{\partial t}=\bar K-K. }

曲率高于平均处收缩,低于平均处膨胀,最终趋向常曲率度量(在相应条件下)。

2. 共形曲率变换与 Yamabe 方程

若

g~=e2ug,\tilde g=e^{2u}g,

二维曲率满足

Kg~=e−2u(Kg−Δgu).K_{\tilde g}=e^{-2u}(K_g-\Delta_gu).

给定目标曲率Kˉ(x)\bar K(x),求uu 满足

−Δgu+Kg=Kˉe2u.\boxed{-\Delta_gu+K_g=\bar K e^{2u}.}

它是非线性椭圆 PDE。Gauss–Bonnet 给出必要兼容条件:

∫MKˉ,dAg~=2πχ(M).\int_M\bar K,dA_{\tilde g}=2\pi\chi(M).

离散情形也必须满足目标曲率总和约束。

3. 离散曲率处方问题

给定三角网格和初始内在边长lij0l_{ij}^0,寻找离散共形因子uiu_i,产生新边长lij(u)l_{ij}(u),使

Ki(u)=Kˉi.K_i(u)=\bar K_i.

目标曲率必须满足:

∑i∈V∘Kˉi+∑i∈∂Vkˉi=2πχ(M).\sum_{i\in V^\circ}\bar K_i +\sum_{i\in\partial V}\bar k_i =2\pi\chi(M).

此外还存在局部可实现性不等式;只满足总和通常不够。

4. 两类离散共形度量

4.1 Circle packing / circle pattern

给每个顶点圆半径ri=euir_i=e^{u_i}。在欧氏背景中,一种常见边长模型:

lij2=ri2+rj2+2rirjcos⁡Φij,l_{ij}^2 =r_i^2+r_j^2+2r_ir_j\cos\Phi_{ij},

其中Φij\Phi_{ij} 是交角。相切圆对应Φij=0\Phi_{ij}=0,于是lij=ri+rjl_{ij}=r_i+r_j。

4.2 Vertex scaling

以已有边长为基准:

lij(u)=e(ui+uj)/2lij0.\boxed{l_{ij}(u)=e^{(u_i+u_j)/2}l_{ij}^0.}

它是连续共形缩放的离散对应。每个三角形角度由新边长通过余弦定理计算。

固定 triangulation 时,某些uu 会使三角不等式失效。现代离散共形理论通常允许执行 intrinsic Delaunay flip,使算法跨越不同三角剖分单元。

5. 离散 Ricci/Yamabe 流

最直接的 ODE:

duidt=Kˉi−Ki(u).\boxed{ \frac{du_i}{dt}=\bar K_i-K_i(u). }

显式 Euler:

ui(n+1)=ui(n)+Δt(Kˉi−Ki(u(n))).u_i^{(n+1)} =u_i^{(n)}+\Delta t(\bar K_i-K_i(u^{(n)})).

它直观但步长受稳定性限制。更快方法利用变分能量和 Hessian 做 Newton 迭代。

6. 曲率映射的 Jacobian

在固定组合结构和合法度量区域内,离散曲率对uu 的导数构成对称矩阵:

Hij=∂Ki∂uj.H_{ij}=\frac{\partial K_i}{\partial u_j}.

在常见欧氏 vertex scaling 约定中,HH 是余切 Laplace 型矩阵(具体符号和1/21/2 因子依uu 定义而异):

Hij∝−wij,i≠j,H_{ij}\propto -w_{ij},\quad i\ne j,

Hii=−∑j≠iHij.H_{ii}=-\sum_{j\ne i}H_{ij}.

因此:

  • HH 对称;
  • H1=0H\mathbf1=0,统一加常数只改变整体尺度;
  • 固定尺度后通常正定/半正定;
  • 曲率处方可写成凸优化。

7. Ricci 能量

若曲率 1-形式

∑i(Ki(u)−Kˉi)dui\sum_i(K_i(u)-\bar K_i)du_i

是闭的,则存在势能

E(u)=∫u0u∑i(Ki(s)−Kˉi)dsi.E(u)=\int_{u_0}^{u}\sum_i(K_i(s)-\bar K_i)ds_i.

满足

∇E(u)=K(u)−Kˉ,\nabla E(u)=K(u)-\bar K,

∇2E(u)=H(u).\nabla^2E(u)=H(u).

求目标曲率等价于最小化EE。

7.1 Newton 步

解

H(u) δu=Kˉ−K(u),H(u)\,\delta u=\bar K-K(u),

更新

u←u+sδu,0<s≤1.u\leftarrow u+s\delta u, \qquad0<s\le1.

需要固定一个uiu_i 或约束

∑iui=0\sum_i u_i=0

消除尺度零空间。

8. line search 与合法性

Newton 全步可能造成:

  • 三角不等式失效;
  • 能量上升;
  • 曲率残差增大;
  • 需要 Delaunay flip 却未执行。

回溯线搜索:从s=1s=1 开始反复减半,直到

  1. 所有三角形合法;
  2. 能量满足 Armijo 下降;
  3. 若使用动态 triangulation,完成必要翻边后重新评估。

停止条件应同时看

∥K(u)−Kˉ∥∞<εK\|K(u)-\bar K\|_\infty<\varepsilon_K

和线性求解残差。

9. Intrinsic Delaunay triangulation

内部边(i,j)(i,j) 两侧对角α,β\alpha,\beta 满足 intrinsic Delaunay 条件

α+β≤π.\alpha+\beta\le\pi.

等价于

cot⁡α+cotβ≥0.\cot\alpha+cot\beta\ge0.

所以 Delaunay 三角剖分保证余切边权非负。度量改变时 Delaunay 条件可能被破坏,需要 flip 对角线。

9.1 Ptolemy 更新

对共圆四边形边长a,b,c,da,b,c,d 和对角线e,fe,f:

ef=ac+bd.ef=ac+bd.

离散共形 flip 可用 Ptolemy 关系更新新对角线,保持离散共形结构的一致性。

10. 从目标曲率得到标准参数域

10.1 球面型:χ>0\chi>0

闭 genus-0 曲面目标常取常正曲率。得到球面度量后,用发展映射或离散嵌入恢复S2S^2 上坐标,再用 Möbius 归一化消除自由度。

10.2 欧氏型:χ=0\chi=0

环面目标曲率全为 0,得到平坦度量。沿同调基切开并发展到平面,获得平行四边形周期域。

带边界圆盘常将内部曲率设为 0,并将边界曲率集中或均匀分布,使其展开为平面多边形。

10.3 双曲型:χ<0\chi<0

高亏格闭曲面目标为负曲率。离散双曲三角形边长和角度使用双曲余弦定理:

cosh⁡c=cosh⁡acosh⁡b−sinh⁡asinh⁡bcos⁡C.\cosh c =\cosh a\cosh b -\sinh a\sinh b\cos C.

最终发展到 Poincaré 圆盘或上半平面,并记录 Fuchsian 群边配对。

11. 双曲几何基础

Poincaré 圆盘度量:

ds2=4(dx2+dy2)(1−x2−y2)2.ds^2=\frac{4(dx^2+dy^2)}{(1-x^2-y^2)^2}.

距离:

dH(z,w)=2artanh⁡∣z−w1−zˉw∣.d_{\mathbb H}(z,w) =2\operatorname{artanh} \left| \frac{z-w}{1-\bar zw} \right|.

圆盘自同构

z↦eiθz−a1−aˉzz\mapsto e^{i\theta}\frac{z-a}{1-\bar az}

既是 Möbius 变换,也是双曲等距。

双曲三角形面积:

A=π−(α+β+γ)A=\pi-(\alpha+\beta+\gamma)

(曲率−1-1)。角和小于π\pi,角亏损直接等于面积。

12. 离散曲率流伪代码

input: triangulation T, initial lengths l0, target curvature K_bar
u <- 0
fix scale gauge, e.g. sum(u) = 0

repeat:
    l <- conformal_lengths(l0, u)
    while T is not intrinsic Delaunay:
        flip offending edge
        update intrinsic length with Ptolemy relation

    theta <- triangle_angles(l)
    K <- angle_defects(theta)
    residual <- K - K_bar
    if max_abs(residual) < tolerance: break

    H <- curvature_jacobian(theta)  # Laplace-type Hessian
    du <- solve_gauged_system(H, -residual)
    step <- backtracking_line_search(u, du)
    u <- u + step * du

output: conformal factor u, final intrinsic metric l, triangulation T

13. 数值不变量与诊断

每次迭代至少记录:

量应满足
目标曲率总和∑Kˉ=2πχ\sum\bar K=2\pi\chi(含边界版本)
当前曲率总和数值上保持 Gauss–Bonnet
最小三角不等式余量严格为正
非 Delaunay 边数翻边后为 0
∣K−Kˉ∣∞|K-\bar K|_\infty下降至容差
∑ui\sum u_i 或固定点满足尺度规范
Hessian 最小非零特征值不应异常接近 0

14. Ricci flow 与调和参数化的区别

调和/LSCMRicci/Yamabe flow
直接求点的二维坐标先求目标内在度量
通常是线性或二次优化非线性曲率处方
边界/锚点强烈影响结果目标曲率与拓扑主导
适合圆盘参数化可统一球面、环面、高亏格
输出坐标输出度量,之后还需 development

15. 常见错误

  1. 目标曲率不满足 Gauss–Bonnet,问题根本无解。
  2. 忘记固定尺度,Hessian 奇异。
  3. 固定原三角剖分不翻边,迭代撞上三角不等式边界。
  4. 把角度亏损当作曲率密度;二者相差 dual area。
  5. Newton 不做 line search,远离解时发散。
  6. 得到目标度量后直接把原三维坐标当作参数坐标;仍需发展映射。
  7. 球面/双曲参数未做自同构归一化,比较结果会漂移。

16. 习题

计算题

  1. 从g(t)=e2u(t)g0g(t)=e^{2u(t)}g_0 推导二维 Ricci 流的ut=−Ku_t=-K。
  2. 给定一个四面体表面,设计满足 Gauss–Bonnet 的均匀目标曲率。
  3. 对双曲三角形a=b=ca=b=c 推导角与边长关系。
  4. 验证 Poincaré 圆盘距离在圆盘 Möbius 自同构下不变。

证明题

  1. 证明归一化 Ricci 流保持总面积。
  2. 用 Gauss–Bonnet 说明闭环面不可能具有处处正曲率的常曲率度量。
  3. 解释H1=0H\mathbf1=0 对应整体尺度自由度。
  4. 证明 Delaunay 条件等价于余切权重非负。

实现题

  1. 实现 Euclidean vertex scaling 和三角角度重算。
  2. 用有限差分验证解析曲率 JacobianHH。
  3. 实现带零均值约束的 Newton 迭代与回溯线搜索。
  4. 对带孔圆盘指定边界曲率,展开为平面圆域。
  5. 输出每轮能量、最大曲率残差和 flip 次数的曲线。

17. 本章结论

离散 Ricci 流的核心不是“反复改半径”,而是一个受拓扑约束的凸变分问题:

共形因子 u→边长角度→角亏损K(u),∇E=K−Kˉ.\boxed{ \text{共形因子 }u \xrightarrow{\text{边长}} \text{角度} \xrightarrow{\text{角亏损}} K(u), \quad \nabla E=K-\bar K. }

它将一致化定理变成可计算算法,并自然处理球面、平坦和双曲三类曲面。

下一篇讨论课程最后一条主线:最优输运如何从测度匹配、凸几何和 Monge–Ampère 方程进入几何处理与深度学习:最优输运与几何深度学习。