数论函数
我们定义 (f:mathbb{N_+} ightarrow mathbb{C}) 的函数 (f) 为数论函数;不过,在 OI 中更为常见的是 (f:mathbb{N_+} ightarrow mathbb{Z}) 类型的函数。
下面是一些常见的数论函数:
- (varepsilon(n)) ,定义为 (varepsilon(n)=[n=1]) ;
- (I(n)) , 定义为 (I(n)=1) ;
- (id(n)) ,定义为 (id(n)=n) ;
- (varphi(n)) ,定义为 (varphi(n)=sum_{i=1}^n[(i,n)=1]) ;
- (mu(n)),定义为 (mu(n)=egin{cases}1&n=1\(-1)^k&n 无平方因子且有 k 个质因子\0&otherwiseend{cases}) ;
- (sigma_k(n)) ,定义为 (sigma_k(n)=sum_{d|n}d^k) ;
题目中定义的一大堆
Dirichlet 卷积
Dirichlet 卷积是定义在数论函数上的运算。对于数论函数 (f) 和 (g) ,定义 (f) 和 (g) 的 Dirichlet 卷积如下:
经常我们也会用 ((f*g)(n)) 代替 (h(n)) 。更多的时候我们直接简记为 (f*g) 。
Dirichlet 卷积满足以下性质:
-
交换律:对于数论函数 (f) 和 (g) ,满足 (f*g=g*f);
-
结合律:对于数论函数 (f,g) 和 (h) ,满足 (f*(g*h)=(f*g)*h) ;
证明:
[egin{aligned} f*(g*h) &=f*(h*g)\ &=sum_{d|n}f(d)sum_{p|frac n d}h(p)g(frac{n}{dp})\ &=sum_{d|n}sum_{dp|n}f(d)h(p)g(frac n {dp})\ &=sum_{p|n}sum_{d|frac n p}f(d)h(p)g(frac n {dp})\ &=sum_{p|n}h(p)sum_{d|frac n p}f(d)g(frac n {dp})\ &=h*(f*g)=(f*g)*h end{aligned} ] -
Dirichlet 卷积的单位元为 (varepsilon) :
以下给出一些有趣的常见的卷积结果:
-
(mu*I=varepsilon) ;
证明:
-
当 (n=1) 时, ((mu*I)(1)=mu(1)=1=varepsilon(1)) ;
-
当 (n ot=1) 时, ((mu*I)(n)=sum_{d|n}mu(d)) ;
此时设 (omega) 为 (n) 的不同质因子个数,可以发现 ((mu*I)(n)=sum_{k=0}^{omega}inom{omega}{i}(-1)^k=(1-1)^omega=0=varepsilon(n)) ;
-
-
(varphi*I=id) ;
证明:
对于序列 (frac 0 n,frac 1 n,frac 2 n,frac 3 n,...,frac {n-2} n,frac{n-1}n) ,对每个分数进行约分;这里我们对约分的定义为分子分母同时除以 (gcd) ,因此 (frac{0}{n}) 应该约为 (frac{0}{1}) 。
考察最终结果,分母为 (k) 的分数恰好有 (varphi(k)) 个。而可能的分母都是 (n) 的因子,因此有 (sum_{d|n}varphi(d)=n) ,即 (varphi*I=id) 。
-
(mu*id=varphi) ;
证明:
[egin{aligned} varphi*I&=id\ varphi*I*mu&=id*mu\ varphi&=mu*id end{aligned} ] -
若定义 ((id_k)(n)=n^k) ,则有 (I*id_k=sigma_k) ;
-
若定义 ((id_k)(n)=n^k) ,则有 (sigma_k*I=id_k) ;
证明:类似于第 3 条的证明过程,在此略去。
特殊数论函数
这里我们讨论数论函数的性质:积性与完全积性。
- 对于数论函数 (f) ,如果对于任意的 (a,bin mathbb{N_+},(a,b)=1) ,都满足 (f(ab)=f(a)f(b)) ,则称 (f) 为积性函数。
- 对于数论函数 (f) ,如果对于任意的 (a,bin mathbb{N_+}) ,都满足 (f(ab)=f(a)f(b)) ,则称 (f) 为完全积性函数。
在数论函数的例子中,很容易看出它们都是积性函数;其中 (varepsilon,I,id) 都是完全积性函数,而 (varphi,mu,sigma_k) 都仅为积性函数。
更特别地,积性函数的积性在运算中是可以 " 保持 " 的。具体而言:
-
对于积性函数 (f) 和 (kin mathbb{Z}) ,设 (h(n)=(f(n))^k) ,则 (h) 是积性函数;
-
对于积性函数 (f) 和 (kin mathbb{N_+}) ,设 (h(n)=f(n^k)) ,则 (h) 是积性函数;
-
对于积性函数 (f) 和 (g) ,设 (h(n)=f(n)g(n)) ,则 (h) 是积性函数;
-
对于积性函数 (f) 和 (g) ,设 (h=f*g) ,则 (h) 是积性函数;
证明:对于 (a,bin mathbb{N_+},(a,b)=1) ,有:
[egin{aligned} h(ab) &=sum_{d|ab}f(d)g(frac {ab}d)\ &=sum_{d_1|a}sum_{d_2|b}f(d_1d_2)g(frac{ab}{d_1d_2})\ &=sum_{d_1|a}f(d_1)g(frac{a}{d_1})sum_{d_2|b}f(d_2)g(frac b{d_2})\ &=h(a)h(b) end{aligned} ]
Mobius 反演
只要你细心观察,你就会发现 (mu) 的定义就很像一个容斥系数。
Dirichlet 卷积中的一些结论也印证了这一点。事实上,有如下结论成立:
-
对于数论函数 (f) 和 (g) : (f(n)=sum_{d|n}g(d)Leftrightarrow g(n)=sum_{d|n}f(d)mu(frac n d)) ;
证明:
- 左至右: (f=g*IRightarrow f*mu=g*(I*mu)Rightarrow f*mu=g) ;
- 右至左: (g=f*muRightarrow g*I=f*(mu*I)Rightarrow g*I=f) ;
-
对于数论函数 (f) 和 (g) : (f(n)=sum_{n|d}g(d)Leftrightarrow g(n)=sum_{n|d}f(d)mu(frac{d}{n})) ;
证明:
-
左至右:
[egin{aligned} sum_{n|d}f(d)mu(frac n d) &=sum_{n|d}mu(frac n d)sum_{d|k}g(k)\ &=sum_{n|k}g(k)sum_{d'|frac{k}{n}}mu(d')\ &=g(n) end{aligned} ] -
右至左:
[egin{aligned} sum_{n|d}g(d) &=sum_{n|d}sum_{d|k}f(k)mu(frac k d)\ &=sum_{n|k}f(k)sum_{d'|frac k n}mu(d')\ &=f(n) end{aligned} ]
-