狄利克雷卷积及莫比乌斯反演
Posted magicduck
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了狄利克雷卷积及莫比乌斯反演相关的知识,希望对你有一定的参考价值。
1.数论函数
定义两个数论函数\(f(n)\)与\(g(n)\)
则\((f+g)(n)=f(n)+g(n)\)
2.狄利克雷卷积
定义两个数论函数的狄利克雷卷积\(*\)
定义数论函数\(t=f*g\)
则\(\mathbf t(n)=\sum_ij=n\mathbf f(i)\mathbf g(j)\)
显然,\(f*g=g*f,f*(g*k)=(f*g)*k,f*(g+k)=f*g+f*k\)
定义数论函数\(f\)的单位元\(?\),使得\(\epsilon\ast\mathbf f=\mathbf f*?\)
不难看出,当\(i\)等于\(1\)时,\(?(i)=1\),否则,\(?(i)=0\)
定义数论函数\(g\)为函数\(f\)的逆元,即\(f*g=?\)
则\(g(n)=\dfrac1f(1)\left([n==1]?\sum\limits_i|n,i\ne1f(i)g(\dfracni)\right)\)
3.积性函数
如果一个数论函数\(f\)当\(n⊥m\)的时候满足\(f(nm)=f(n)f(m)\),则称此函数为积性函数
常见的积性函数:\(*σ*_0\)(\(n\)的因数个数),\(\varphi(n)\)(\([1,n]\)中与\(n\)互质的数的个数)
结论:
1.两个积性函数的狄利克雷卷积是积性函数
证明如下:
设\(t=f*g\),则
\[
\beginaligned\mathbf t(nm)&=\sum_d\mid nm\mathbf f(d)\mathbf g\left(\fracnmd\right)\\&=\sum_a\mid n,b\mid m\mathbf f(ab)\mathbf g\left(\fracnmab\right)\\&=\sum_a\mid n,b\mid m\mathbf f(a)\mathbf f(b)\mathbf g\left(\frac na\right)\mathbf g\left(\frac mb\right)\\&=\left(\sum_a\mid n\mathbf f(a)\mathbf g\left(\frac na\right)\right)\left(\sum_b\mid m\mathbf f(b)\mathbf g\left(\frac mb\right)\right)\\&=\mathbf t(n)\mathbf t(m)\endaligned
\]
2.一个积性函数的逆也是积性函数
证明如下:
设\(g\)为\(f\)的逆元
1.当\(nm=1\)时,则\(g(1)=1\),结论成立
2.当\(nm>1\)时,则有
\[
\beginaligned\mathbf g(nm)&=-\sum_d\mid nm,d\neq1\mathbf f(d)\mathbf g\left(\fracnmd\right)\\&=-\sum_a\mid n,b\mid m,ab\neq1\mathbf f(ab)\mathbf g\left(\fracnmab\right)\\&=-\sum_a\mid n,b\mid m,ab\neq1\mathbf f(a)\mathbf f(b)\mathbf g\left(\frac na\right)\mathbf g\left(\frac mb\right)\\&=\mathbf f(1)\mathbf f(1)\mathbf g(n)\mathbf g(m)-\sum_a\mid n,b\mid m\mathbf f(a)\mathbf f(b)\mathbf g\left(\frac na\right)\mathbf g\left(\frac mb\right)\\&=\mathbf g(n)\mathbf g(m)-\left(\sum_a\mid n\mathbf f(a)\mathbf g\left(\frac na\right)\right)\left(\sum_b\mid m\mathbf f(b)\mathbf g\left(\frac mb\right)\right)\\&=\mathbf g(n)\mathbf g(m)-\epsilon(n)\epsilon(m)\\&=\mathbf g(n)\mathbf g(m)\endaligned
\]
Tips:对于一个积性函数,显然\(f(1)=1\),\(f(1)\ne1\)的情况暂时不加讨论
运用:
对于一个积性函数,可以用线性筛的方法来快速递推得到
我们可以把一个积性函数\(f\),可以把\(f(n)\)分解为\(\mathbf f(n)=\prod_i=1^t\mathbf f(p_i^k_i)\),即是把它质因数分解
由于在线性筛素数的时候我们可以顺便求出每个数的最小质因数\(p_1\),最小质因数的次数\(k_1\)以及\(n/p_1^k_1\),就可以利用递推式\(\mathbf f(n)=\mathbf f(p_1^k_1)\mathbf f(n/p_1^k_1)\)直接计算 \(\mathbf f\)了
由于$σ_0 $和 \(\varphi\)在素数幂处的值很容易得到,\(k>0\)时,\(\sigma_0(p^k)=k+1,\varphi(p^k)=p^k-1(p-1)\)
从而推出公式:
\[
\sigma_0(n)=\prod_i=1^t(k_i+1), \varphi(n)=\prod_i=1^np_i^k_i-1(p_i-1)=n\prod_i=1^t\left(1-\frac1p_i\right)
\]
4.莫比乌斯反演
定义\(\mathbf1\)的逆是\(\mu\)
这样对于\(\mathbf g=\mathbf f\ast\mathbf1\),就有\(\mathbf f=\mathbf f\ast\mathbf1\ast\mu=\mathbf g\ast\mu\)
即如果\(\mathbf g(n)=\sum_d\mid n\mathbf f(d)\),则\(\mathbf f(n)=\sum_d\mid n\mu\left(\frac nd\right)\mathbf g(d)\)
这就证明了莫比乌斯反演
对于\(\mu\)的求法
显然,由于\(\mathbf1\)是积性的,而且\(\mu\)是\(\mathbf 1\)的逆,所以\(\mu\)也是积性的
可得:
\[
\mu(p^k)=\begincases1&k=0\\-1&k=1\\0&k>1\endcases
\]
从而得出:
\[
\mu(n)=\begincases(-1)^t&n=p_1p_2\dots p_t\text且$ p_i $互不相同\\0&n\text不满足上述条件\endcases
\]
Tips:对于\(n=1\),则\(t=0\)
反演推论:
\[ [n==1]=\sum_d|n\mu(d) \]
从\(\mu\)是1的逆显然很好理解
以上是关于狄利克雷卷积及莫比乌斯反演的主要内容,如果未能解决你的问题,请参考以下文章