莫比乌斯反演

引言

在算法竞赛(ACM/ICPC, OI)和解析数论中,**狄利克雷卷积(Dirichlet Convolution)莫比乌斯反演(Möbius Inversion)**是解决GCD(最大公约数)求和、复杂计数问题的两大核心利器。很多人初学时往往死记硬背公式,对其内在的代数结构缺乏直观的感受。

今天,这篇文章不仅会带你深入浅出地梳理狄利克雷卷积与莫比乌斯反演的基础知识,还会为你打开一扇全新的大门------从抽象代数(特别是偏序集的关联代数)的视角,重新审视这两个神奇的数学工具。你会发现,那些繁杂的数论公式,其实只是广阔代数世界中的一个特例。


一、 前置知识:数论函数与常见积性函数

在深入卷积之前,我们需要明确什么是数论函数

数论函数(Arithmetic function)是指定义域为正整数,值域为复数的函数

在数论中,有几个出场率极高的基本数论函数:

  1. 单位函数 ϵ\epsilonϵ(元函数) :狄利克雷卷积的单位元。
    ϵ(n)={1(n=1)0(n>1) \epsilon(n) = \begin{cases} 1 & (n=1) \\ 0 & (n > 1) \end{cases} ϵ(n)={10(n=1)(n>1)
  2. 常数函数 111 :无论输入什么,输出都是 111。
    1(n)=11(n) = 11(n)=1
  3. 恒等函数 ididid :输出等于输入。
    id(n)=nid(n) = nid(n)=n
  4. 欧拉函数 φ\varphiφ :φ(n)\varphi(n)φ(n) 表示小于等于 nnn 且与 nnn 互质的正整数的个数。
  5. 莫比乌斯函数 μ\muμ
    μ(n)={1(n=1)(−1)k(n=p1p2...pk,所有素因子指数均为1)0(n 含有平方因子) \mu(n) = \begin{cases} 1 & (n=1) \\ (-1)^k & (n = p_1 p_2 \dots p_k \text{,所有素因子指数均为1}) \\ 0 & (n \text{ 含有平方因子}) \end{cases} μ(n)=⎩ ⎨ ⎧1(−1)k0(n=1)(n=p1p2...pk,所有素因子指数均为1)(n 含有平方因子)

二、 狄利克雷卷积 (Dirichlet Convolution)

1. 定义

对于两个数论函数 fff 和 ggg,它们的狄利克雷卷积 记作 f∗gf * gf∗g,其结果也是一个数论函数,定义为:
(f∗g)(n)=∑d∣nf(d)g(nd) (f * g)(n) = \sum_{d|n} f(d)g\left(\frac{n}{d}\right) (f∗g)(n)=d∣n∑f(d)g(dn)

其中 d∣nd|nd∣n 表示 ddd 是 nnn 的约数。这等价于枚举 nnn 的所有因子对 (x,y)(x, y)(x,y) 满足 x⋅y=nx \cdot y = nx⋅y=n,计算 f(x)g(y)f(x)g(y)f(x)g(y) 的和。

2. 代数性质

集合与运算如果能构成良好的代数结构,就会拥有极好的性质。数论函数集合在狄利克雷卷积运算下,构成了一个交换环(Commutative Ring)

  • 交换律 :f∗g=g∗ff * g = g * ff∗g=g∗f
  • 结合律 :(f∗g)∗h=f∗(g∗h)(f * g) * h = f * (g * h)(f∗g)∗h=f∗(g∗h)
  • 分配律 :f∗(g+h)=f∗g+f∗hf * (g + h) = f * g + f * hf∗(g+h)=f∗g+f∗h
  • 存在单位元 :ϵ∗f=f∗ϵ=f\epsilon * f = f * \epsilon = fϵ∗f=f∗ϵ=f(任何函数与 ϵ\epsilonϵ 卷积还是它自己)

3. 核心恒等式

利用狄利克雷卷积,我们可以将几个基本数论函数紧密联系在一起。请务必记住以下两个神仙公式:

公式一:莫比乌斯函数与常数函数的卷积
μ∗1=ϵ \mu * 1 = \epsilon μ∗1=ϵ
展开即为著名的性质:∑d∣nμ(d)=[n=1]\sum_{d|n}\mu(d) = [n=1]∑d∣nμ(d)=[n=1]。这是莫比乌斯反演的核心基石。

公式二:欧拉函数与常数函数的卷积
φ∗1=id \varphi * 1 = id φ∗1=id
展开即:∑d∣nφ(d)=n\sum_{d|n}\varphi(d) = n∑d∣nφ(d)=n。


三、 莫比乌斯反演:卷积视角的降维打击

古典形式的定义

莫比乌斯反演定理指出,如果有两个数论函数 FFF 和 fff 满足:
F(n)=∑d∣nf(d) F(n) = \sum_{d|n} f(d) F(n)=d∣n∑f(d)

那么就可以反向推导出:
f(n)=∑d∣nμ(d)F(nd) f(n) = \sum_{d|n} \mu(d)F\left(\frac{n}{d}\right) f(n)=d∣n∑μ(d)F(dn)

狄利克雷卷积视角的极简证明

在没有学习卷积之前,证明上述定理需要复杂的求和符号变换。但如果有了狄利克雷卷积,证明过程堪称"降维打击"。

已知条件转化为卷积式:
F=f∗1F = f * 1F=f∗1

证明目标转化为卷积式:
f=F∗μf = F * \muf=F∗μ

证明过程:
F=f∗1F∗μ=(f∗1)∗μ(两边同时右乘 μ)F∗μ=f∗(1∗μ)(结合律)F∗μ=f∗ϵ(因为 1∗μ=ϵ)F∗μ=f(因为 ϵ 是单位元) \begin{aligned} F &= f * 1 \\ F * \mu &= (f * 1) * \mu \quad \text{(两边同时右乘 } \mu \text{)} \\ F * \mu &= f * (1 * \mu) \quad \text{(结合律)} \\ F * \mu &= f * \epsilon \quad \text{(因为 } 1 * \mu = \epsilon \text{)} \\ F * \mu &= f \quad \text{(因为 } \epsilon \text{ 是单位元)} \end{aligned} FF∗μF∗μF∗μF∗μ=f∗1=(f∗1)∗μ(两边同时右乘 μ)=f∗(1∗μ)(结合律)=f∗ϵ(因为 1∗μ=ϵ)=f(因为 ϵ 是单位元)

Q.E.D.(证毕)


四、 抽象代数中的偏序集关联代数

上面的代数证明已经足够优雅了,但我们还可以站得更高。为什么 μ\muμ 函数长这样?为什么求和条件是 d∣nd|nd∣n?这仅仅是巧合吗?

在抽象代数和组合数学中,有一个极其深刻的概念叫做偏序集的关联代数(Incidence Algebra of a Partially Ordered Set)。Gian-Carlo Rota 在 1964 年将其系统化,揭示了莫比乌斯反演的本质。

1. 偏序集与区间

考虑一个偏序集 (P,≤)(P, \le)(P,≤)。对于任意 x≤yx \le yx≤y,定义区间 [x,y]={z∈P∣x≤z≤y}[x, y] = \{z \in P \mid x \le z \le y\}[x,y]={z∈P∣x≤z≤y}。且假设该偏序集是局部有限的(即每个区间只包含有限个元素)。

2. 关联代数的卷积

我们定义 PPP 上的关联代数:包含所有定义在区间上的函数 α(x,y)\alpha(x, y)α(x,y)。

在这个代数系统中,定义一种"卷积"运算 ∗*∗:
(α∗β)(x,y)=∑x≤z≤yα(x,z)β(z,y) (\alpha * \beta)(x, y) = \sum_{x \le z \le y} \alpha(x, z)\beta(z, y) (α∗β)(x,y)=x≤z≤y∑α(x,z)β(z,y)

这里的单位元 δ(x,y)\delta(x, y)δ(x,y) 定义为:当 x=yx=yx=y 时为1,否则为0。

3. Zeta 函数与反演

在这个系统中,定义最基础的常量函数为 Zeta 函数 ζ\zetaζ
ζ(x,y)=1(对于所有 x≤y) \zeta(x, y) = 1 \quad (\text{对于所有 } x \le y) ζ(x,y)=1(对于所有 x≤y)

Rota 定理指出,ζ\zetaζ 函数在关联代数中存在唯一的逆元,这个逆元就定义为广义莫比乌斯函数 μ\muμ

即 μ∗ζ=δ\mu * \zeta = \deltaμ∗ζ=δ。

这就导致了广义莫比乌斯反演公式
g(y)=∑x≤yf(x)  ⟺  f(y)=∑x≤yg(x)μ(x,y) g(y) = \sum_{x \le y} f(x) \iff f(y) = \sum_{x \le y} g(x)\mu(x, y) g(y)=x≤y∑f(x)⟺f(y)=x≤y∑g(x)μ(x,y)

4. 降维到数论:整除偏序集

现在,见证奇迹的时刻到了。

我们将偏序集 PPP 设定为正整数集 N+\mathbb{N}^+N+

将偏序关系 ≤\le≤ 定义为整除关系 ∣|∣ 。即 x≤yx \le yx≤y 意味着 xxx 能整除 yyy (x∣yx|yx∣y)。

此时的区间 [x,y][x, y][x,y] 就对应着 yx\frac{y}{x}xy 的所有约数。

将这一套理论代入上述的广义公式:

  1. 卷积运算 变成了:(α∗β)(x,y)=∑x∣z∣yα(x,z)β(z,y)(\alpha * \beta)(x, y) = \sum_{x|z|y} \alpha(x, z)\beta(z, y)(α∗β)(x,y)=∑x∣z∣yα(x,z)β(z,y),只要固定 x=1x=1x=1,这就等价于标准的狄利克雷卷积
  2. Zeta函数 ζ(1,n)=1\zeta(1, n) = 1ζ(1,n)=1,这就是我们数论中的常数函数 111
  3. 广义莫比乌斯函数 μ(1,n)\mu(1, n)μ(1,n),就是由 μ∗ζ=δ\mu * \zeta = \deltaμ∗ζ=δ 推导出来的。我们将其解出来,正是那个包含 (−1)k(-1)^k(−1)k 和 000 的经典莫比乌斯函数 μ(n)\mu(n)μ(n)

总结:

我们熟悉的狄利克雷卷积,仅仅是正整数集在"整除"这一偏序关系下构成的关联代数中的卷积运算 ;而数论中的莫比乌斯反演,只是 Gian-Carlo Rota 广义偏序集反演定理在"整除偏序集"上的一个特例而已


结语

莫比乌斯反演牛福克拉斯!

相关推荐
hxl2688 小时前
杨振宁发现宇称不守恒黄小宁发现直线a沿本身平移变为的直线不恒=a
抽象代数
hxl26811 天前
中学函数常识暴露初等数学几百年重大错误:数轴沿本身的任何平移都是变回自己的变换
抽象代数
aichitang202414 天前
欧拉函数的乘性+一道练习题
抽象代数
hxl26817 天前
初等数学将无穷多各异函数误为同一函数的原因:对数轴的认识存在重大错误
抽象代数
hxl26819 天前
图说初等数学有一系列将两异函数误为同一函数的重大错误
抽象代数
hxl26821 天前
直线沿本身平移非0距离的变换是改变了空间位置的变换
抽象代数
做cv的小昊25 天前
【TJU】研究生应用统计学课程笔记(2)——第一章 数理统计的基本知识(1.3 统计中常用的分布族)
笔记·线性代数·数学建模·矩阵·概率论·学习方法·抽象代数
Je1lyfish1 个月前
Haskell 初探
开发语言·笔记·算法·rust·lisp·抽象代数
hxl2681 个月前
“分球怪论”的症结:几何学一直不知有伪重合点集
抽象代数