Dirichlet 卷积学习笔记
最近 水痘在家休息,闲得蛋疼 学习了莫比乌斯反演,所以顺便自学一下 Dirichlet 卷积,方便做题。
定义
定义数论函数 f , g f,g f,g,则他们的 Dirichlet 卷积为
( f ∗ g ) ( x ) = ∑ d ∣ x f ( d ) ⋅ g ( x d ) (f*g)(x)=\sum\limits_{d\mid x} f(d)\cdot g(\frac{x}{d}) (f∗g)(x)=d∣x∑f(d)⋅g(dx)
同样,
( f ∗ g ) ( x ) = ∑ d ∣ x f ( x d ) ⋅ g ( d ) (f*g)(x)=\sum\limits_{d\mid x} f(\frac{x}{d})\cdot g(d) (f∗g)(x)=d∣x∑f(dx)⋅g(d)
性质
和乘法一样,卷积也有一些性质,证明略:
f
∗
g
=
g
∗
f
f*g=g*f
f∗g=g∗f
f
∗
(
g
+
h
)
=
f
∗
g
+
f
∗
h
f*(g+h)=f*g+f*h
f∗(g+h)=f∗g+f∗h
(
f
∗
g
)
∗
h
=
f
∗
(
g
∗
h
)
(f*g)*h=f*(g*h)
(f∗g)∗h=f∗(g∗h)
我们现在要来看一个非常重要的函数: ε \varepsilon ε,它是这样定义的:
ε ( x ) = { 1 x = 1 0 x ≠ 1 \varepsilon(x)=\begin{cases}1&x=1\\0&x\neq 1\end{cases} ε(x)={10x=1x=1
他有一个性质:任意一个数论函数 f f f 与 ε \varepsilon ε 的卷积都为这个函数本身,即 f ∗ ε = f f*\varepsilon=f f∗ε=f。
这个证明非常简单,但是很有助于加深对 Dirichlet 卷积的理解,证明如下:
(
f
∗
ε
)
(
x
)
=
∑
d
∣
x
f
(
x
)
⋅
ε
(
x
d
)
(f*\varepsilon)(x)=\sum\limits_{d\mid x} f(x)\cdot\varepsilon(\frac{x}{d})
(f∗ε)(x)=d∣x∑f(x)⋅ε(dx)
(
f
∗
ε
)
(
x
)
=
f
(
x
)
⋅
ε
(
1
)
+
∑
d
∣
x
,
d
≠
x
f
(
x
)
⋅
ε
(
x
d
)
(f*\varepsilon)(x)=f(x)\cdot\varepsilon(1)+\sum\limits_{d\mid x,d\neq x} f(x)\cdot\varepsilon(\frac{x}{d})
(f∗ε)(x)=f(x)⋅ε(1)+d∣x,d=x∑f(x)⋅ε(dx)
由 ε \varepsilon ε 的定义得:
( f ∗ ε ) ( x ) = f ( x ) □ \begin{aligned} (f*\varepsilon)(x)=f(x)\\ &&\square \end{aligned} (f∗ε)(x)=f(x)□
更多例子:
我们先定义一些函数:
- i d ( x ) = x id(x)=x id(x)=x
- φ ( x ) = ∑ i = 1 x [ g c d ( i , x ) = = 1 ] \varphi(x)=\sum\limits_{i=1}^{x}\ \ [gcd(i,x)==1] φ(x)=i=1∑x [gcd(i,x)==1]
- 1 ( x ) = 1 1(x)=1 1(x)=1
- d ( x ) = ∑ i ∣ x 1 d(x)=\sum\limits_{i\mid x} 1 d(x)=i∣x∑1
- σ ( x ) = ∑ i ∣ x i \sigma(x)=\sum\limits_{i\mid x} i σ(x)=i∣x∑i
- 设 x = ∏ i = 1 c p i k i x=\prod\limits_{i=1}^c p_i^{k_i} x=i=1∏cpiki,其中 p i p_i pi 为质数。
μ ( x ) = { 1 x = 1 ( − 1 ) c ∏ i = 1 c k i = 1 0 max i = 1 c k i > 1 \mu(x)=\begin{cases} 1&x=1\\(-1)^c&\prod\limits_{i=1}^c k_i=1\\0& \max\limits_{i=1}^c k_i>1 \end{cases} μ(x)=⎩⎪⎪⎪⎨⎪⎪⎪⎧1(−1)c0x=1i=1∏cki=1i=1maxcki>1
那么我们由定义可以得出两个结论,不证明了,都比较简单:
d
=
1
∗
1
σ
=
i
d
∗
1
\begin{aligned} d=1*1\\\sigma=id*1 \end{aligned}
d=1∗1σ=id∗1
有两个证明较为复杂:
ε = 1 ∗ μ φ = i d ∗ μ \begin{aligned} \varepsilon=1*\mu\\\varphi=id*\mu \end{aligned} ε=1∗μφ=id∗μ
其中上面一个属于莫比乌斯函数的内容,之后的博文可能会讲。第二个我们给予证明,伪证如下:
由定义可得,即证:
∑
i
=
1
x
[
g
c
d
(
i
,
x
)
=
=
1
]
=
∑
d
∣
x
x
d
⋅
μ
(
d
)
\sum\limits_{i=1}^{x}\ \ [gcd(i,x)==1]=\sum\limits_{d\mid x} \frac{x}{d}\cdot\mu(d)
i=1∑x [gcd(i,x)==1]=d∣x∑dx⋅μ(d)
先考虑 d = 1 d=1 d=1,由定义, μ ( 1 ) = 1 \mu(1)=1 μ(1)=1,因此此时 x d ⋅ μ ( d ) = 1 \frac{x}{d}\cdot\mu(d)=1 dx⋅μ(d)=1
当 μ ( d ) = − 1 \mu(d)=-1 μ(d)=−1 时,即 d d d 有奇数个不同的质因子。此时能表示成 k d kd kd 形式的数有 x d \frac{x}{d} dx 个,这些数都是不与 x x x 互质的,因此要乘以 − 1 -1 −1 减去。
当 μ ( d ) = 1 , d ≠ 1 \mu(d)=1,d\neq 1 μ(d)=1,d=1 时,即 d d d 有偶数个不同的质因子。我们考虑两个数 a , b a,b a,b,满足 a ∣ x , b ∣ x a\mid x,b\mid x a∣x,b∣x, a , b a,b a,b 都有奇数个不同的质因子。我们在去除 a a a 的倍数和 b b b 的倍数时,很有可能有 p , q p,q p,q 满足 p ⋅ a = q ⋅ b p\cdot a=q\cdot b p⋅a=q⋅b,这个数就被筛掉了两次,我们用容斥原理给它加回来。对于 a , b a,b a,b 来说,重复被筛掉的有 x lcm ( a , b ) \frac{x}{\operatorname{lcm}(a,b)} lcm(a,b)x 个数。我们令 d = lcm ( a , b ) d=\operatorname{lcm}(a,b) d=lcm(a,b)。若 d d d 有偶数个不同质因子,我们才考虑,这是因为我们还会有被多加上去的,然后再有多减掉的,如此一直反复直到不存在 a , b a,b a,b。我们这里不再考虑三次容斥(其实还是有的),所以我们只需要减去偶数个不同质因子的即可。
由此我们最后得到的就是 φ ( x ) \varphi(x) φ(x)
这个证明不是特别严谨,所以大家不要太当真,这是一个帮助大家理解的证明过程。我也不知道我怎么想出来的。真正的见下。
我们先来证明 i d = φ ∗ 1 id=\varphi*1 id=φ∗1
即证:
x
=
∑
d
∣
x
φ
(
d
)
x=\sum\limits_{d\mid x} \varphi(d)
x=d∣x∑φ(d)
由于 φ \varphi φ 是一个积性函数,我们只需要证明 x = p k x=p^k x=pk 时满足条件即可。( p p p 为质数)
φ ∗ 1 = ∑ d ∣ x φ ( x d ) = ∑ i = 0 k φ ( p i ) = 1 + ( p − 1 ) ⋅ p 0 + ( p − 1 ) ⋅ p 1 + ( p − 1 ) ⋅ p 2 + ⋯ + ( p − 1 ) ⋅ p k − 1 = p k = i d \begin{aligned} \varphi*1&=\sum\limits_{d\mid x} \varphi(\frac{x}{d})\\&=\sum\limits_{i=0}^{k}\varphi(p^i)\\&= 1+(p-1)\cdot p^0+(p-1)\cdot p^1+(p-1)\cdot p^2+\cdots+(p-1)\cdot p^{k-1}\\&=p^k\\&=id \end{aligned} φ∗1=d∣x∑φ(dx)=i=0∑kφ(pi)=1+(p−1)⋅p0+(p−1)⋅p1+(p−1)⋅p2+⋯+(p−1)⋅pk−1=pk=id
因此 i d = φ ∗ 1 id=\varphi*1 id=φ∗1,由此得:
i d ∗ μ = φ ∗ μ ∗ 1 i d ∗ μ = φ ∗ ε i d ∗ μ = φ □ \begin{aligned} id*\mu=\varphi*\mu*1\\id*\mu=\varphi*\varepsilon\\id*\mu=\varphi\\&\square \end{aligned} id∗μ=φ∗μ∗1id∗μ=φ∗εid∗μ=φ□