狄利克雷卷積&莫比烏斯反演證明


狄利克雷卷積簡介

卷積這名字聽起來挺學究的,今天學了之后發現其實挺朴實hhh。

卷積:

“(n)”表示到n的一個范圍。
\(f,g\)是兩個數論函數(也就是說,以自然數集為定義域的復數值函數),則卷積運算\(f\ast g\)定義為

\[(f\ast g)(n) = \sum_{ij=n}{f(i)g(j)} \]

另一種寫法就是:

\[(f\ast g)(n) = \sum_{d\mid n}{f(d)g(\frac{n}{d})} \]

這里給一段數論函數的定義:

數論函數亦稱算術函數,一類重要的函數,指定義在正整數集上的實值或復值函數,更一般地,也可把數論函數看做是某一整數集上定義的函數。

一些數論函數

首先最簡單的就是常數函數,直接映射到一個正整數,比如\(f(x)=1,f(x)=2\)這樣的。
再有就是一些整數域數列的通項公式函數,例如\(f(x)=x\)這樣的。
還有就是\(\phi(x)\)歐拉函數,表示因數個數。
另外就是元函數e,寫成表達式就是\(e(x)=[x=1]\).
還有特殊的常數函數,把所有的數字映射成1的\(u(x)=1\)
莫比烏斯函數:通常,莫比烏斯函數\(\mu\)定義為
\(\mu(1)=1;\)
\(\mu(n)=(-1)^k\)如果n能寫成k個不同素數之積;
\(\mu(n)=0\),其他情況。

以下參考如何證明莫比烏斯反演?by Syu Gau

一些簡單性質

交換律

根據$$(f\ast g)(n) = \sum_{ij=n}{f(i)g(j)}$$
這個定義,結論是顯然的了。

結合律

只要證明\((f*g)*h=f*(g*h)\)就可以了。
於是左邊就是

\[\begin{align} ((f\ast g)\ast h)(n) &= \sum_{lk=n}(f\ast g)(l)h(k) \\ &= \sum_{lk=n}\left(\sum_{ij=l}f(i)g(j)\right)h(k)\\ &= \sum_{ijk=n} f(i)g(j)h(k) \end{align} \]

右邊是

\[\begin{align} (f\ast (g\ast h))(n) &= \sum_{il=n}f(i)(g\ast h)(l) \\ &= \sum_{il=n}f(i)\left(\sum_{jk=l}g(j)h(k)\right)\\ &= \sum_{ijk=n} f(i)g(j)h(k) \end{align} \]

得證。

加法的結合律

看不懂網上的證明,簡單貼一下。

存在單位元\(\iota\) 使得\(\iota\ast f=f\)
我們需要

\[(\iota\ast f)(n)=\sum_{ij=n}\iota(i)f(j)=f(n) \]

故不難猜到\(\iota\) 應該定義為\(\iota(n)=\) \begin{cases} 1&n=1\ 0&n\neq1 \end{cases}
事實上,直接驗證可得

\[(\iota\ast f)(n)=\sum_{ij=n}\delta_{i,1}f(j)=f(n) \]

以上說明數論函數在卷積意義下構成一個交換群。

卷積差不多就這些。。。

莫比烏斯反演證明

\(\mu\)函數的性質

為什么要發明這個函數呢,肯定是有道理的。
我們一般把\(\mu\)看做是\(u(x)=1\)在卷積意義下的逆元。就是說它滿足:

\[\mu\ast u=e \]

1就是函數f(n)=1。展開來寫就是

\[\sum_{d\mid n}\mu(d)*1 \]

\(n=1\)時,顯然成立。
\(n>1\)時,根據唯一分解定理我們可以把n拆成\(n=p^{k_1}_1*p^{k_2}_2*\cdots*p^{k_n}_n\)
\(\exists k_x=1\)時,\(\mu\)值肯定為0,所以我們把\(k_x\)都看作1。
而d枚舉的就是n的因子,其實就是在n的質因子集合里取走任意個。所以這個式子可以寫成這個樣子:

\[\begin{align} \sum_{d\mid n}\mu(d) =& \mu(1)+\mu(p_1)+\mu(p_2)+\cdots+\mu(p_k)+\mu(p_1p_2)+\cdots+\mu(p_1p_2\cdots p_k) \\ =& \binom{k}{0}+\binom{k}{1}(-1)+\binom{k}{2}(-1)^2+\cdots+\binom{k}{k}(-1)^k \\ =&(1-1)^k=0 \end{align} \]

那么$$\sum_{d\mid n}\mu(d)=1$$就得證了。

反演形式1證明

法1

莫比烏斯反演形式1就是,如果\(f(n)=\sum_{d\mid n}g(d)\),則\(g(n)=\sum_{d\mid n}\mu\left(\frac{n}{d}\right)f(d)\)
寫成卷積的形式就是,如果\(f=g*e\),則\(g=f*\mu\)
這樣寫就比原來哪樣要好記而且簡介多了。
有了之前的鋪墊,接下來就很容易了。
把原方程兩邊乘一個\(\mu\)

\[f*\mu=g*e*\mu \]

\[f*\mu=g*(e*\mu) \]

由於之前有證明\(\mu*e=1\)所以就有\(f*\mu=g\)於是得證。
感覺這種方法非常巧妙啊。。

法2

聽知乎上大佬講的,莫比烏斯反演其實就是偏序集上的容斥,簡單理解了一下大概是這樣的。
我們知道容斥定理的公式是

\[g(S)=\sum_{V\subset S}f(V)\implies f(S)=\sum_{V\subset S}(-1)^{\mid S\mid-\mid V\mid}*g(V) \]

用叉姐的話將就是:n 個壞事都不發生的概率,可以通過 2 n 個同時發生的概率計算,定義一個由數映射到它質因子集合的映射,映射關系顯然是整除,V看做是S的質因子但不是V的質因子的乘積,那么莫比烏斯反演定理就和容斥的式子長得一模一樣了。\(\mu\)就是\((-1)^{\mid S\mid-\mid V\mid}\)

反演形式2證明

以后再填坑。。感覺效率好低QAQ

\(\phi\)和μ的關系

有一個經典公式就是:

\[\sum_{d\mid n}\phi(d)=n \]

這個公式怎么證明呢?
我們可以把它簡記為

\[\phi*e=id \]

然后兩邊乘一個\(\mu\)

\[\phi*(\mu*e)=id*\mu \]

\[\phi=id*\mu \]

再化回來

\[\phi(n)=\sum_{d\mid n}\mu(d)*\lfloor\frac{n}{d}\rfloor \]

μ只有在d質因數分解之后各個質因子個數為1的時候才有貢獻,為奇數個因子的時候-,偶數為+,這不就是一個容斥求因子個數么。。於是左邊等於右邊,得證


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM