從狄利克雷卷積到莫比烏斯函數

以前學莫比烏斯反演的時候就被莫比烏斯函數震驚了,從\(f(x)=\sum\limits_{d|n}g(d)\)反演出\(g(n)=\sum\limits_{d|n}\mu(d)\times f(\frac{n}{d})\),給出了謎通常的\(\mu(x)\)函數的定義,使人百思不得其解,感受定義出莫比烏斯函數的人彷佛對容斥原理有了高深的造詣。這裏從狄利克雷卷積(\(Dirichlet\)卷積)出發,能夠很天然地導出莫比烏斯函數,並獲得莫比烏斯反演公式。函數

一些定義

積性函數

若是\(gcd(x,y)=1\),且\(f(xy)=f(x)\times f(y)\),則\(f(x)\)爲積性函數。spa

數論函數

數論函數亦稱算術函數,一類重要的函數,指定義在正整數集上的實值或復值函數,更通常地,也可把數論函數看作是某一整數集上定義的函數——《百度百科》對象

總之能夠理解爲是定義域爲正整數集的函數。it

常見的數論函數:class

單位函數:\(\epsilon(n)=[n=1]\)原理

常數函數:\(1(n)=1\)百度

恆等函數:\(Id(n)=n\)技巧

歐拉函數:\(\varphi(n)=\sum\limits_{i=1}^{n}[gcd(i,n)=1]\)gc

莫比烏斯函數:\(\mu(n)\)方法

\(Dirichlet\)卷積

定義

\(f,g\)爲兩個數論函數,它們的\(Dirichlet\)卷積爲:

\[(f*g)(n)=\sum\limits_{d|n}f(d)*g(\dfrac{n}{d})\]

(可見它跟數的因子有很密切的關係)

其中單位函數\(\epsilon(n)=[n=1]\)\(Dirichlet\)卷積的單位元,即任何函數卷\(\epsilon\)都得它自己。

能夠理解卷積是一種運算,它的做用對象是函數。

性質

\(Dirichlet\)卷積知足交換律、結合律和分配律。

交換律

\[(f*g)(n)=(g*f)(n)\]

證實它不香嗎? 證實: 因爲$d$與$\dfrac{n}{d}$有對稱性,故 $$(f*g)(n)=\sum\limits_{d|n}f(d)\times g(\dfrac{n}{d})=\sum\limits_{d|n}g(d)\times f(\dfrac{n}{d})=(g*f)(n)$$ 證畢。


結合律

\[((f*g)*h)(n)=(f*(g*h))(n)\]

證實它不香嗎? 證實: $$((f*g)*h)(n)=\sum\limits_{t\times d_3=n}(\sum\limits_{d_1\times d_2=t}f(d_1)\times g(d_2))\times h(d_3)=\sum\limits_{d_1\times d_2\times d_3=n}f(d_1)\times g(d_2)\times h(d_3)=\sum\limits_{t\times d_1=n}f(d_1)\times (\sum\limits_{d_2\times d_3=t}g(d_2)\times h(d_3))=(f*(g*h))(n)$$ 證畢。


分配律

\[((f+g)*h)(n)=(f*h)(n)+(g*h)(n)\]

證實它不香嗎? 證實: $$((f+g)*h)(n)=\sum\limits_{d|n}(f(d)+g(d))\times h(\dfrac{n}{d})=\sum\limits_{d|n}f(d)\times h(\dfrac{n}{d})+\sum\limits_{d|n}g(d)\times h(\dfrac{n}{d})=(f*h)(n)+(g*h)(n)$$ 證畢。


兩個積性函數的Dirichlet卷積仍然是積性函數。

證實它不香嗎? 證實: 若$gcd\left( x,y\right)=1$,則$f\left( xy\right)=f\left( x\right)\times f\left( y\right)$,$g\left( xy\right)=g\left( x\right)\times g\left( y\right)$。 則 $$\left( f*g\right)\left( n\right)\times \left( f*g\right)\left( m\right)=\displaystyle \sum\limits_{d_1|n}f\left( d_1\right)\times g\left( \dfrac{n}{d_1}\right)\times \displaystyle \sum\limits_{d_2|m}f\left( d_2\right)\times g\left( \dfrac{m}{d_2}\right)=\displaystyle \sum\limits_{d_1|n}\displaystyle \sum\limits_{d_2|m}f\left( d_1\right)\times f\left( d_2\right)\times g\left( \dfrac{n}{d_1}\right)\times g\left( \dfrac{m}{d_2}\right)=\displaystyle \sum\limits_{d_1|n}\displaystyle \sum\limits_{d_2|m}f\left( d_1d_2\right)\times g\left( \dfrac{nm}{d_1d_2}\right)=\displaystyle \sum\limits_{d|nm}f\left( d\right)g\left( \dfrac{nm}{d}\right)=\left( f*g\right)\left( nm\right)$$ 證畢。


\(Dirichlet\)卷積的逆

