近期学习了莫比乌斯反演,算是一个学习笔记吧…
在这里首先要说明:
1:本文讨论的所有函数为数论函数,即定义域为 D = N ∗ D=N^* D=N∗的函数;
2: ∑ d ∣ n f ( d ) \sum \limits_{d|n}f(d) d∣n∑f(d)表示 d d d取遍 n n n的所有正因子,再将所有的 f ( d ) f(d) f(d)相加,例如当 n = 6 n=6 n=6时, ∑ d ∣ n f ( d ) = f ( 1 ) + f ( 2 ) + f ( 3 ) + f ( 6 ) \sum \limits_{d|n}f(d)=f(1)+f(2)+f(3)+f(6) d∣n∑f(d)=f(1)+f(2)+f(3)+f(6);
3: ∏ i = 1 k a i = a 1 × a 2 × . . . × a k \prod \limits_{i=1}^ka_i=a_1 \times a_2 \times ... \times a_k i=1∏kai=a1×a2×...×ak,即所有 a i a_i ai的乘积;
4: [ p ] [p] [p](其中p是一个表达式)表示当p成立时,值为1;否则值为0;
5: ( a , b ) (a,b) (a,b)表示 g c d ( a , b ) gcd(a,b) gcd(a,b),即 a , b a,b a,b的最大公因数;
6:几个在狄利克雷卷积中会出现的基本函数:
- ε ( n ) = [ n = 1 ] \varepsilon(n)=[n=1] ε(n)=[n=1],也就是 ε ( n ) = { 1 n = 1 0 n ≠ 1 \varepsilon(n)=\begin{cases}1\qquad n=1\\0 \qquad n \neq 1 \end{cases} ε(n)={ 1n=10n̸=1
- I ( n ) = 1 I(n)=1 I(n)=1
- i d ( n ) = n id(n)=n id(n)=n
一、积性函数
定义:如果一个函数 f ( n ) f(n) f(n)满足:当 ( a , b ) = 1 (a,b)=1 (a,b)=1时,有 f ( a b ) = f ( a ) × f ( b ) f(ab)=f(a) \times f(b) f(ab)=f(a)×f(b),则称 f ( n ) f(n) f(n)为积性函数。
进一步,如果对于任意数 a , b a,b a,b,都有 f ( a b ) = f ( a ) × f ( b ) f(ab)=f(a) \times f(b) f(ab)=f(a)×f(b),则称 f ( n ) f(n) f(n)为完全积性函数。
积性函数的基本性质:对于任意正整数 n ≠ 1 n \neq 1 n̸=1,根据唯一分解定理,可以进行分解素因数:即 n = p 1 c 1 . . . p k c k = ∏ i = 1 k p i c i n=p_1^{c_1}...p_k^{c_k}=\prod \limits_{i=1}^kp_i^{c_i} n=p1c1...pkck=i=1∏kpici,显然所有的 p i c i p_i^{c_i} pici两两互素,因此有:
f ( n ) = f ( p 1 c 1 ) × . . . × f ( p k c k ) = ∏ i = 1 k f ( p i c i ) f(n)=f(p_1^{c_1}) \times ... \times f(p_k^{c_k})=\prod \limits_{i=1}^kf(p_i^{c_i}) f(n)=f(p1c1)×...×f(pkck)=i=1∏kf(pici)
因此,我们可以用类似线性筛素数的方法线性筛出某一积性函数的值,只需要知道对于每一个素数以及素数的方幂结果为多少即可。
由积性函数以及完全积性函数的定义, ε ( n ) , I ( n ) , i d ( n ) \varepsilon(n),I(n),id(n) ε(n),I(n),id(n)显然皆为完全积性函数。
证明积性函数的常见方法是利用上面的唯一分解式,将 a , b a,b a,b唯一分解,再用 ( a , b ) = 1 (a,b)=1 (a,b)=1的条件可以得到分解出来的所有素数两两不等,从而继续证明。
例如:证明 d ( n ) d(n) d(n)为 n n n的正因子个数为积性函数。
证明:取 ( a , b ) = 1 (a,b)=1 (a,b)=1,将 a , b a,b a,b分解得: a = ∏ i = 1 k p i c i a=\prod \limits_{i=1}^kp_i^{c_i} a=i=1∏kpici,且 b = ∏ i = 1 l q i d i b=\prod \limits_{i=1}^lq_i^{d_i} b=i=1∏lqidi,则 p i , q i p_i,q_i pi,qi两两不等(由 ( a , b ) = 1 (a,b)=1 (a,b)=1可得),于是:
d ( a ) = ∏ i = 1 k ( c i + 1 ) d(a)=\prod \limits_{i=1}^k(c_i+1) d(a)=i=1∏k(ci+1),且 d ( b ) = ∏ i = 1 l ( d i + 1 ) d(b)=\prod \limits_{i=1}^l(d_i+1) d(b)=i=1∏l(di+1);
由于 p i , q i p_i,q_i pi,qi两两不等,所以 d ( a b ) = ∏ i = 1 k ( c i + 1 ) ∏ i = 1 l ( d i + 1 ) = d ( a ) × d ( b ) d(ab)=\prod \limits_{i=1}^k(c_i+1)\prod \limits_{i=1}^l(d_i+1)=d(a) \times d(b) d(ab)=i=1∏k(ci+1)i=1∏l(di+1)=d(a)×d(b),即 d ( n ) d(n) d(n)是积性函数。
*积性函数另一个不太常用的性质:若 f ( n ) f(n) f(n)是积性函数,则或者 f ( n ) f(n) f(n)是值为 0 0 0的常值函数,或者 f ( 1 ) = 1 f(1)=1 f(1)=1。
证明十分容易,因为 ( n , 1 ) = 1 (n,1)=1 (n,1)=1,所以 f ( n ) = f ( 1 ) × f ( n ) f(n)=f(1) \times f(n) f(n)=f(1)×f(n),则 f ( n ) = 0 f(n)=0 f(n)=0或者 f ( 1 ) = 1 f(1)=1 f(1)=