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


若想使用莫比烏斯反演,熟練掌握狄利克雷卷積包括定義、記號以及相關的性質、證明等是非常有好處的。

數論函數與積性函數

數論函數也稱作算術函數,就是定義在正整數上的函數,也可看作是一個數列。例如:
f(n)=2n1f(n)=2n-1
就表示了一個數論函數,其實就是:
[1,3,5,7,9,...][1,3,5,7,9,...]
跟狄利克雷卷積有關的常見數論函數有:
全1函數uu
u(n)=1u(n)=1
即:
[1,1,1,1,1,...][1,1,1,1,1,...]
恆等函數IDID
ID(n)=nID(n)=n
即:
[1,2,3,4,5,6,7,8,9,10,...][1,2,3,4,5,6,7,8,9,10,...]
單位元函數ee
e(n)={1n=10e(n)=\begin{cases} 1 & n=1 \\ 0 & 其他 \end{cases}
即:
[1,0,0,0,0,...][1,0,0,0,0,...]
積性函數是指如果某個數論函數f(n)f(n)滿足當gcd(a,b)=1gcd(a,b)=1時有f(ab)=f(a)f(b)f(a\cdot b)=f(a)\cdot f(b)成立,則稱函數ff爲積性函數。以下提到的函數都是積性函數。

狄利克雷卷積

狄利克雷卷積是對2個數論函數的操作,定義如下:
h(n)=f(n)g(n)=ij=nf(i)g(j)h(n)=f(n)\circ g(n)=\sum_{ij=n}f(i)\cdot g(j)
2個數論函數的狄利克雷卷積仍然是一個數論函數。
例如,考慮全1函數與恆等函數的狄利克雷卷積(只取前10個),設之爲σ\sigma,得到:

σ(1)=u(1)ID(1)=1\sigma(1)=u(1)\cdot ID(1)=1
σ(2)=u(1)ID(2)+u(2)ID(1)=3\sigma(2)=u(1)\cdot ID(2)+u(2)\cdot ID(1)=3
σ(3)=u(1)ID(3)+u(3)ID(1)=4\sigma(3)=u(1)\cdot ID(3)+u(3)\cdot ID(1)=4
σ(4)=u(1)ID(4)+u(2)ID(2)+u(4)ID(1)=7\sigma(4)=u(1)\cdot ID(4)+u(2)\cdot ID(2)+u(4)\cdot ID(1)=7
σ(5)=u(1)ID(5)+u(5)ID(1)=6\sigma(5)=u(1)\cdot ID(5)+u(5)\cdot ID(1)=6
σ(6)=u(1)ID(6)+u(2)ID(3)+u(3)ID(2)+u(6)ID(1)=12\sigma(6)=u(1)\cdot ID(6)+u(2)\cdot ID(3)+u(3)\cdot ID(2)+u(6)\cdot ID(1)=12
σ(7)=u(1)ID(7)+u(7)ID(1)=8\sigma(7)=u(1)\cdot ID(7)+u(7)\cdot ID(1)=8
σ(8)=u(1)ID(8)+u(2)ID(4)+u(4)ID(2)+u(8)ID(1)=15\sigma(8)=u(1)\cdot ID(8)+u(2)\cdot ID(4)+u(4)\cdot ID(2)+u(8)\cdot ID(1)=15
σ(9)=u(1)ID(9)+u(3)ID(3)+u(9)ID(1)=13\sigma(9)=u(1)\cdot ID(9)+u(3)\cdot ID(3)+u(9)\cdot ID(1)=13
σ(10)=u(1)ID(10)+u(2)ID(5)+u(5)ID(2)+u(10)ID(1)=18\sigma(10)=u(1)\cdot ID(10)+u(2)\cdot ID(5)+u(5)\cdot ID(2)+u(10)\cdot ID(1)=18

實際上,σ(n)\sigma(n)就是n的因子和,因此全1函數與恆等函數的狄利克雷卷積就是因子和函數。
再考慮前面提到的單位元函數ee,稍加推理可知:
f(n)e(n)=f(n)f(n)\circ e(n)=f(n)
即,任意函數與單位元函數做卷積仍然得到自身,因此ee稱爲單位元。

莫比烏斯函數

實際上,所有的數論函數與狄利克雷卷積操作可以構成一個羣,因此對每一個數論函數必然有逆元存在。也就是說每一個函數與其逆元的狄利克雷卷積可以得到單位元函數。全1函數的逆元稱爲莫比烏斯函數μ\mu,即:
uμ=eu\circ\mu=e
莫比烏斯函數就是全1函數的逆元,這個定義有助於後續的證明和計算,同時也可以依次推出莫比烏斯函數的每一個具體取值。當然,還有一個分段函數的表達,可以更直觀的計算莫比烏斯函數的值:
μ(n)={(1)kn=p1p2...pk0\mu(n)=\begin{cases} (-1)^k & n=p_1p_2...p_k \\ 0 & 其他 \end{cases}
也就是莫比烏斯函數只有三個可能的取值:0、-1和1。如果nn包含平方數的因子,則μ(n)=0\mu(n)=0;否則,nn的質因子分解的所有質因子指數必然全是1,此時,nn有偶數個質因子μ(n)=1\mu(n)=1,奇數個質因子則是μ(n)=1\mu(n)=-1

相關性質

性質1:全1函數的狄利克雷卷積就是因子數量函數,記作τ\tau;恆等函數與全1函數的狄利克雷卷積就是因子和函數,記作σ\sigma
τ(n)=u(n)u(n)\tau(n)=u(n)\circ u(n)
σ(n)=ID(n)u(n)\sigma(n)=ID(n)\circ u(n)
利用狄利克雷卷積的定義很容易證明。
性質2:當n不等於1時,其所有因子的莫比烏斯函數函數值之和爲0;當n等於1時,其和爲1。寫成數學表達爲:
dnμ(d)=[n==1]\sum_{d|n}\mu(d)=[n==1]
其中“[][條件]”表示示性函數,條件爲真則該函數值爲1,否則函數值爲0。這個也很容易證明,左邊就是全1函數與莫比烏斯函數的卷積,右邊就是單位元函數。這兩者就是相等的。
性質3:恆等函數與莫比烏斯函數的卷積等於歐拉函數。其中,歐拉函數記作φ(n)\varphi(n),表示不超過n的與n互質的數的數量。即:
ID(n)μ(n)=dndμ(nd)=φ(n)ID(n)\circ \mu(n)=\sum_{d|n}{d\cdot{\mu(\frac{n}{d})}}=\varphi(n)
如果能夠熟練使用各種記號,上式很容易證明。首先將φ(n)\varphi(n)寫作:
φ(n)=i[gcd(i,n)==1]\varphi(n)=\sum_{i}[gcd(i,n)==1]
這是顯然的,就是歐拉函數的定義。然後利用上面的第2條性質,
i[gcd(i,n)==1]=idgcd(i,n)μ(d)\sum_{i}[gcd(i,n)==1]=\sum_{i}\sum_{d|gcd(i,n)}\mu(d)
對等式右邊而言,對每一個d(d是gcd(i,n)的因子,當然同時也是n和i的因子),實際上就是問在1~n中有多少數滿足其有d的因子,這個數量當然就是n/dn/d個。所以,
idgcd(i,n)μ(d)=dnndμ(d)\sum_{i}\sum_{d|gcd(i,n)}\mu(d)=\sum_{d|n}\frac{n}{d}\cdot\mu(d)
該性質的一個推論是:
φ(n)n=dnμ(d)d\frac{\varphi(n)}{n}=\sum_{d|n}\frac{\mu(d)}{d}
使用積性函數的性質也可以證明這一點。
n=1n=1時,上述等式顯然成立。當nn爲質數時,記作pp,則:
dpμ(d)d=μ(1)1+μ(p)p=1pp=φ(p)p\sum_{d|p}\frac{\mu(d)}{d}=\frac{\mu(1)}{1}+\frac{\mu(p)}{p}=\frac{1-p}{p}=\frac{\varphi(p)}{p}
等式也成立。當n=pkn=p^k時,
dpkμ(d)d=μ(1)1+μ(p)p+μ(p2)p2+=1pp=φ(pk)pk\sum_{d|p^k}\frac{\mu(d)}{d}=\frac{\mu(1)}{1}+\frac{\mu(p)}{p}+\frac{\mu(p^2)}{p^2}+\cdot\cdot\cdot=\frac{1-p}{p}=\frac{\varphi(p^k)}{p^k}
等式亦成立。所以在nn只含一個質因子情況下,ID(n)μ(n)=φ(n)ID(n)\circ\mu(n)=\varphi(n)是成立的。考慮更一般的情況,n=p1k1pnknn=p_{1}^{k_1}\cdot\cdot\cdot p_{n}^{k_n},有
ID(n)μ(n)=ID(p1k1pnkn)μ(p1k1pnkn)=ID(p1k1)μ(p1k1)ID(pnkn)μ(pnkn)=1p1p11pnpn=φ(n)ID(n)\circ\mu(n)\\=ID(p_{1}^{k_1}\cdot\cdot\cdot p_{n}^{k_n})\circ\mu(p_{1}^{k_1}\cdot\cdot\cdot p_{n}^{k_n})\\=ID(p_{1}^{k_1})\circ\mu(p_{1}^{k_1})\cdot\cdot\cdot ID(p_{n}^{k_n})\circ\mu(p_{n}^{k_n})\\=\frac{1-p_1}{p_1}\cdot\cdot\cdot\frac{1-p_n}{p_n}\\=\varphi(n)
性質4:莫比烏斯反演,設函數f(n)=dng(d)g(n)=dnf(n/d)μ(d)f(n)=\sum_{d|n}{g(d)},則g(n)=\sum_{d|n}{f(n/d)\cdot\mu(d)}
使用狄利克雷卷積記號很容易證明這個結論,已知條件實際上就是
f=ugf=u\circ g
兩邊同時卷積莫比烏斯函數,注意到狄利克雷卷積滿足交換律與結合律,且全1函數與莫比烏斯函數的卷積結果爲單位元函數,所以
g=fμg=f\circ\mu
這就是莫比烏斯反演的結論。
性質5:莫比烏斯倍數反演,莫比烏斯反演有兩種形式,性質4中的是約數反演,還有一種倍數反演,如下,若有
f(n)=nd,dNg(d)f(n)=\sum_{n|d,d\le N}g(d)
則有
g(n)=nd,dNμ(dn)f(d)g(n)=\sum_{n|d,d\le N}\mu(\frac{d}{n})f(d)
其中,NN是一個上限。
關於倍數反演的證明,
nd,dNμ(dn)f(d)=nd,dN(μ(dn)dt,tNg(t))=nd,dN(g(d)tdnμ(t))\sum_{n|d,d\le N}\mu(\frac{d}{n})f(d)=\sum_{n|d,d\le N}\Big(\mu(\frac{d}{n})\sum_{d|t,t\le N}g(t)\Big)\\=\sum_{n|d,d\le N}\Big(g(d)\sum_{t|\frac{d}{n}}\mu(t)\Big)
關於上式中第二個等號,將求和記號寫開,就可以推導出來。
根據性質2可知,tdnμ(t)=[dn==1]\sum_{t|\frac{d}{n}}\mu(t)=[\frac{d}{n}==1],也就是說當d=nd=n時,結果爲1,其餘結果均爲0。所以最終可推出:
nd,dNμ(dn)f(d)=g(n)\sum_{n|d,d\le N}\mu(\frac{d}{n})f(d)=g(n)

基礎問題與公式

問題1:在1~N的範圍內,互質的數對一共有多少對?即問ij[gcd(i,j)==1]\sum_{i}\sum_{j}[gcd(i,j)==1]
這個問題的解是:i=1Nj=1N[gcd(i,j)==1]=d=1Nμ(d)N/dN/d\sum_{i=1}^{N}\sum_{j=1}^{N}[gcd(i,j)==1]=\sum_{d=1}^{N}\mu(d)\cdot\lfloor{N/d}\rfloor\cdot\lfloor{N/d}\rfloor推導過程如下,根據性質3有ij[gcd(i,j)==1]=ijdgcd(i,j)μ(d)\sum_{i}\sum_{j}[gcd(i,j)==1]=\sum_{i}\sum_{j}\sum_{d|gcd(i,j)}\mu(d)考慮每一個可能的dd,即dd取值1,2,3,4,5,...1,2,3,4,5,...,有多少對(i,j)(i,j)滿足ii有因子dd同時jj也有因子dd呢?當然是N/dN/d\lfloor{N/d}\rfloor\cdot\lfloor{N/d}\rfloor。其中,\lfloor\rfloor表示向下取整,也就是C++中的整型除法運算。所以,公式1成立。另一個辦法是使用性質5莫比烏斯倍數反演來證明。令,f(n)=[(i,j)n]f(n)=[(i,j)有公因子n]即,f(n)f(n)1N1\sim N之間有公因子n的數對的數量,顯然有,f(n)=N/nN/nf(n)=\lfloor{N/n}\rfloor\cdot\lfloor{N/n}\rfloor再令,g(n)=[gcd(i,j)==n]g(n)=[gcd(i,j)==n]即,g(n)g(n)1N1\sim N之間gcd爲n的數對的數量,有,f(n)=nd,dNg(d)f(n)=\sum_{n|d,d\le N}g(d)根據性質5有,g(n)=nd,dNμ(dn)f(d)g(n)=\sum_{n|d,d\le N}\mu(\frac{d}{n})f(d)
所求實際上就是g(1)g(1),可得g(1)=d=1Nμ(d)f(d)=d=1Nμ(d)N/dN/dg(1)=\sum_{d=1}^{N}\mu(d)f(d)=\sum_{d=1}^{N}\mu(d)\cdot\lfloor{N/d}\rfloor\cdot\lfloor{N/d}\rfloor
問題1還有另外一種做法,只考慮[gcd(i,j)==1,x>y][gcd(i,j)==1,x\gt y],實際上就是求歐拉函數的和,如下:i=2Nφ(i)\sum_{i=2}^{N}\varphi(i)這個數乘以2就得到了所有的不相等且互質的數對的數量。而相等又能互質的數對只有1對,就是(1, 1),所以再加1即可。
問題2:在1~N的範圍內,gcd爲質數的數對一共有多少對?即問pkij[gcd(i,j)==pk]\sum_{p_k}\sum_{i}\sum_{j}[gcd(i,j)==p_k]其中,pkp_k是N以內的質數。考慮到,gcd(i,j)=pgcd(i,j)=pgcd(i/p,j/p)=1gcd(i/p,j/p)=1所以pkij[gcd(i,j)==pk]=pkij[gcd(i/pk,j/pk)==1]=pkd=1Npkμ(d)NpkdNpkd\sum_{p_k}\sum_{i}\sum_{j}[gcd(i,j)==p_k]=\sum_{p_k}\sum_{i}\sum_{j}[gcd(i/p_k,j/p_k)==1]\\=\sum_{p_k}\sum_{d=1}^{\lfloor\frac{N}{p_k}\rfloor}\mu(d)\cdot\lfloor\frac{\lfloor\frac{N}{p_k}\rfloor}{d}\rfloor\cdot\lfloor\frac{\lfloor\frac{N}{p_k}\rfloor}{d}\rfloor
問題3ii在1~N範圍內,jj在1~M範圍內,問互質的數對的數量有多少對?
仿照問題1的解法即可。注意到dd必須是(i,j)(i,j)的公因子,所以dd必然不超過min(N,M)min(N,M),所以i=1Nj=1M[gcd(i,j)==1]=d=1min(N,M)μ(d)N/dM/d\sum_{i=1}^{N}\sum_{j=1}^{M}[gcd(i,j)==1]=\sum_{d=1}^{min(N,M)}\mu(d)\cdot\lfloor{N/d}\rfloor\cdot\lfloor{M/d}\rfloor

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章