類比算數運算上的\(a\times b=1\),若是兩個數論函數的卷積後爲單位\(1\),即\(f*g=\epsilon\)\(n\)省略),則\(g\)\(f\)的逆,即\(g=f^{-1}\),咱們考慮下如何去求\(f^{-1}\)

\(f*g=\epsilon\)展開得\(\displaystyle \sum\limits_{d|n}f\left( d\right)\times g\left( \dfrac{n}{d}\right)=\epsilon\left( n\right)\),咱們要求的是\(g\left( n\right)\),把它從和式分離出來得

\[f\left( 1\right)\times g\left( n\right)=\epsilon\left( n\right)-\displaystyle \sum\limits_{d|n且d\neq 1}f\left( d\right)\times g\left( \dfrac{n}{d}\right)\]

\(f\left( 1\right)\neq 0\)時,存在\(g\left( n\right)=\dfrac{1}{f\left( 1\right)}\times \left( \epsilon\left( n\right)-\displaystyle \sum\limits_{d|n且d\neq 1}f\left( d\right)\times g\left( \dfrac{n}{d}\right)\right)\),即

\[f^{-1}\left( n\right) =\dfrac{1}{f\left( 1\right) }\times \left( \epsilon\left( n\right) -\displaystyle \sum\limits_{d|n且d\neq 1}f\left( d\right) \times f^{-1}\left( \dfrac{n}{d}\right) \right) \]

很顯然當\(n=1\)\(f^{-1}(1)=1\)

這就是\(Dirichlet\)卷積的逆公式。

從這裏能夠很容易證實,若是\(f(n)\)是積性函數,它的逆\(f^{-1}(n)\)也是積性的,方法同第四條性質的證實方法。

莫比烏斯反演

講了這麼多,終於輪到莫比烏斯了。

已知\(f(n)=\sum\limits_{d|n}g(d)\),求\(g(n)\)

咱們從\(Dirichlet\)卷積的角度去看式子,便是\(f=g*1\),即函數\(f(n)\)\(g(n)\)與常數函數\(1(n)=1\)\(Dirichlet\)卷積的結果。

咱們要求\(g(n)\),咱們能夠在等式兩邊乘以常數函數的逆\(1^{-1}(n)\),這樣式子就變成了\(g*(1*1^{-1})=g=f*1^{-1}\),這樣咱們就能夠求得\(g(n)\),如今關鍵是如何求得\(1^{-1}(n)\)

因爲\(1*1^{-1}=\epsilon\),根據上面的逆的公式獲得

\[1^{-1}(n)=\dfrac{1}{1\left( 1\right) }\times \left( \epsilon\left( n\right) -\displaystyle \sum\limits_{d|n且d\neq n}1\left( d\right) \times 1^{-1}\left( \dfrac{n}{d}\right) \right)=\left( \epsilon\left( n\right) -\displaystyle \sum\limits_{d|n且d\neq n}1^{-1}\left( \dfrac{n}{d}\right) \right) \]

咱們記\(1^{-1}(n)=\mu(n)\)

由於\(1(n)\)是積性函數,故其逆\(\mu(n)\)也是積性的。

\(n=1\)時,\(\mu(1)=1\)

\(n>1\)時,\(\epsilon(n)=0\)\(\mu(n)= -\displaystyle \sum\limits_{d|n且d\neq 1}\mu\left( \dfrac{n}{d}\right)=-\displaystyle \sum\limits_{d|n且d\neq n}\mu\left( d\right)\)

\(n\)是質數時,\(\mu(n)= -\displaystyle \sum\limits_{d|n且d\neq n}\mu\left( d\right)=-\mu(1)=-1\)

\(n\)是質數的冪時,設\(n=p^c(c>1)\),則\(\mu(p^c)=-\displaystyle \sum\limits_{d|p^{c-1}}\mu\left( d\right)=-\mu(p^{c-1})-\displaystyle \sum\limits_{d|p^{c-2}}\mu\left( d\right)=-\mu(p^{c-1})+\mu(p^{c-1})=0\)

故若是\(n=\prod\limits_{i}p_i^{c_i}\prod\limits_{j}p_j\),其中\(c_i>1\)\(p_i\)均是各異的質數,因爲\(\mu(n)\)是積性函數,則\(\mu(n)=\prod\limits_{i}\mu(p_i^{c_i})\prod\limits_{j}\mu(p_j)=0\times \prod\limits_{j}\mu(p_j)=0\)

\(n=\prod\limits_{i=1}^{k}p_i\),根據其積性,可得\(\mu(n)=\prod\limits_{i=1}^{k}\mu(p_i)=(-1)^{k}\),其中\(k\)\(n\)質因數分解後互異質數的個數。

綜上咱們就能夠獲得\(\mu(n)\)的表達式了。

莫比烏斯函數

\(n=\prod\limits_{i=1}^{k}p_{i}^{c_{i}}\)

