数论函数及其变换
日常%虞大。
数论函数:定义域为正整数,值域为实数的函数。
积性函数:满足(f(ab)=f(a)f(b) (a,b)=1)的数论函数。
完全积性函数:满足(f(ab)=f(a)f(b))的数论函数。
一些数论函数:
-
(varepsilon(n)),当n=1时为1,否则值为0。叫做单位函数。
-
(d(n)),表示n的正因数个数,叫做因子个数函数。它是积性函数。
证明:一定把一个数素因子分解为(p1^{q1}p2^{q2}...pl^{ql}),并且pi各不相同。那么(d(n)=Pi (q_i+1))。设(n=ab,(a,b)=1),因此a和b也可以表示成素因子分解的形式,并且没有共同的素因子。积性性质是显然的。
-
(sigma(n)),表示n的正因子和,叫做因子和函数。它是积性函数。
证明:(sigma(n)=Pi(frac{p_i^{q_1+1}-1}{p_i-1})),积性性质也是很显然的。
-
(varphi(n)),表示与n互素且小于n的正整数个数。它是积性函数。
证明:前面的博文提到过。推出(varphi(pq)=pq-p-q-1)就很好证明了。
-
(mu(n)=egin{aligned} 1 && n=1 \ 0 && 有完全平方因子 \ (-1)^p && 是p个不同素因子积\ end{aligned})
它是积性函数。证明手动推一下即可。
数论函数的值可以用线性筛求出。举一个筛(φ(n))的栗子,其它以此类推。
对于素数p,只会筛到一次,直接令$φ(p) = p - 1 $即可。
对于一个合数n,它只会被筛到一次,只会被最小的素因子p筛到,而且此时大循环到了k,即(n = pk)。若此时(p mid k),说明n中含p的幂大于1。因此,(φ(n) = φ(k) · p),否则,说明((p, k) = 1),从而n中含 p的幂等于1,此时由(φ)的积性,可得(φ(n) = φ(k) · φ(p) = φ(k) · (p - 1))。这样,就实现了线性筛求(φ(n))的值。(from 虞大)
莫比乌斯反演
首先,(sum_{d|n}mu(d)=varepsilon(n))。由于如果数n有完全平方因子,那么(mu(d)=0)。因此只需要考虑(n=p1*p2*...*pl)的情况。显然(sum_{d|n}mu(d)=sum_{r=0}^lC_l^r(-1)^r=(1-1)^l=0)。
莫比乌斯反演是这个柿子:(F(n)=sum_{d|n}f(d)Leftrightarrow f(n)=sum_{d|n}F(frac{n}{d})mu(d))。
我们来用和式变换推一下:(sum_{d|n}F(frac{n}{d})mu(d)=sum_{d|n}mu(d)sum_{i|frac{n}{d}}f(i)=sum_{i|n}f(i)sum_{d|frac{n}{i}}mu(d)=f(n))
另外,莫比乌斯反演还有一种形式:(F(n)=sum_{n|d}f(d)Leftrightarrow f(n)=sum_{n|d}mu(frac{d}{n})F(d))。表示懒得看证明了,就这样吧。