狄利克雷卷積簡介
卷積這名字聽起來挺學究的,今天學了之后發現其實挺朴實hhh。
卷積:
“(n)”表示到n的一個范圍。
設\(f,g\)是兩個數論函數(也就是說,以自然數集為定義域的復數值函數),則卷積運算\(f\ast g\)定義為
另一種寫法就是:
這里給一段數論函數的定義:
數論函數亦稱算術函數,一類重要的函數,指定義在正整數集上的實值或復值函數,更一般地,也可把數論函數看做是某一整數集上定義的函數。
一些數論函數
首先最簡單的就是常數函數,直接映射到一個正整數,比如\(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\),其他情況。
一些簡單性質
交換律
根據$$(f\ast g)(n) = \sum_{ij=n}{f(i)g(j)}$$
這個定義,結論是顯然的了。
結合律
只要證明\((f*g)*h=f*(g*h)\)就可以了。
於是左邊就是
右邊是
得證。
加法的結合律
看不懂網上的證明,簡單貼一下。
存在單位元\(\iota\) 使得\(\iota\ast f=f\)
我們需要
故不難猜到\(\iota\) 應該定義為\(\iota(n)=\) \begin{cases} 1&n=1\ 0&n\neq1 \end{cases}
事實上,直接驗證可得
以上說明數論函數在卷積意義下構成一個交換群。
卷積差不多就這些。。。
莫比烏斯反演證明
\(\mu\)函數的性質
為什么要發明這個函數呢,肯定是有道理的。
我們一般把\(\mu\)看做是\(u(x)=1\)在卷積意義下的逆元。就是說它滿足:
1就是函數f(n)=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的質因子集合里取走任意個。所以這個式子可以寫成這個樣子:
那么$$\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\)
由於之前有證明\(\mu*e=1\)所以就有\(f*\mu=g\)於是得證。
感覺這種方法非常巧妙啊。。
法2
聽知乎上大佬講的,莫比烏斯反演其實就是偏序集上的容斥,簡單理解了一下大概是這樣的。
我們知道容斥定理的公式是
用叉姐的話將就是:n 個壞事都不發生的概率,可以通過 2 n 個同時發生的概率計算,定義一個由數映射到它質因子集合的映射,映射關系顯然是整除,V看做是S的質因子但不是V的質因子的乘積,那么莫比烏斯反演定理就和容斥的式子長得一模一樣了。\(\mu\)就是\((-1)^{\mid S\mid-\mid V\mid}\)
反演形式2證明
以后再填坑。。感覺效率好低QAQ
\(\phi\)和μ的關系
有一個經典公式就是:
這個公式怎么證明呢?
我們可以把它簡記為
然后兩邊乘一個\(\mu\)
再化回來
μ只有在d質因數分解之后各個質因子個數為1的時候才有貢獻,為奇數個因子的時候-,偶數為+,這不就是一個容斥求因子個數么。。於是左邊等於右邊,得證