積性函式
目錄
積性函式
定義
若 \(\gcd(x,y) = 1\) 且 \(f(xy)=f(x)f(y)\),則 \(f(n)\) 為積性函式。
性質
若 \(f(x)\),\(g(x)\)均為積性函式,則以下函式也為積性函式:
\[\begin{aligned} & h(x) = f(x^p)\\ & h(x) = f^p(x)\\ & h(x) = f(x)g(x)\\ & h(x) = \sum_{d\mid x} f(d)g(\dfrac{x}{d}) \end{aligned}\]
常見積性函式
- 單位函式 \(e(n) = [n = 1]\)。
- 冪函式 \(\operatorname{Id}_{k}(n) = n^k\), \(\operatorname{id}_1(n)\) 通常簡記為\(\operatorname{id}(n)\)。
- 常數函式 \(1(n) = 1\)。
- 因數個數 \(\operatorname{d}(n) = \sum\limits_{d\mid n} 1\)。
- 除數函式 \(\sigma_{k}(n) = \sum\limits_{d\mid n} d^k\)。
\(k=1\) 時為因數和函式,通常簡記為 \(\sigma(n)\)。
\(k=0\) - 尤拉函式 \(\varphi(n) = \sum\limits_{i=1}^{n} [\gcd(i,n) = 1]\)。
- 莫比烏斯函式 \(\mu(n) = \begin{cases}1 &n=1\\0 &n\ \text{含有平方因子}\\(-1)^k &k\text{為}\ n\ \text{的本質不同質因子個數} \end{cases}\)
不是很懂上面寫的什麼玩意?
不用深究,有個印象繼續往下看就好。
莫比烏斯函式
定義
\(\mu\) 為莫比烏斯函式,定義為
\[\mu(n) = \begin{cases} 1 &n=1\\0 &n\ \text{含有平方因子}\\(-1)^k &k\text{為}\ n\ \text{的本質不同質因子個數} \end{cases}\]
解釋
令 \(n = \prod\limits_{i=1}^{k} p_{i}^{c_i}\),其中\(p_i\)為質因子,\(c_i\ge 1\)。
- \(n=1\)時,\(\mu (n) = 1\)。
- \(n\not ={1}\)時 ,
- \(\exist i\in [1,k], c_i > 1\) 時,\(\mu (n) = 0\)。
當某質因子出現次數大於\(1\)時,\(\mu (n) = 0\)。 - \(\forall i\in [1,k], c_i = 1\) 時,\(\mu (n) = (-1)^k\)。
當每個質因子只出現一次時,即\(n = \prod\limits_{i=1}^{k}p_i\),\(\{p_i\}\)中元素唯一。
\(\mu (n) = (-1)^k\),此處\(k\)為質因子的種類數。
- \(\exist i\in [1,k], c_i > 1\) 時,\(\mu (n) = 0\)。
性質
莫比烏斯函式是積性函式,且具有以下性質
\[\large \sum_{d\mid n} \mu (d) = [n=1] \]
證明,設 \(n = \prod\limits_{i=1}^{k}{p_i^{c_i}}, n' = \prod\limits_{i=1}^{k}{p_i}\)。
- 根據莫比烏斯函式定義,則有:\(\sum\limits_{d\mid n}{\mu(d)} = \sum\limits_{d\mid n'}{\mu(d)}\)。
- 若 \(n'\) 的某因子 \(d\),有 \(\mu (d) = (-1)^i\),則它由 \(i\) 個 本質不同的質因子組成。
由於質因子總數為 \(k\),滿足上式的因子數為 \(C_{k}^{i}\)。 - 對於原求和式,轉為列舉 \(\mu(d)\) 的值。
則 \(\sum\limits_{d\mid n'}{\mu(d)} = \sum\limits_{i=0}^{k}{C_{k}^{i} \times (-1)^i} = \sum\limits_{i=0}^{k}{C_{k}^{i} \times (-1)^i\times 1^{k-i}}\)
根據二項式定理,上式 \(= (1+(-1))^k\),
易知該式在 \(k=0\),即 \(n=0\) 時為 \(1\),否則為 \(0\)。
補充結論
反演結論:
\[[\gcd(i,j) = 1] \iff \sum\limits_{d\mid \gcd(i,j)} {\mu (d)} \]
證明 1:
設 \(n = \gcd(i,j)\),則右\(= \sum\limits_{d\mid n} {\mu (d)} = [n = 1] = [\gcd(i,j) = 1]=\) 左。
證明 2:
暴力展開:\([\gcd(i,j) = 1] = e(\gcd(i,j)) = \sum\limits_{d\mid \gcd(i,j)}\mu(d)\)
線性篩求莫比烏斯函式
\(\mu\) 為積性函式,因此可以線性篩莫比烏斯函式。
int cnt, Mobius[kMaxn], Prime[kMaxn];
bool vis[kMaxn];
void GetMobius() {
Mobius[1] = 1;
for (int i = 2; i <= n; i ++) {
if (!vis[i]) Mobius[i] = - 1, Prime[++ cnt] = i;
for (int j = 1; j <= cnt && i * Prime[j] <= n; j ++) {
vis[i * Prime[j]] = true;
if (i % Prime[j] == 0) break;
Mobius[i * Prime[j]] = - Mobius[i];
}
}
}
狄利克雷(Dirichlet)卷積
建議閱讀 演算法學習筆記(35): 狄利克雷卷積 By: Pecco。
定義兩個數論函式 \(f,g\) 的狄利克雷卷積為
\[\large(f\ast g) (n) = \sum_{d\mid n} f(d)g(\dfrac{n}{d}) \]
性質
- 顯然滿足 交換律,結合律,分配律。
- \(f \ast g = g \ast f\)
- \((f \ast g) \ast h = f\ast (g\ast h)\)
- \(f\ast (g+h) = f\ast g + f\ast h\)
- \(e\) 為狄利克雷卷積的單位元,有\((f\ast e)(n) = f(n)\)。
- 若 \(f,g\) 為積性函式,則 \(f\ast g\) 為積性函式。
關於單位元 \(e\)
有:
\[e = \mu \ast 1=\sum\limits_{d\mid n} \mu (d) \]
證明
\[\begin{aligned} (f\ast e)(n) = \sum_{d\mid n} f(d)e(\dfrac{n}{d}) = \sum_{d\mid n} f(d)[\dfrac{n}{d} = 1] \end{aligned}\]
- 對於\([\dfrac{n}{d} = 1]\),當且僅當 \(\dfrac{n}{d}=1\),即 \(d=n\) 時為 \(1\),否則為\(0\)。
- 則當 \(d=n\) 時,\(f(d)[\dfrac{n}{d}=1] = f(n)\)。
當 \(d\not ={n}\) 時,\(f(d)[\dfrac{n}{d}=1] = 0\)。
綜上,\((f\ast e)(n) = \sum\limits_{d\mid n} f(d)[\dfrac{n}{d} = 1] = f(n)\),滿足單位元的性質。
則 \(e = \mu \ast 1\) 成立。
除數函式與冪函式
冪函式 \(\operatorname{Id}_{k}(n) = n^k\)。
除數函式 \(\sigma_{k}(n) = \sum\limits_{d\mid n} d^k\)。
顯然有:
\[(\operatorname{Id}_k\ast 1)(n) = \sum_{d\mid n} \operatorname{Id_k(d)} = \sum_{d\mid n} d^k = \sigma_k \]
當 \(k=0\) 時,\(\operatorname{Id_0}=1\),\(\sigma_0\) 為因數個數函式,有:
\[(1\ast 1)(n) = \sum_{d\mid n}1 = \sigma_0 \]
尤拉函式與恆等函式
\[\begin{aligned} \varphi \ast 1 =& \operatorname{Id}\\ \varphi =& \operatorname{Id}\ast \mu \end{aligned}\]
對於一式,當 \(n=p^m\) 時(\(p\) 為質數),有:
\[(\varphi \ast 1)(p^m) = \sum_{d\mid n}\varphi(d) = \varphi(1) +\sum_{i=1}^{m}\varphi(p^i) = 1 +\sum_{i=1}^{m}(p^i-p^{i-1}) = p^m \]
\(p^i\) 的因子有 \(p^{i-1}\) 個,為 \(1\sim p^{i-1}\),故 \(\varphi(p^i) = p^i-p^{i-1}\)。
又 \((\varphi \ast 1)(n)\) 為積性函式,則對於任意正整數 \(n\),有:
\[(\varphi \ast 1)(n) = (\varphi \ast 1)(\prod p^m) = \prod(\varphi \ast 1)(p^m) = \prod p^m = n \]
得證。
對於 2 式,在 1 式基礎上兩側同時 \(\ast \mu\) 即得。
左側變為 \(\varphi \ast 1\ast \mu = \varphi \ast e = \varphi\)。
寫在最後
希望人沒事