CCG 02-08:离散外微分与离散 Hodge 星

本页只解决一个问题

连续微分形式怎样变成网格上的稀疏矩阵?

本页是原长篇讲义的单概念版本。第一次阅读只追踪本页定义的对象;看见未掌握的前置符号时,先沿链接退回,不要跳过定义硬背结论。

开始前

12. 离散外微分:incidence matrix

三角网格上:

  • 离散 0-形式:顶点值f∈RVf\in\mathbb R^V;
  • 离散 1-形式:有向边值ω∈RE\omega\in\mathbb R^E;
  • 离散 2-形式:面值η∈RF\eta\in\mathbb R^F。

上一章的边界矩阵B1,B2B_1,B_2 给出离散外微分:

d0=B1T:C0→C1,d_0=B_1^T:C^0\to C^1,

d1=B2T:C1→C2.d_1=B_2^T:C^1\to C^2.

由于B1B2=0B_1B_2=0:

d1d0=B2TB1T=(B1B2)T=0.d_1d_0=B_2^TB_1^T=(B_1B_2)^T=0.

对边e=(i,j)e=(i,j):

(d0f)ij=fj−fi.(d_0f)_{ij}=f_j-f_i.

对面t=(i,j,k)t=(i,j,k):

(d1ω)ijk=ωij+ωjk+ωki.(d_1\omega)_{ijk} =\omega_{ij}+\omega_{jk}+\omega_{ki}.

这部分完全由拓扑决定,不依赖顶点坐标和边长。

13. 离散 Hodge 星:把度量加入链复形

离散外微分只知道连接关系。要定义内积、伴随和 Laplacian,需要离散 Hodge 星矩阵⋆k\star_k。

在离散外微分(DEC)的 circumcentric dual 中,常用对角近似:

(⋆k)σk,σk=∣⋆σk∣∣σk∣,(\star_k)_{\sigma^k,\sigma^k} =\frac{|\star\sigma^k|}{|\sigma^k|},

即对偶单元体积与原单元体积的比。

二维中:

(⋆0)ii=∣⋆vi∣,(\star_0)_{ii}=|\star v_i|,

(⋆1)ee=∣⋆e∣∣e∣,(\star_1)_{ee}=\frac{|\star e|}{|e|},

(⋆2)tt=1∣t∣.(\star_2)_{tt}=\frac{1}{|t|}.

离散kk-形式内积是

⟨α,β⟩k=αT⋆kβ.\langle\alpha,\beta\rangle_k =\alpha^T\star_k\beta.

13.1 离散余微分

dk−1d_{k-1} 关于上述内积的伴随满足

δk=⋆k−1−1dk−1T⋆k\delta_k =\star_{k-1}^{-1}d_{k-1}^T\star_k

(整体符号依约定)。于是离散 Hodge-Laplacian

Δk=dk−1δk+δk+1dk.\Delta_k=d_{k-1}\delta_k+\delta_{k+1}d_k.

14. 离散 Hodge 分解的线性系统

给定离散 1-形式ω\omega,希望求

ω=d0f+δ2η+h.\omega=d_0f+\delta_2\eta+h.

利用正交投影:

14.1 求恰当部分

最小化

min⁡f∥ω−d0f∥⋆12.\min_f\|\omega-d_0f\|_{\star_1}^2.

法方程为

d0T⋆1d0f=d0T⋆1ω.d_0^T\star_1d_0f=d_0^T\star_1\omega.

左侧正是 0-形式的 stiffness/Laplace 矩阵。常数函数位于零空间,所以必须固定一个顶点或加零均值约束。

14.2 求余恰当部分

可令δ2η=⋆1−1d1T⋆2η\delta_2\eta=\star_1^{-1}d_1^T\star_2\eta,再做相同的加权最小二乘。二维中也常将 2-形式写成标量势,通过旋转梯度求解。

14.3 求调和余量

h=ω−d0f−δ2η.h=\omega-d_0f-\delta_2\eta.

数值上检查

∥d1h∥≈0,∥δ1h∥≈0.\|d_1h\|\approx0, \qquad \|\delta_1h\|\approx0.

15. 余切 Laplacian 从 Hodge 星出现

在三角网格上,0-形式的离散 Laplace 能量可写成

E(f)=12(d0f)T⋆1(d0f)=12fT(d0T⋆1d0)f.E(f)=\frac12(d_0f)^T\star_1(d_0f) =\frac12 f^T(d_0^T\star_1d_0)f.

对内部边(i,j)(i,j),若两侧对角为αij,βij\alpha_{ij},\beta_{ij},则对应权重

wij=12(cot⁡αij+cot⁡βij).w_{ij}=\frac12(\cot\alpha_{ij}+\cot\beta_{ij}).

因此

E(f)=12∑(i,j)∈Ewij(fi−fj)2.E(f)=\frac12\sum_{(i,j)\in E}w_{ij}(f_i-f_j)^2.

这表明余切权重不是经验技巧,而是离散 Hodge 星或分片线性有限元的自然结果。

读完必须能回答

  1. 不看公式,用自己的话回答开头的核心问题。
  2. 指出本页最重要公式中每个符号的类型:标量、向量、矩阵、映射还是集合。
  3. 找出定理成立所需的假设,并举一个删除某条假设后可能失败的例子。
  4. 对最小例子手算一遍;若本页含代码,再比较手算与程序输出。

前后课程

上一课:Hodge 分解 | 下一课:环面调和形式与代码验证