【算法讲7:积性函数(下)】
前置
【算法讲4:乘性函数(上)】欧拉函数 | 因子和函数 | 因子个数函数
【算法讲5:乘性函数(中)】莫比乌斯函数 | 莫比乌斯反演 | 莫比乌斯反演应用
补充
- 前两期上和中主要是面向数论方向
这一期下主要面向信息学竞赛(ACM & OI),辅以数论工具
主要参考:OI-WIKI 莫比乌斯反演,积性加性函数性质与常见积性加性函数
涵盖内容较多较广,如果有错误恳请斧正。
⌈ \lceil ⌈积性函数 ⌋ \rfloor ⌋ (乘性函数)
四个最基本的定义
- 定义 1: f ( n ) f(n) f(n) 为算数函数,如果 ∀ m , n ∈ N + \forall m,n\in \mathbb{N}^+ ∀m,n∈N+,且 m ⊥ n m\perp n m⊥n,都有 f ( m n ) = f ( m ) f ( n ) f(mn)=f(m)f(n) f(mn)=f(m)f(n),那么称 f ( n ) f(n) f(n)为积性函数(信息学名词)或乘性函数(数学名词)。后统称积性函数。
- 定义 2: f ( n ) f(n) f(n) 为算数函数,如果 ∀ m , n ∈ N + \forall m,n\in \mathbb{N}^+ ∀m,n∈N+,都有 f ( m n ) = f ( m ) f ( n ) f(mn)=f(m)f(n) f(mn)=f(m)f(n),那么称 f ( n ) f(n) f(n)为完全积性函数。
- 定义 3: f ( n ) f(n) f(n) 为算数函数,如果 ∀ m , n ∈ N + \forall m,n\in \mathbb{N}^+ ∀m,n∈N+,且 m ⊥ n m\perp n m⊥n,都有 f ( m n ) = f ( m ) + f ( n ) f(mn)=f(m)+f(n) f(mn)=f(m)+f(n),那么称 f ( n ) f(n) f(n)为加性函数。
- 定义 4: f ( n ) f(n) f(n) 为算数函数,如果 ∀ m , n ∈ N + \forall m,n\in \mathbb{N}^+ ∀m,n∈N+,都有 f ( m n ) = f ( m ) + f ( n ) f(mn)=f(m)+f(n) f(mn)=f(m)+f(n),那么称 f ( n ) f(n) f(n)为完全加性函数。
关于积性函数的基本性质
性质一:f(1)
- 若 f ( x ) f(x) f(x) 为积性函数,则 f ( 1 ) = 1 f(1)=1 f(1)=1
证明: f ( 1 ) = f ( 1 × 1 ) = f ( 1 ) f ( 1 ) f(1)=f(1\times 1)=f(1)f(1) f(1)=f(1×1)=f(1)f(1),或者 f ( n ) = f ( n × 1 ) = f ( n ) f ( 1 ) f(n)=f(n\times1)=f(n)f(1) f(n)=f(n×1)=f(n)f(1) 易得。 - 若 f ( x ) f(x) f(x) 为加性函数,则 f ( 1 ) = 0 f(1)=0 f(1)=0
证明: f ( 1 ) = f ( 1 × 1 ) = f ( 1 ) + f ( 1 ) f(1)=f(1\times1)=f(1)+f(1) f(1)=f(1×1)=f(1)+f(1) 或 f ( n ) = f ( n × 1 ) = f ( n ) + f ( 1 ) f(n)=f(n\times1)=f(n)+f(1) f(n)=f(n×1)=f(n)+f(1) 易得。
性质二:积性函数的各种传递
- 若 f ( x ) 、 g ( x ) f(x)、g(x) f(x)、g(x)都为积性函数,则以下 h ( x ) h(x) h(x) 函数也为积性函数:
h ( x ) = f ( x p ) h ( x ) = f p ( x ) h ( x ) = f ( x ) g ( x ) h ( x ) = ∑ d ∣ x f ( d ) g ( x d ) h ( x ) = ∑ d ∣ x f ( d ) \begin{aligned} &h(x)=f(x^p)\\ &h(x)=f^p(x)\\ &h(x)=f(x)g(x)\\ &h(x)=\underset{d|x}{\sum}f(d)g(\frac{x}{d})\\ &h(x)=\underset{d|x}{\sum}f(d) \end{aligned} h(x)=f(xp)h(x)=fp(x)h(x)=f(x)g(x)h(x)=d∣x∑f(d)g(dx)h(x)=d∣x∑f(d)
证明方法:只要 ∀ m , n ∈ N + \forall m,n\in\mathbb{N}^+ ∀m,n∈N+,且 m ⊥ n m\perp n m⊥n,都有 h ( m ) h ( n ) = h ( m n ) h(m)h(n)=h(mn) h(m)h(n)=h(mn) 即可,容易证得。
注意,积性函数乘以积性函数还是积性函数(第2、3条),积性函数的和函数还是积性函数(第5条)。
性质三:整数唯一分解定理的应用
- 详细内容:百度百科:唯一分解定理
- n n n 为正整数,写成 n = p 1 a 1 p 2 a 2 ⋯ p s a s = ∏ s i = 1 p i a i n=p_1^{a_1}p_2^{a_2}\cdots p_s^{a_s}=\underset{i=1}{\overset{s}{\prod}}p_i^{a_i} n=p1a1p2a2⋯psas=i=1∏spiai ,后文简写成 n = ∏ p i a i n=\prod p_i^{a_i} n=∏piai
其中 p 1 < p 2 < ⋯ < p s p_1<p_2<\cdots<p_s p1<p2<⋯<ps,为 s s s 个素数; 指数 a i ≥ 1 a_i\ge1 ai≥1 - 若 f ( x ) f(x) f(x) 为积性函数,且 n = ∏ p i a i n=\prod p_i^{a_i} n=∏piai 则 f ( n ) = ∏ f ( p i a i ) f(n)=\prod f(p_i^{a_i}) f(n)=∏f(piai)
若 f ( x ) f(x) f(x) 为完全积性函数,且 n = ∏ p i a i n=\prod p_i^{a_i} n=∏piai 则 f ( n ) = ∏ f ( p i ) a i f(n)=\prod f(p_i)^{a_i} f(n)=∏f(pi)ai
证明略。
常见的积性函数和加性函数介绍
- 参考:百度百科:积性函数、积性加性函数性质与常见积性加性函数
对于该函数为加性函数或完全积性函数等的证明,见上面参考。
完全加性函数
- 总的质因子个数函数: Ω ( n ) = ∑ p ∈ P r i m e ∑ p k ∣ n 1 \Omega(n)=\underset{p\in Prime}{\sum}\ \underset{p^k|n}{\sum}1 Ω(n)=p∈Prime∑ pk∣n∑1
另一种表述方法: n = ∏ p i a i n=\prod p_i^{a_i} n=∏piai,则 Ω ( n ) = ∑ a i \Omega(n)=\sum a_i Ω(n)=∑ai - 总的质因子和函数: a 0 ( n ) = ∑ p ∈ P r i m e ∑ p k ∣ n p a_0(n)=\underset{p\in Prime}{\sum}\ \underset{p^k|n}{\sum}p a0(n)=p∈Prime∑ pk∣n∑p
另一种表述方法: n = ∏ p i a i n=\prod p_i^{a_i} n=∏piai,则 a 0 ( n ) = ∑ p i a i a_0(n)=\sum p_ia_i a0(n)=∑piai
加性函数
- 互异的质因子个数函数: ω ( n ) = ∑ p ∈ P r i m e [ p ∣ n ] \omega(n)=\underset{p\in Prime}{\sum}\ [p\ |\ n] ω(n)=p∈Prime∑ [p ∣ n]
另一种表述方法: n = ∏ s i = 1 p i a i n=\underset{i=1}{\overset{s}{\prod}}p_i^{a_i} n=i=1∏spiai,则 ω ( n ) = s \omega(n)=s ω(n)=s - 互异的质因子和函数: a 1 ( n ) = ∑ p ∈ P r i m e [ p ∣ n ] × p a_1(n)=\underset{p\in Prime}{\sum}\ [p\ |\ n]\times p a1(n)=p∈Prime∑ [p ∣ n]×p
另一种表述方法: n = ∏ p i a i n=\prod p_i^{a_i} n=∏piai,则 a 1 ( n ) = ∑ p i a_1(n)=\sum p_i a1(n)=∑pi
完全积性函数
- 单位函数(元函数): ε ( n ) = [ n = 1 ] \varepsilon(n)=[n=1] ε(n)=[n=1],有时记为 e ( n ) e(n) e(n)
- 幂函数: i d k ( n ) = n k id_k(n)=n^k idk(n)=nk
恒等函数: i d 1 ( n ) = n id_1(n)=n id1(n)=n ,简记为 i d ( n ) = n id(n)=n id(n)=n 或 I ( n ) = n I(n)=n I(n)=n - 常数函数(不变函数): 1 ( n ) = 1 1(n)=1 1(n)=1
- 刘维尔函数: λ ( n ) = { 1 如 果 n = 1 ( − 1 ) Ω ( n ) 其 他 情 况 \lambda(n)=\begin{cases}1&如果n=1\\(-1)^{\Omega(n)}&其他情况\end{cases} λ(n)={
1(−1)Ω(n)如果n=1其他情况
略证刘维尔函数为完全积性函数:因为 Ω ( n ) \Omega(n) Ω(n) 为完全加性函数,故 λ ( m n ) = λ ( m ) λ ( n ) \lambda(mn)=\lambda(m)\lambda(n) λ(mn)=λ(m)λ(n)
百度百科:刘维尔函数
积性函数
- 除数函数: σ k ( n ) = ∑ d ∣ n d k \sigma_k(n)=\underset{d|n}{\sum}d^k σk(n)=d∣n∑dk
因子和函数: σ 1 ( n ) = ∑ d ∣ n d \sigma_1(n)=\underset{d|n}{\sum}d σ1(n)=d∣n∑d,简记为 σ ( n ) \sigma(n) σ(n)
因子个数函数: σ 0 ( n ) = ∑ d ∣ n 1 \sigma_0(n)=\underset{d|n}{\sum}1 σ0(n)=d∣n∑1,简记为 τ ( n ) \tau(n) τ(n) 或 d ( n ) d(n) d(n) - 欧拉函数: φ ( n ) = ∑ n i = 1 [ gcd ( i , n ) = 1 ] \varphi(n)=\underset{i=1}{\overset{n}{\sum}}[\gcd(i,n)=1] φ(n)=i=1∑n[gcd(i,n)=1]
- 莫比乌斯函数: μ ( n ) = { 1 如 果 n = 1 0 n 存 在 大 于 1 的 平 方 因 子 ( − 1 ) ω ( n ) 其 他 情 况 \mu(n)=\begin{cases}1&如果n=1\\0&n存在大于1的平方因子\\(-1)^{\omega(n)}&其他情况\end{cases} μ(n)=⎩⎪⎨⎪⎧10(−1)ω(n)如果n=1n存在大于1的平方因子其他情况
- k k k 固定的最大公因数: gcd ( n , k ) \gcd(n,k) gcd(n,k)
- 伽马函数: γ ( n ) = ( − 1 ) ω ( n ) \gamma(n)=(-1)^{\omega(n)} γ(n)=(−1)ω(n)
其他数论函数
- 曼戈尔特(Mangoldt)函数: Λ ( n ) = { l o g p 如 果 n = p k , 其 中 p 是 素 数 , k 是 正 整 数 0 其 他 情 况 \Lambda(n)=\begin{cases}log\ p&如果n=p^k,其中p是素数,k是正整数\\0&其他情况\end{cases} Λ(n)={
log p0如果n=pk,其中p是素数,k是正整数其他情况
百度百科:曼戈尔特函数 - 梅滕斯(Mertens)函数: M ( n ) = ∑ n i = 1 μ ( i ) M(n)=\underset{i=1}{\overset{n}{\sum}}\mu(i) M(n)=i=1∑nμ(i)
- 不大于 n n n 的质数个数函数: π ( n ) = ∑ n i = 1 [ i ∈ P r i m e ] \pi(n)=\underset{i=1}{\overset{n}{\sum}}[i\in Prime] π(n)=i=1∑n[i∈Prime]
⌈ \lceil ⌈狄利克雷卷积 ⌋ \rfloor ⌋
定义
- 两个数论函数 f 、 g f、g f、g 的狄利克雷( D i r i c h l e t Dirichlet Dirichlet) 卷积为:
( f ∗ g ) ( n ) = ∑ d ∣ n f ( d ) g ( n d ) (f*g)(n)=\underset{d|n}{\sum}f(d)g(\frac{n}{d}) (f∗g)(n)=d∣n∑f(d)g(dn)
其中 ( f ∗ g ) ( n ) (f*g)(n) (f∗g)(n) 简记为 ( f ∗ g ) (f*g) (f∗g) 或 f ∗ g f*g f∗g
性质
狄利克雷卷积满足一下性质:
- 交换律: f ∗ g = g ∗ f f*g=g*f f∗g=g∗f
- 结合律: ( f ∗ g ) ∗ h = f ∗ ( g ∗ h ) (f*g)*h=f*(g*h) (f∗g)∗h=f∗(g∗h)
- 分配律: f ∗ ( g + h ) = f ∗ g + f ∗ h f*(g+h)=f*g+f*h f∗(g+h)=f∗g+f∗h
- 单位元 ε \varepsilon ε: f ∗ ε = ε ∗ f = f f*\varepsilon=\varepsilon*f=f f∗ε=ε∗f=f
例子
- ε = μ ∗ 1 \varepsilon=\mu*1 ε=μ∗1
略证: μ ∗ 1 = ∑ d ∣ n μ ( d ) = ε \mu*1=\underset{d|n}{\sum}\mu(d)=\varepsilon μ∗1=d∣n∑μ(d)=ε
详细证明见 算法讲5:莫比乌斯 | 定理 2 - d = 1 ∗ 1 d=1*1 d=1∗1
略证: 1 ∗ 1 = ∑ d ∣ n 1 = d ( n ) 1*1=\underset{d|n}{\sum}1=d(n) 1∗1=d∣n∑1=d(n) - σ = i d ∗ 1 \sigma=id*1 σ=id∗1
略证: i d ∗ 1 = ∑ d ∣ n i d ( d ) = ∑ d ∣ n d = σ ( n ) id*1=\underset{d|n}{\sum}id(d)=\underset{d|n}{\sum}d=\sigma(n) id∗1=d∣n∑id(d)=d∣n∑d=σ(n) - φ = μ ∗ i d \varphi=\mu*id φ=μ∗id
略证: μ ∗ i d = ∑ d ∣ n μ ( d ) i d ( n d ) = φ ( n ) \mu*id=\underset{d|n}{\sum}\mu(d)id(\frac{n}{d})=\varphi(n) μ∗id=d∣n∑μ(d)id(dn)=φ(n)
为什么?因为 n = i d ( n ) = F ( n ) = ∑ d ∣ n φ ( d ) n=id(n)=F(n)=\underset{d|n}{\sum}\varphi(d) n=id(n)=F(n)=d∣n∑φ(d)
根据莫比乌斯反演得到 φ ( n ) = ∑ d ∣ n μ ( d ) F ( n d ) = ∑ d ∣ n μ ( d ) i d ( n d ) \varphi(n)=\underset{d|n}{\sum}\mu(d)F(\frac{n}{d})=\underset{d|n}{\sum}\mu(d)id(\frac{n}{d}) φ(n)=d∣n∑μ(d)F(dn)=d∣n∑μ(d)id(dn)
下一节再讲信息学的莫比乌斯反演相关内容吧。