\[\mu(n)=\begin{cases} 1 & n=1 \\ 0 & \exists i \in [1,k],c_i>1 \\ (-1)^k & \forall i \in [1,k],c_i=1 \end{cases}\]

由此咱們就獲得了常數函數\(1(n)\)的逆的表達式\(\mu(n)\),因此\(g=f*1^{-1}=f*\mu\),即\(g(n)=\sum\limits_{d|n}f(d)*\mu(\dfrac{n}{d})\)

這就是莫比烏斯反演中獲得的公式以及\(\mu(n)\)函數的由來了。

莫比烏斯反演還有另外一種形式:

\(f(n)=\sum\limits_{n|d}g(d)\),則\(g(n)=\sum\limits_{n|d}f(n)\times \mu(\dfrac{d}{n})\)

然而就算知道這些你仍是不會作題

因爲\(\mu*1=\epsilon\),其中\(\epsilon(n)\)當且僅當\(n=1\)\(\epsilon(n)=1\),其他狀況\(\epsilon(n)=0\),這與\([gcd(i,n)=1]\)很是相似,由於也是隻有當\(gcd(i,n)=1\)\([gcd(i,n)=1]=1\),其他狀況\([gcd(i,n)=1]=0\)

故對於\([gcd(i,n)=1]\)咱們能夠把它替換成\(\epsilon([gcd(i,n)=1])\),再而換成\(\displaystyle\sum\limits_{d|gcd(i,n)}\mu(d)\),而後咱們就能夠搞事情了並不知道有什麼用,看看下面吧。

歐拉函數

衆所周知,\(\varphi(n)=\sum\limits_{i=1}^{n}[gcd(i,n)=1]\),咱們將右式替換,獲得

\[\varphi(n)=\sum\limits_{i=1}^{n}\sum\limits_{d|i}\mu(d)\]

而後咱們再進行常規變換,改變求和的順序,先枚舉因子,而後看看這個因子出現了多少次。

\[\varphi(n)=\sum\limits_{i=1}^{n}\sum\limits_{d|gcd(i,n)}\mu(d)=\sum\limits_{d|n}\mu(d)\times \frac{n}{d}\]

\(n\)移到左邊就獲得一個著名的式子

\[\dfrac{\varphi(n)}{n}=\sum\limits_{d|n}\dfrac{\mu(d)}{d}\]

莫比烏斯函數與歐拉函數就神奇的聯繫在一塊兒了。

仍是看上面的式子,寫成\(Dirichlet\)卷積的形式就是

\[\varphi=\mu*Id\]

其中\(Id(n)=n\)。對這個式子咱們兩邊再卷常數函數\(1\)

\[\varphi*1=1*\mu*Id=\epsilon*Id=Id\]

\(n=\sum\limits_{d|n}\varphi(d)\)

歐拉函數還有另外一種求法,根據歐拉函數的定義,

\(n=p\)是質數,則\(\varphi(p)=p-1\)

\(n=p^c\),因爲\(p\times i\ (i \in [1,p^{c-1}])\)都是\(n\)的因子,根據容斥原理知\(\varphi(p^c)=p^c-p^{c-1}=p^{c}\times (1-\frac{1}{p})\)

\(n=\prod\limits_{i=1}^{k}p_{i}^{c_i}\),因爲歐拉函數是積性函數,故\(\varphi(n)=\prod\limits_{i=1}^{k}\varphi(p_{i}^{c_i})=\prod\limits_{i=1}^{k}p_{i}^{c_i}(1-\dfrac{1}{p_{i}^{c_i}})=n\prod\limits_{i=1}^{k}(1-\dfrac{1}{p_{i}^{c_i}})\)

總結

這篇文章講了什麼呢其實什麼都沒講,其實就是從\(Dirichlet\)卷積的角度介紹了莫比烏斯函數\(\mu(n)\)和莫比烏斯反演以及證實了關於歐拉函數\(\varphi(n)\)與莫比烏斯函數\(\mu(n)\)的等式。至於題目,大都是要運用技巧和\([gcd(i,n)=1]=\sum\limits_{d|gcd(i,n)}\mu(d)\)等式,進行各類變換,最後再預處理加上什麼數論分塊的作法解決的,但這並非這篇文章的重點。

至於杜教篩,是用來解決某些特別的數論函數\(f(n)\)\(S(n)=\sum\limits_{i=1}^{n}f(i)\)的方法,經過選擇另外兩個數論函數\(h(n),g(n)\),使得\(h=f*g\),從卷積的角度出發誘導出\(S(n)\)。至於如何選擇\(h,g\),卷積的恆等式:

\[\epsilon=\mu*1\]

\[d=1*1\]

\[\sigma=d*1\]

\[\varphi=\mu*Id\]

\[Id=\varphi*1\]

給咱們指引了方向。具體的怎樣留個坑qwq

其中\(d(n)\)表示\(n\)的因子個數,\(\sigma(n)\)表示\(n\)的因子和。

相關文章
相關標籤/搜索