莫比乌斯反演和函数
本人学艺不精,如有错误,敬请指出……
莫比乌斯函数
概念
莫比乌斯函数的定义如下:
- 若\(d=p_1 p_2 \cdots p_k,p_i\)为互异质数,那么\(\mu(d)=(-1)^k\)。(注意,p互不相等,也就是说,一个数不能有多个相同的质因子)
- 其他情况下\(\mu(d)=0\)。
性质
对于任意正整数\(n\)有
\[\sum_{d|n}\mu(d)=\left\{
\begin{array}{}
1 & (n=1)\\
0 & (n>1)\\
\end{array}
\right.
\]
证明:
-
当\(n=1\)时显然
-
当\(n>1\)时
首先将\(n\)分解成\(n=p_1^{a_1} p_2^{a_2}\cdots p_k^{a_k}\)
因为在\(n\)中的所有因子\(d\)中,只有\(\mu(d)\)不为零的才会计算到答案里,所以说我们设\(r=p_1p_2\cdots p_r\)
此时有
\[\sum_{d|n}\mu(d)=C^0_k-C^1_k+C^2_k+\cdots+(-1)^kC^k_k=\sum_{i=0}^{k}(-1)^iC^i_k \]由二项式定理得
\[(x+y)^n=\sum_{i=0}^n C^i_nx^iy^{n-i} \]当\(x=1,y=-1\)时
\[\sum^{n}_{i=0}C^i_n(-1)^i=(-1+1)^n=0 \]得证
求法
因为莫比乌斯函数是积性函数,所以求莫比乌斯函数可以用线性筛来求。
莫比乌斯反演
概念
我们设
\[F(n)=\sum_{d|n} f(d)
\]
然后我们可以用\(f(n)\)来推\(F(n)\),经过一波推规律(先把每个\(F(1~8)\)表示出来,再把每个\(f(1~8)\)用\(F(1~8)\)表现出来),就可以发现
\[f(n)=\sum_{d|n}\mu(d)\cdot F(\dfrac{n}{d})
\]
其中\(\mu(d)\)就是莫比乌斯函数。
证明
形式一
我们来看看怎样证明莫比乌斯反演。
首先我们将\(F(\dfrac{n}{d})\)代入式子
\[\sum_{d|n}\mu(d)F(\dfrac{n}{d})=\sum_{d|n}\mu(d)\sum_{k|\frac{n}{d}}f(k)
\]
通过合适的变幻,我们可以得出
\[\sum_{d|n}\mu(d)\sum_{k|\frac{n}{d}}f(k)=\sum_{k|n}f(k)\sum_{d|\frac{n}{k}}\mu(d)
\]
因为
\[\sum_{d|n}\mu(d)=\left\{
\begin{array}{}
1 & (n=1)\\
0 & (n>1)\\
\end{array}
\right.
\]
所以只有在\(\frac{k}{n}=1\)时,\(\sum_{d|\frac{n}{k}}\mu(d)=1\),其余时为零,故
\[\sum_{k|n}f(k)\sum_{d|\frac{n}{k}}\mu(d)=f(n)
\]
得证
形式二
这一种在推导过程中更常用。
我们设
\[F(n)=\sum_{n|d} f(d)
\]
莫比乌斯反演后
\[f(n)=\sum_{n|d}\mu(\dfrac{d}{n})F(d)
\]
这两个公式乍一看和上面没什么不同,但仔细多看几遍,会发现,你枚举的\(d\)是\(n\)的倍数,而形式一中\(n\)是\(d\)的倍数。
其实我第一眼看上去,也觉得不可思议,倍数不是有无限个吗?为什么还能成立呢?接下来我们在来证明一下。
首先将\(F(d)\)代入
\[\sum_{n|d}\mu(\dfrac{d}{n})F(d)=\sum_{n|d}\mu(\dfrac{d}{n})\sum_{d|k}f(k)
\]
然后经过合适的变幻,有
\[\sum_{n|d}\mu(\dfrac{d}{n})\sum_{d|k}f(k)=\sum_{n|k}f(k)\sum_{d|\frac{k}{n}}\mu(d)
\]
因为
\[\sum_{d|n}\mu(d)=\left\{
\begin{array}{}
1 & (n=1)\\
0 & (n>1)\\
\end{array}
\right.
\]
所以只有在\(\frac{k}{n}=1\)时,\(\sum_{d|\frac{k}{n}}\mu(d)=1\),其余时为零,故
\[\sum_{n|k}f(k)\sum_{d|\frac{k}{n}}\mu(d)=f(n)
\]
得证

浙公网安备 33010602011771号