莫比乌斯反演与莫比乌斯函数

本文详细介绍了莫比乌斯反演的概念及其证明过程,包括莫比乌斯函数的定义与性质,以及如何通过反演公式实现函数之间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己摸索了这么久 感觉是可以总结了(如果不是因为多校我应该不会接触这个吧),这个结论性比较强,我基本把所有需要证明或者是比较隐晦的中间过程都证明了一遍。其实知道怎么用就行了,但是证明过程中的一些技巧值得思考和体会。

设有函数F(x)f(x),其定义域在正整数范围内,其之间存在着如下给定关系:

F(n)=d|nf(d)F(n)=∑d|nf(d)

这个式子的说明了F(x)可以由f(x)表示,但是有时候现实是,F(x)我们其实可以很容易求得,但是f(x)往往不好求,如果可以逆向,由F(x)表示f(x),这就是所谓的反演。
恰好在这种情形下的确是有这种反演。
f(n)=d|nμ(nd)F(d)=d|nμ(d)F(nd)f(n)=∑d|nμ(nd)F(d)=∑d|nμ(d)F(nd)

这两种写法都是一样的,只是加的顺序不一样而已,这里出现了一个μ(d)函数,其定义域也是正整数,接下来介绍一下这个函数。
给出μ(d)的定义:
μ(d)=1,(1)k,0,if d =1if d =p1p2p3...pkotherwiseμ(d)={1,if d =1(−1)k,if d =p1p2p3...pk0,otherwise

这便是所谓的莫比乌斯函数。对于这个函数举几个栗子,如μ(7)=-1,7的k为1,μ(6)为1,因为6可以变为2*3,则k为2,μ(4)=0,因为其质因子2的幂大于1,属于otherwise的情况。
先证明这个函数的一个性质(反演的证明会用到):
d|nμ(d)={1,0,if n =1if n >1∑d|nμ(d)={1,if n =10,if n >1

证明:
由唯一分解定理得可以把
n=pa11pa22pa33pa44...pakkn=p1a1p2a2p3a3p4a4...pkak

因为只要akak大于1的d的μ(d)为0,对于式子没有贡献,所以,我们只要从p1p1pkpk的组合找除数,如只有一个质因子有多少个数,两个质因子有多少个,等等,因为质因子个数与μ(d)μ(d)的取值有关,即正负1(由上面的莫比乌斯的函数的定义知道)那么有:
d|nμ(d)=C0kC1k+C2k+...+(1)kCkk=i=0k(1)iCik∑d|nμ(d)=Ck0−Ck1+Ck2+...+(−1)kCkk=∑i=0k(−1)iCki

所以只要证明ki=0(1)iCik=0∑i=0k(−1)iCki=0
又二项式定理得:
(x+y)n=i=0nCinxiyni(x+y)n=∑i=0nCnixiyn−i

x=1,y=1x=−1,y=1带入得证
最后最重要的是证明f(n)=d|nμ(nd)F(d)=d|nμ(d)F(nd)f(n)=∑d|nμ(nd)F(d)=∑d|nμ(d)F(nd)
证明:
由文章开头式子的定义的运用可得
d|nμ(d)F(nd)=d|nμ(d)k|ndf(k)∑d|nμ(d)F(nd)=∑d|nμ(d)∑k|ndf(k)


d|nμ(d)k|ndf(k)=k|nf(k)d|nkμ(d)∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)

这里我觉得需要详细证明一下,但是查了许多资料都没有相关证明,所以就自己想了一个证明了方案,是不是太浅显了呢,本质上就是枚举角度的转变。
这部最大转换在于从枚举d转向枚举k,如d|nμ(d)k|ndf(k)∑d|nμ(d)∑k|ndf(k),只有当我们确定了d值时,我才能去枚举内嵌的第二个和式。

d|nμ(d)k|ndf(k)=k|nd|nkf(k)μ(d)∑d|nμ(d)∑k|ndf(k)=∑k|n∑d|nkf(k)μ(d)

易知在和式里每一项的f(k)μ(d)f(k)μ(d)的系数都为1,所以实质上,我们只要证明
d|n,k|ndμ(d)f(k)μ(k)f(d)若d|n,k|nd,那么有μ(d)f(k)则μ(k)f(d)也一定存在

我们先证明μ(k)μ(k)存在,由传递性
k|ndk|nk|nd⇒k|n

所有一定存在μ(k)μ(k)
证f(d),因为
d|ndm=nm|nd|n⇒dm=n⇒m|n

现在假设枚举到了μ(m)μ(m),则第二和式为k|nmf(k)∑k|nmf(k)
因为nm=dnm=d,所有k一定可以取到d值,所以f(d)f(d)一定存在
得证
也因此同时我们发现这个和式非常对称
d|nμ(d)k|ndf(k)=k|nf(k)d|nkμ(d)∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)

由之前证明的莫比乌斯函数的性质,若nk>1nk>1,则d|nkμ(d)=0∑d|nkμ(d)=0,所以只有当k=n为1,
那么

k|nf(k)d|nkμ(d)=f(n)∑k|nf(k)∑d|nkμ(d)=f(n)

所以
f(n)=d|nμ(d)k|ndf(k)=k|nf(k)d|nkμ(d)=f(n)f(n)=∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d)=f(n)

证毕

莫比乌斯反演的第二种形式(题目中运用的最多)是

F(n)=n|df(d)F(n)=∑n|df(d)


f(n)=n|dμ(dn)F(d)f(n)=∑n|dμ(dn)F(d)

证明过程类似:
f(n)=n|dμ(dn)d|kf(k)=n|kf(k)d|knμ(d)f(n)=∑n|dμ(dn)∑d|kf(k)=∑n|kf(k)∑d|knμ(d)

所以也是当k取到n时,才不为0,得证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值