积性函数与狄利克雷卷积

积性函数与狄利克雷卷积

什么是卷积?

将两个函数复合后生成新函数的运算。

所谓复合,就是将两个函数对应位置的值进行一定的运算后得到新函数对应位置的值,具体见下文。

事实上,卷积是一种高等数学的代数语言。它不仅能够简化初等数学的代数推导,而且能解释 \(\mu(n),\varphi(n)\) 等数论函数的底层关系。

常见数论函数

定义域为正整数,值域为复数的函数被称为数论函数。

  • \(\varepsilon(n)\):单位函数。\(\varepsilon(n) = [n = 1]\)。

  • \(\bold{1}(n)\):常函数。\(\bold{1}(n) = 1\)。

  • \(\operatorname{id}(n)\):恒等函数。\(\operatorname{id}(n) = n\)。

  • \(\operatorname{id_k}(n)\):幂函数。\(\operatorname{id_k}(n) = n^k\)。

  • \(\sigma(n)\):约数和函数。

  • \(\mu(n)\)、\(\varphi(n)\)、\(d(n)\)。

狄利克雷卷积

定义:

我们定义狄利克雷卷积的符号为 \(*\),对于数论函数 \(f(n),g(n)\),记其狄利克雷卷积为 \(h(n)=(f * g)(n)\)。则有:

\[h(n) = \sum_{d|n} f(d) \cdot g(\frac{n}{d}) \]

性质:

  • 交换律

\[f * g = g * f \]

证明:

\[f * g \\ = \sum_{d|n} f(d) \cdot g(\frac{n}{d}) \\ = \sum_{\frac{n}{d}|n} f(\frac{n}{d}) \cdot g(d) \\ = g * f \]

这里运用到了 \(d\) 与 \(\frac{n}{d}\) 等价 的思想。

  • 结合律

\[f * (g * h) = (f * g) * h \]

运用上述思想可以类似的进行证明。

  • 分配律

\[f * (g + h) = f * g + f * h \]

将 \(\sum\) 拆开即得证。

  • 卷积的结果一定是数论函数。

  • 积性函数的卷积一定也是积性函数(很重要)。

基本恒等式

  • \(f * \varepsilon = f\)

证明:\((f * \varepsilon)(n) = \sum_{d|n} f(d) \varepsilon(\frac{n}{d}) = \sum_{d|n} f(d)[n=d] = f(n)\)。

  • \(\bold{1} * \mu = \varepsilon\)(即 \(\bold{1}\) 与 \(\mu\) 互为卷积逆元)

证明:\((\bold{1} * \mu)(n) = \sum_{d|n} \mu(d) \bold{1}(\frac{n}{d}) = \sum_{d|n} \mu(d) = [n=1] = \varepsilon(n)\)。

  • \(\bold{1} * \bold{1} = d\)

证明:\((\bold{1} * \bold{1})(n) = \sum_{d|n} \bold{1}(d) \bold{1}(\frac{n}{d}) = \sum_{d|n} 1 = d(n)\)。

  • \(\bold{1} * \operatorname{id} = \sigma\)

证明:\((\bold{1} * \operatorname{id})(n) = \sum_{d|n} \bold{1}(\frac{n}{d}) \operatorname{id}(d) = \sum_{d|n} d = \sigma(n)\)。

  • \(\bold{1} * \varphi = \operatorname{id}\)

证明:\((\bold{1} * \varphi)(n) = \sum_{d|n} \varphi(d) = n\)。

最后一步是怎么来的呢?考虑计数,对于分数 \(\frac{1}{n},\frac{2}{n}, ... ,\frac{n}{n}\),将其约分为最简形式 \(\frac{a}{d}\),其中 \(\gcd(a,d)=1,d|n\)。根据分母计数,可得分数的总个数为 \(\sum_{d|n} \varphi(d) = n\),原式得证。

  • \(\mu * \operatorname{id} = \varphi\)

证明:已知 \(\bold{1} * \varphi = \operatorname{id}\),两边同时卷积 \(\mu\) 得 \(\bold{1} * \varphi * \mu = \operatorname{id} * \mu\),左边利用 \(\bold{1} * \mu = \varepsilon\) 即得 \(\mu * \operatorname{id} = \varphi\)。

从卷积视角重新审视莫反

image

补充知识:欧拉反演

\[\gcd(i,j) = \sum_{d|gcd(i,j)} \varphi(d) \]

证明:上文欧拉函数那条性质中令 \(n=gcd(i,j)\) 即得。

经验:看到 \([\gcd(i,j)=1]\) 用莫反,看到 \(\gcd(i,j)\) 用欧反。

例题选讲

  • P1829 [集训队互测 2010] Crash的数字表格 / JZPTAB(自定义积性函数的预处理)

\[\sum_{i=1}^n \sum_{i=1}^m \operatorname{lcm}(i,j) \\ = \sum_{i=1}^n \sum_{i=1}^m \frac{ij}{\gcd(i,j)} \\ = \sum_{d=1}^{\min(n,m)} d \cdot \sum_{i=1}^{\lfloor \frac{n}{d} \rfloor} \sum_{j=1}^{\lfloor \frac{m}{d} \rfloor} [gcd(i,j)=1] \cdot ij \\= \sum_{d=1}^{\min(n,m)} d \cdot \sum_{i=1}^{\lfloor \frac{n}{d} \rfloor} \sum_{j=1}^{\lfloor \frac{m}{d} \rfloor} [gcd(i,j)=1] \cdot ij \\ = \sum_{d=1}^{\min(n,m)} d \cdot \sum_{i=1}^{\lfloor \frac{n}{d} \rfloor} \sum_{j=1}^{\lfloor \frac{m}{d} \rfloor} \sum_{k|\gcd(i,j)} \mu(k) \cdot ij \\ = \sum_{d=1}^{\min(n,m)} d \cdot \sum_{k=1}^{\min(\lfloor \frac{n}{d} \rfloor,\lfloor \frac{m}{d} \rfloor)} k^2 \mu(k) \cdot \operatorname{sum}(\lfloor \frac{n}{dk} \rfloor) \cdot \operatorname{sum}(\lfloor \frac{m}{dk} \rfloor) \\ = \sum_{T=1}^{\min(n,m)} \operatorname{sum}(\lfloor \frac{n}{dk} \rfloor) \operatorname{sum}(\lfloor \frac{m}{dk} \rfloor) \cdot T \sum_{d|T} k \mu(k) \\ \]

前面的部分整除分块即可。

观察后半部分,\(\sum_{d|T} k \mu(k)\) 可看作 \(\operatorname{id} \cdot \mu\) 与 \(\bold{1}\) 的卷积,这显然是积性函数,于是我们可以预处理,考察三个地方的取值即可,具体见代码。

posted @ 2026-08-03 23:50  _KidA  阅读(15)  评论(0)    收藏  举报