浅谈懵逼(莫比)乌斯反演

扯dan

最近又复习(学习)了有关莫比乌斯反演的内容,对反演的原理以及作用有了更加深刻的理解,于是写一篇博客记录一下。

莫比乌斯反演

这里直接进入正题。
给出下面这个形式的公式

g(n)=d|nf(d) g ( n ) = ∑ d | n f ( d )

对于这个公式,有一个结论: 如果f(d) 让g(n)是积性函数。那么f(d) 是积性函数。(这个结论证明这里并不给出亲自行证明(我会说是我太懒吗?))这个结论挺重要的,但我们要讲内容主要是反演。
我们考虑如何用 g(n) g ( n ) 来表示 f(n) f ( n ) ,有这样一个 反演原理(具体怎么来的,额……):
f(n)=d|nμ(d)g(nd) f ( n ) = ∑ d | n μ ( d ) g ( n d )

后面我们会简单的证明该原理。
μ(d) μ ( d ) 就是我们熟悉的懵逼(莫比)乌斯函数了,对于莫比乌斯函数有一个重要的性质(好多大神都叫它推论):
d|nμ(d)=[n==1] ∑ d | n μ ( d ) = [ n == 1 ]

右边的是bool表达式,当n=1时为1否则为0。参考大神的博客,说这个性质正是构造出来的,使得反演成立。
除了这个性质,在证明原理前我们还要知道以下两点:
一、
d|nf(d)=d|nf(nd) ∑ d | n f ( d ) = ∑ d | n f ( n d )

这个很显然,不过是反过来统计。
二、
这一点比较难懂(其实并没有,只是我当时认识比较繁琐)
d|nμ(nd)d|df(d)=d|nf(d)d|ndμ(d) ∑ d | n μ ( n d ) ∑ d ′ | d f ( d ′ ) = ∑ d ′ | n f ( d ′ ) ∑ d | n d ′ μ ( d )

这个式子看上去复杂,但实际上是相当简(fu)单(za)的。
我们先假设 n=p n = p ,p是一个质数。
那左边是:
μ(p)f(1)+ μ ( p ) f ( 1 ) +
μ(1)f(1)+μ(1)f(p) μ ( 1 ) f ( 1 ) + μ ( 1 ) f ( p )
右边:
f(1)μ(1)+f(1)μ(p)+ f ( 1 ) μ ( 1 ) + f ( 1 ) μ ( p ) +
f(p)μ(1) f ( p ) μ ( 1 )
显然相等
我们在假设 n=pq n = p q ,p和q均为质数。
左边:
μ(n)f(1)+ μ ( n ) f ( 1 ) +
μ(q)f(1)+μ(q)f(p)+ μ ( q ) f ( 1 ) + μ ( q ) f ( p ) +
μ(p)f(1)+μ(p)f(q)+ μ ( p ) f ( 1 ) + μ ( p ) f ( q ) +
μ(1)f(1)+μ(1)f(p)+μ(1)f(q)+μ(1)f(n) μ ( 1 ) f ( 1 ) + μ ( 1 ) f ( p ) + μ ( 1 ) f ( q ) + μ ( 1 ) f ( n )
右边:
f(1)μ(1)+f(1)μ(p)+f(1)μ(q)+f(1)μ(n)+ f ( 1 ) μ ( 1 ) + f ( 1 ) μ ( p ) + f ( 1 ) μ ( q ) + f ( 1 ) μ ( n ) +
f(p)μ(1)+f(p)μ(q)+ f ( p ) μ ( 1 ) + f ( p ) μ ( q ) +
f(q)μ(1)+f(q)μ(p)+ f ( q ) μ ( 1 ) + f ( q ) μ ( p ) +
f(n)μ(1) f ( n ) μ ( 1 )
任然相等。
所以对于 n=pq n = p q ⋯ 我们都可以用相同的方法。
我们开始证明:
对于
g(n)=d|nf(d) g ( n ) = ∑ d | n f ( d )


f(n)=d|nμ(d)g(nd) f ( n ) = ∑ d | n μ ( d ) g ( n d )

证明:
d|nμ(d)g(nd)=d|nμ(nd)g(d) ∑ d | n μ ( d ) g ( n d ) = ∑ d | n μ ( n d ) g ( d )

d|nμ(nd)g(d)=d|nμ(nd)d|df(d) ∑ d | n μ ( n d ) g ( d ) = ∑ d | n μ ( n d ) ∑ d ′ | d f ( d ′ )

d|nμ(nd)d|df(d)=d|nf(d)d|ndμ(d) ∑ d | n μ ( n d ) ∑ d ′ | d f ( d ′ ) = ∑ d ′ | n f ( d ′ ) ∑ d | n d ′ μ ( d )

d|nf(d)d|ndμ(d)=d|nf(d)[nd==1] ∑ d ′ | n f ( d ′ ) ∑ d | n d ′ μ ( d ) = ∑ d ′ | n f ( d ′ ) [ n d ′ == 1 ]

d|nf(d)[nd==1]=f(n) ∑ d ′ | n f ( d ′ ) [ n d ′ == 1 ] = f ( n )

证毕。

我对反演的理解大致如此。

水平有限,讲得不好,如有错误,还请指出,不胜感激。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值