CR-Calculus 引言
什么是 CR-Calculus
CR-Calculus 也常被称为 Wirtinger calculus 或 Wirtinger derivative,是一套处理非解析复变量函数的微积分记号与计算规则。这里的 “CR” 来自复分析中的 Cauchy-Riemann 结构,也可以直观理解为在 complex 与 real 两种视角之间来回切换:一方面,变量仍然用复数 \(z=x+iy\) 表示;另一方面,求导时又承认它背后包含两个实自由度 \(x\) 和 \(y\)。它的核心做法,是把函数看成同时依赖 \(z\) 与共轭变量 \(\bar z\),并分别定义关于它们的偏导数。
这听起来像多引入了一个变量,但本质上并没有增加自由度。因为 \(z\) 和 \(\bar z\) 仍然由同一对 \(x,y\) 决定;CR-Calculus 只是把原本写在实坐标中的梯度信息,重新组织成更适合复数模型的形式。对于光学成像来说,这一点尤其重要:光场天然是复数,损失函数却通常是实数;CR-Calculus 让我们不必把所有推导都拆成实部和虚部,也能得到正确的优化方向。
为什么需要 CR-Calculus
在光学成像、阵列信号处理、通信系统和自适应滤波中,复数几乎是最自然的语言。振幅和相位可以合成一个复数,传播和调制可以写成复矩阵,频域里的窄带信号也常常以复基带形式出现。问题在于,我们真正想优化的目标通常不是复值函数,而是一个实数:误差有多小,似然有多大,重建图像有多干净,物理模型和观测数据有多一致。
这就带来一个经典尴尬:变量是复数,目标是实数,而普通复分析课程里教的“复导数”只对解析函数友好。一个非平凡的实值复函数,例如 \(f(z)=|z|^2\),并不满足 Cauchy-Riemann 条件,因此在传统复导数意义下不可导。可是从优化角度看,它明明光滑得很:把 \(z=x+iy\) 展开为 \(f(x,y)=x^2+y^2\),梯度立刻就是 \((2x,2y)\)。数学没有坏掉,只是坐标系有点别扭。
CR-Calculus 的价值正在这里:它允许我们一边把函数看作 \(x,y\) 上的实微积分问题,一边继续使用 \(z,\bar z\) 的复数表示。换句话说,它不是发明一种神秘的新导数,而是把实梯度重新包装成适合复变量模型的形式,让推导更接近物理模型本身。
一点历史:从解析函数到不解析也能算
复分析最迷人的地方,也正是它最“挑剔”的地方。19 世纪以来,Cauchy 与 Riemann 建立的解析函数理论告诉我们:若复导数存在,函数就必须满足一组非常强的条件,实部和虚部像两张被紧密缝合的网,不能各走各路。这种严格性带来了留数定理、调和函数、共形映射等漂亮结果,但也把很多工程里常见的实值代价函数挡在门外。
到了 20 世纪,奥地利数学家 Wilhelm Wirtinger 提出的记号给了一个更灵活的视角:把 \(z\) 和 \(\bar z\) 暂时当作两个形式上独立的变量,分别定义 \(\partial/\partial z\) 与 \(\partial/\partial \bar z\)。因此,这套方法也被称为 Wirtinger calculus 或 Wirtinger derivative。这样一来,不解析函数也可以被系统地微分。解析函数的特殊性并没有消失,而是变成了一个更清楚的判据:如果一个函数不依赖 \(\bar z\),它就是解析的;如果依赖 \(\bar z\),那也没关系,我们仍然可以计算它的局部变化。
Kreutz-Delgado 在 The Complex Gradient Operator and the CR-Calculus 中强调了一个工程上很重要的事实:复值信号和系统参数在许多应用中非常方便,但优化时常常面对实值性能指标;此时若死守标准复导数,会发现很多最常用的目标函数“不可导”。CR-Calculus 的角色,就是在 “R-calculus” 的实梯度和 “C-calculus” 的复表示之间来回切换,并把这种切换变成一套可复用的规则。
一个直觉图像
可以把传统复导数想象成一支要求极高的笔:无论从复平面的哪个方向靠近同一点,它都必须写出同一个斜率。解析函数能满足这个要求,所以它们像经过精密校准的光学元件,处处秩序井然。实值目标函数则更像实验室里的测量指标:它诚实、可优化、很有用,但它不一定愿意遵守解析函数的礼仪。
CR-Calculus 的做法更务实:既然 \(z=x+iy\),那就承认背后有两个实自由度;既然物理模型更愿意写成复数,那就不要粗暴拆成一长串实部和虚部。于是我们在 \(z\) 与 \(\bar z\) 之间开出两条微分通道,把真实可优化的方向保留下来,也把复数表达的优雅保留下来。
为什么它适合计算成像
计算成像里的许多未知量本来就是复数光场:振幅描述能量,相位记录传播历史,而传感器最终测到的却往往只是强度。相位恢复、数字全息、叠层成像、傅里叶叠层显微等问题,都会反复遇到类似结构:前向模型在复数域中传播,损失函数在实数域中度量。
因此,CR-Calculus 可以看成计算成像算法中的一块基础转接板。它把复数光场、实值损失、物理前向模型和梯度下降统一到同一套语言中。后续章节中的最大后验概率模型、Wirtinger 导数和 Wirtinger 流,实际上都在回答同一个问题:当光学问题以复数形式出现,而优化目标又必须是实数时,我们该如何正确、简洁且物理一致地计算更新方向。
如果说 MAP 模型回答“我们到底在优化什么”,那么 CR-Calculus 回答“我们该怎样对它求导”。有了这层语言,很多看似经验性的相位恢复算法会显出更清晰的骨架:数据一致性项来自观测统计,先验项来自物理或图像结构,而复变量梯度则负责把这些约束转化为实际的迭代步骤。