从初识莫比乌斯反演,就陆陆续续地看了一些博客,每次都懂得差不多(可能没有频繁遇见相关题目吧),都没有一口气搞完,今天记录一下。希望无论是以后又忘记了的我,还是没有没有接触过的人,看了这篇博客有一些帮助。
莫比乌斯函数
莫比乌斯函数对于小白来说,怎么得出来的,我觉得没必要搞清楚,了解就行。
莫比乌斯函数
μ
(
x
)
\mu(x)
μ(x) 的定义是这样子的:
(1)当
x
=
1
x = 1
x=1时,
μ
(
x
)
=
1
\mu(x) = 1
μ(x)=1.
(2)当
x
x
x中任何质因数的次数都为1,
μ
(
x
)
=
(
−
1
)
k
,
k
\mu(x) = (-1)^k,k
μ(x)=(−1)k,k是质因数的个数.
(3)当
x
x
x中存在一个质因数的次数大于1,
μ
(
x
)
=
0
\mu(x) = 0
μ(x)=0.
语言抽象就看公式。
将
x
x
x质因数分解,
x
=
p
1
m
1
×
p
2
m
2
×
.
.
.
.
×
p
n
m
n
x = {p_{1}}^{m_{1}} \times{p_{2}}^{m_{2}}\times....\times{p_{n}}^{m_{n}}
x=p1m1×p2m2×....×pnmn
(1)
μ
(
x
)
=
{
1
x
=
1
(
−
1
)
k
∀
m
i
∈
{
1
}
,
k
=
∑
i
=
1
n
m
i
(
换
句
话
说
k
=
n
)
0
x
∈
o
t
h
e
r
c
a
s
e
s
\mu(x)=\begin{cases} 1 & x=1\\ (-1)^k & \forall m_{i} \in \{1\},k = \sum_{{i =1}}^n m_{i} (换句话说k=n)\\ 0 & x\in other\ cases \end{cases}\tag{1}
μ(x)=⎩⎪⎨⎪⎧1(−1)k0x=1∀mi∈{1},k=∑i=1nmi(换句话说k=n)x∈other cases(1)
不需要搞清楚它怎么来的,因为它的条件较为简单,而且它只是一个工具。
现在我们已经有了莫比乌斯函数 μ ( x ) \mu(x) μ(x),就可以进行莫比乌斯反演。
莫比乌斯反演
啥时候用莫比乌斯反演
我们有一个函数 f ( x ) f(x) f(x),我们不方便求他的一个函数值 f ( n ) f(n) f(n)时,莫比乌斯反演就提供了一种方向。
啥是莫比乌斯反演
我们定义一个函数
g
(
x
)
g(x)
g(x)。
如果
g
(
n
)
=
∑
d
∣
n
f
(
d
)
g(n) = \sum_{d|n}f(d)
g(n)=∑d∣nf(d)
可以得到
f
(
n
)
=
∑
d
∣
n
μ
(
d
)
g
(
n
d
)
f(n) = \sum_{d|n}\mu(d)g(\frac{n}{d})
f(n)=∑d∣nμ(d)g(dn),
如果
g
(
n
)
=
∑
n
∣
d
f
(
d
)
g(n)=\sum_{n|d}f(d)
g(n)=∑n∣df(d)
可以得到
f
(
n
)
=
∑
n
∣
d
μ
(
d
n
)
g
(
d
)
f(n) = \sum_{n|d}\mu(\frac{d}{n})g(d)
f(n)=∑n∣dμ(nd)g(d)
这便是反演的重要两个的公式。
证明:
由于函数
μ
(
x
)
\mu(x)
μ(x)的性质,所有
n
n
n的因数中质因数的次数大于2的都为0.
等式左边就剩下
g
(
n
)
−
g
(
n
p
1
)
−
g
(
n
p
2
)
.
.
.
+
g
(
n
p
1
p
2
)
+
g
(
n
p
1
p
3
)
.
.
.
+
μ
(
p
1
p
2
.
.
.
p
n
)
g
(
n
p
1
p
2
.
.
.
p
n
)
g(n) - g(\frac{n}{p_{1}}) - g(\frac{n}{p_{2}})...+g(\frac{n}{p_{1}p_{2}})+g(\frac{n}{p_{1}p_{3}})...+\mu(p_{1}p_{2}...p_{n})g(\frac{n}{p_{1}p_{2}...p_{n}})
g(n)−g(p1n)−g(p2n)...+g(p1p2n)+g(p1p3n)...+μ(p1p2...pn)g(p1p2...pnn)
对于
g
(
n
p
1
)
g(\frac{n}{p_{1}})
g(p1n),由于减少了一个
p
1
p_{1}
p1,含有
p
1
m
1
p_{1}^{m_{1}}
p1m1的项全部消失了。
所以
g
(
n
p
1
)
=
g
(
n
)
−
f
(
p
1
m
1
)
−
f
(
p
1
m
1
p
2
)
−
.
.
.
.
−
f
(
p
1
m
1
p
2
m
2
)
.
.
.
−
f
(
n
)
g(\frac{n}{p_{1}}) = g(n) - f(p_{1}^{m_{1}}) -f(p_{1}^{m_{1}}p_{2})-....-f(p_{1}^{m_{1}}p_{2}^{m_{2}})...-f(n)
g(p1n)=g(n)−f(p1m1)−f(p1m1p2)−....−f(p1m1p2m2)...−f(n)
同理
g
(
n
p
2
)
=
g
(
n
)
−
f
(
p
2
m
2
)
−
f
(
p
2
m
2
p
1
)
−
.
.
.
.
−
f
(
p
2
m
2
p
1
m
1
)
.
.
.
−
f
(
n
)
g(\frac{n}{p_{2}}) = g(n) - f(p_{2}^{m_{2}}) -f(p_{2}^{m_{2}}p_{1})-....-f(p_{2}^{m_{2}}p_{1}^{m_{1}})...-f(n)
g(p2n)=g(n)−f(p2m2)−f(p2m2p1)−....−f(p2m2p1m1)...−f(n)
你可以观察到其中一些项重复了,例如
f
(
p
1
m
1
p
2
m
2
)
f(p_{1}^{m_{1}}p_{2}^{m_{2}})
f(p1m1p2m2),但是这种项在后面会消去,
g
(
n
p
1
n
p
2
)
g(\frac{n}{p_{1}}\frac{n}{p_{2}})
g(p1np2n)就会出现和
g
(
n
p
1
)
g(\frac{n}{p_{1}})
g(p1n)符号相反的项
f
(
p
1
m
1
p
2
m
2
)
f(p_{1}^{m_{1}}p_{2}^{m_{2}})
f(p1m1p2m2)。你可以忽略细节,整体上地看做
g
(
n
)
−
g
(
n
p
1
)
−
g
(
n
p
2
)
.
.
.
+
g
(
n
p
1
p
2
)
+
g
(
n
p
1
p
3
)
.
.
.
+
μ
(
p
1
p
2
.
.
.
p
n
)
g
(
n
p
1
p
2
.
.
.
p
n
)
=
g
(
n
)
−
[
g
(
n
)
−
f
(
n
)
]
=
f
(
n
)
g(n) - g(\frac{n}{p_{1}}) - g(\frac{n}{p_{2}})...+g(\frac{n}{p_{1}p_{2}})+g(\frac{n}{p_{1}p_{3}})...+\mu(p_{1}p_{2}...p_{n})g(\frac{n}{p_{1}p_{2}...p_{n}}) = g(n) - [g(n) - f(n)] = f(n)
g(n)−g(p1n)−g(p2n)...+g(p1p2n)+g(p1p3n)...+μ(p1p2...pn)g(p1p2...pnn)=g(n)−[g(n)−f(n)]=f(n)。
这是利于小白理解的版本。
———————————————————分割线——————————————————————
(由于本蒟蒻没有任何数论基础全靠自己查资料理解的,可能写得不太好,但我会把我之前不好理解的东西尽可能讲清楚)
想比较清楚地搞懂,如果要我们还得引入一个东西叫狄利克雷卷积
定义卷积操作为*
,对于两个函数
f
(
x
)
,
g
(
x
)
f(x),g(x)
f(x),g(x),卷积操作:
(
f
∗
g
)
(
x
)
=
∑
i
∗
j
=
n
f
(
i
)
g
(
j
)
(f*g)(x) = \sum_{i*j = n} f(i)g(j)
(f∗g)(x)=∑i∗j=nf(i)g(j)或者写作
(
f
∗
g
)
(
x
)
=
∑
d
∣
x
f
(
d
)
g
(
x
d
)
(f*g)(x) = \sum_{d|x} f(d)g(\frac{x}{d})
(f∗g)(x)=∑d∣xf(d)g(dx)
性质
交换律
f
∗
g
=
g
∗
f
f∗g=g∗f
f∗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
∗
h
f∗(g+h)=f∗g+f∗h
f∗(g+h)=f∗g+f∗h
那么证明来了:
(1)重新认识莫比乌斯函数
积性函数
如果函数
f
f
f满足
f
(
p
×
q
)
=
f
(
p
)
×
f
(
q
)
(
p
,
q
为
质
数
)
f(p\times q)=f(p)\times f(q)(p,q为质数)
f(p×q)=f(p)×f(q)(p,q为质数)的函数为积性函数,当
p
,
q
p,q
p,q为任意数都成立时,函数为完全积性函数,这是积性函数和完全积性函数的定义。
先记住这个,后面有用。
我们拥有狄利克雷卷积之后会发现有一个卷积单位元
I
(
n
)
I(n)
I(n):
我们知道“x操作”单位元是,任意一个可进行“x操作”的元素
Ψ
\Psi
Ψ(可以是函数)与“x操作”单位元进行“x操作”都会得到
Ψ
\Psi
Ψ。
I
(
n
)
I(n)
I(n)有性质,
(
I
∗
f
)
(
n
)
=
f
(
n
)
(I*f)(n) = f(n)
(I∗f)(n)=f(n),展开有
f
(
n
)
=
∑
d
∣
n
I
(
d
)
f
(
n
d
)
f(n)=\sum_{d|n}I(d)f(\frac{n}{d})
f(n)=∑d∣nI(d)f(dn)。显然的
I
(
n
)
I(n)
I(n)是一个分段函数:
I
(
n
)
=
{
1
n
=
1
0
n
>
1
I(n)=\begin{cases} 1 & n=1\\ 0 & n >1 \end{cases}
I(n)={10n=1n>1
大佬们都这么
I
(
n
)
=
[
n
=
1
]
I(n)=[n=1]
I(n)=[n=1]我是真的看半天看不懂。
有了卷积单位元后,我们再来说道说道卷积逆元。顾名思义,就卷积操作下的逆元。卷积操作的逆元与乘法逆元不同,乘法逆元是 a × b = 1 a\times b = 1 a×b=1,那么 b b b就是 a a a的乘法逆元。卷积逆元是 ( f ∗ p ) ( n ) = I ( n ) (f*p)(n) = I(n) (f∗p)(n)=I(n), p p p是 f f f的逆元,我们定义的 f f f卷积逆元为 f − 1 f^{-1} f−1,请记住,积性函数的卷积逆元也是积性函数。
逆元
f
−
1
f^{-1}
f−1的求法我们来推一下:
(1)
n
=
1
,
f
−
1
(
1
)
=
1
f
(
1
)
n=1,f^{-1}(1) = \frac{1}{f(1)}
n=1,f−1(1)=f(1)1
(2)
n
>
1
n>1
n>1,
(
f
∗
f
−
1
)
(
n
)
=
I
(
n
)
=
0
(f*f^{-1})(n) = I(n) = 0
(f∗f−1)(n)=I(n)=0
⇒
\Rightarrow
⇒
f
(
1
)
×
f
−
1
(
n
)
=
−
∑
d
∣
n
f
−
1
(
d
)
f
(
n
d
)
(
d
≠
n
)
f(1)\times f^{-1}(n) =- \sum_{d|n}f^{-1}(d)f(\frac{n}{d})(d\neq n)
f(1)×f−1(n)=−∑d∣nf−1(d)f(dn)(d̸=n)
⇒
\Rightarrow
⇒
f
−
1
(
n
)
=
−
∑
d
∣
n
,
d
≠
n
f
−
1
(
d
)
f
(
n
d
)
f
(
1
)
f^{-1}(n) = \frac{- \sum_{d|n,d\neq n}f^{-1}(d)f(\frac{n}{d})}{f(1)}
f−1(n)=f(1)−∑d∣n,d̸=nf−1(d)f(dn)
我们来看看一个特殊的常数函数
ξ
(
n
)
ξ(n)
ξ(n),
ξ
(
n
)
=
1
ξ(n) = 1
ξ(n)=1,显然,这是一个完全积性函数,那么也就是说
ξ
−
1
ξ^{-1}
ξ−1是一个积性函数。
我们来看一看它的卷积逆元
ξ
−
1
ξ^{-1}
ξ−1是怎样的形式:
(
ξ
∗
ξ
−
1
)
(
n
)
=
I
(
n
)
(ξ*ξ^{-1})(n) = I(n)
(ξ∗ξ−1)(n)=I(n)
展开得到
ξ
(
1
)
×
ξ
−
1
(
1
)
=
1
(
n
=
1
)
ξ(1)\times ξ^{-1}(1) = 1(n = 1)
ξ(1)×ξ−1(1)=1(n=1)和
∑
d
∣
n
t
(
d
)
ξ
(
d
n
)
=
0
(
n
>
1
)
\sum_{d|n}t(d)ξ(\frac{d}{n}) = 0(n>1)
∑d∣nt(d)ξ(nd)=0(n>1)
显然了
ξ
−
1
(
1
)
=
1
(
n
=
1
)
ξ^{-1}(1) = 1(n=1)
ξ−1(1)=1(n=1).
当
n
>
1
n > 1
n>1利用逆元公式
ξ
−
1
(
n
)
=
−
∑
d
∣
n
,
d
≠
n
ξ
−
1
(
d
)
ξ
(
n
d
)
ξ
(
1
)
=
−
∑
d
∣
n
,
d
≠
n
ξ
−
1
(
d
)
ξ
(
n
d
)
ξ^{-1}(n) = \frac{- \sum_{d|n,d\neq n}ξ^{-1}(d)ξ(\frac{n}{d})}{ξ(1)}=- \sum_{d|n,d\neq n}ξ^{-1}(d)ξ(\frac{n}{d})
ξ−1(n)=ξ(1)−∑d∣n,d̸=nξ−1(d)ξ(dn)=−∑d∣n,d̸=nξ−1(d)ξ(dn)
如果r为质数,
ξ
−
1
(
r
)
=
−
ξ
(
r
)
×
ξ
−
1
(
1
)
ξ
(
1
)
=
−
(
1
×
1
1
)
=
−
1
ξ^{-1}(r) = -\frac{ξ(r)\times ξ^{-1}(1)}{ξ(1)} = -(\frac{1\times 1}{1})=-1
ξ−1(r)=−ξ(1)ξ(r)×ξ−1(1)=−(11×1)=−1
ξ
−
1
(
r
2
)
=
−
ξ
(
r
2
)
×
ξ
−
1
(
1
)
+
ξ
(
r
)
×
ξ
−
1
(
r
)
ξ
(
1
)
=
−
(
1
×
1
+
1
×
(
−
1
)
1
)
=
0
ξ^{-1}(r^{2}) = -\frac{ξ(r^{2})\times ξ^{-1}(1)+ξ(r)\times ξ^{-1}(r)}{ξ(1)} =-(\frac{1\times1+1\times(-1)}{1})=0
ξ−1(r2)=−ξ(1)ξ(r2)×ξ−1(1)+ξ(r)×ξ−1(r)=−(11×1+1×(−1))=0
ξ
−
1
(
r
3
)
=
−
ξ
(
r
3
)
×
ξ
−
1
(
1
)
+
ξ
(
r
2
)
×
ξ
−
1
(
r
)
+
ξ
(
r
)
×
ξ
−
1
(
r
2
)
ξ
(
1
)
=
−
(
1
×
1
+
1
×
(
−
1
)
+
1
×
0
1
)
=
0
ξ^{-1}(r^3)=-\frac{ξ(r^{3})\times ξ^{-1}(1)+ξ(r^2)\times ξ^{-1}(r)+ξ(r)\times ξ^{-1}(r^2)}{ξ(1)} =-(\frac{1\times1+1\times(-1)+1\times0}{1}) = 0
ξ−1(r3)=−ξ(1)ξ(r3)×ξ−1(1)+ξ(r2)×ξ−1(r)+ξ(r)×ξ−1(r2)=−(11×1+1×(−1)+1×0)=0
⋮
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \vdots
⋮
⋮
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \vdots
⋮
观察可知,当r的次数大于等2时,最公式代换必然分子是
1
×
1
+
1
×
(
−
1
)
+
0
,
⋅
⋅
⋅
,
0
⎵
r
−
2
=
0
1\times 1+1\times(-1)+\underbrace{0,\cdot\cdot\cdot,0}_{r-2}=0
1×1+1×(−1)+r−2
0,⋅⋅⋅,0=0
由于
ξ
−
1
ξ^{-1}
ξ−1的积性,在
ξ
−
1
(
n
)
ξ^{-1}(n)
ξ−1(n)的
n
n
n是可以分解为
k
k
k个互异质数时,
ξ
−
1
(
n
)
=
(
−
1
)
k
ξ^{-1}(n)=(-1)^k
ξ−1(n)=(−1)k,否则
ξ
−
1
(
n
)
=
0
ξ^{-1}(n)=0
ξ−1(n)=0。
写成函数表达式
ξ
−
1
(
n
)
=
{
1
n
=
1
(
−
1
)
k
n
=
p
1
m
1
×
p
2
m
2
×
.
.
.
.
×
p
n
m
n
,
∀
m
i
=
1
0
o
h
e
r
w
i
s
e
ξ^{-1}(n)=\begin{cases} 1 & n=1\\(-1)^k & n = {p_{1}}^{m_{1}} \times{p_{2}}^{m_{2}}\times....\times{p_{n}}^{m_{n}},\forall m_{i}=1\\0 &oherwise \end{cases}
ξ−1(n)=⎩⎪⎨⎪⎧1(−1)k0n=1n=p1m1×p2m2×....×pnmn,∀mi=1oherwise
是不是很眼熟?
对
ξ
−
1
ξ^{-1}
ξ−1就是莫比乌斯函数
μ
\mu
μ,其实莫比乌斯函数就是
ξ
(
n
)
=
1
ξ(n) = 1
ξ(n)=1的卷积逆元。
那么证明正式开始:
联立
{
g
=
f
∗
ξ
f
∗
I
=
f
I
=
μ
∗
ξ
\begin{cases}g = f*ξ & \\ f*I=f\\ I = \mu*ξ \end{cases}
⎩⎪⎨⎪⎧g=f∗ξf∗I=fI=μ∗ξ
f
=
μ
∗
g
f =\mu*g
f=μ∗g
证毕
当
g
(
n
)
=
∑
d
∣
n
f
(
d
)
g(n) = \sum_{d|n}f(d)
g(n)=∑d∣nf(d)时,
f
=
μ
∗
g
f =\mu*g
f=μ∗g展开为:
f
(
n
)
=
∑
d
∣
n
μ
(
d
)
g
(
n
d
)
f(n) = \sum_{d|n}\mu(d)g(\frac{n}{d})
f(n)=∑d∣nμ(d)g(dn)
当
g
(
n
)
=
∑
n
∣
d
f
(
d
)
g(n) = \sum_{n|d}f(d)
g(n)=∑n∣df(d)时,
f
=
μ
∗
g
f =\mu*g
f=μ∗g展开为:
f
(
n
)
=
∑
n
∣
d
μ
(
d
n
)
g
(
d
)
f(n) = \sum_{n|d}\mu(\frac{d}{n})g(d)
f(n)=∑n∣dμ(nd)g(d)
完全一致!!!
代码日后自己追加(艾玛,手动敲公式累死我了)