编程中的较高端的数论知识总结2——狄利克雷卷积

这篇博客介绍了数论中的狄利克雷卷积,包括其定义、性质和与莫比乌斯反演的关系。通过证明交换律、结合律和分配律,展示了它与乘法的相似性。还探讨了狄利克雷卷积在数论函数求逆元和计算中的应用。
摘要由CSDN通过智能技术生成

编程中的较高端的数论知识总结2——狄利克雷卷积


注意!!!请务必先阅读完(或学会)莫比乌斯反演,文章中默认大家都已经看过了

一些新的表示

在这篇博客中,为了节省篇幅,也方便读者们学习,我会使用以下的这样简便的写法,当然这在数论中也是允许的,只是个人认为不是很规范,最好还是写清楚:

  1. 我们用 f f f来代替数论函数 f ( n ) f(n) f(n),但是在 n n n说表示一个具体的数时,还是会写成 f ( n ) f(n) f(n)的形式
  2. f + g f+g f+g表示两个数论函数相加,减号也采用相同的写法, f + g f+g f+g的具体定义是: ( f + g ) ( n ) = f ( n ) + g ( n ) (f+g)(n)=f(n)+g(n) (f+g)(n)=f(n)+g(n),减号相同
  3. x f xf xf表示数论函数乘上一个倍数,具体是: ( x f ) ( n ) = x ⋅ f ( n ) (xf)(n)=x\cdot f(n) (xf)(n)=xf(n)

狄利克雷卷积是个啥

是数论函数的重要运算之一
f ( n ) f(n) f(n) g ( n ) g(n) g(n)是两个数论函数,它们的狄利克雷乘积也是一个数论函数,简记为 h ( n ) = f ( n ) ∗ g ( n ) h(n)=f(n)*g(n) h(n)=f(n)g(n)
——百度百科,有删改

哦,看了这个定义,好像没看出什么名堂来……
其实还是有的:

  1. 两个数论函数的狄利克雷卷积也是一个数论函数额,好像是废话
  2. 狄利克雷卷积在数论中就相当于乘法,因为它的表示符号就是乘号(星号,不能写成点乘或者叉乘的符号)

所以,到底怎么计算呢?
是这样的: h ( n ) = ∑ d ∣ n f ( d ) g ( n d ) h(n)=\sum\limits_{d|n}f(d)g\left(\frac{n}{d}\right) h(n)=dnf(d)g(dn)
有时,我们也会把它写成: h ( n ) = ∑ d 1 d 2 = n f ( d 1 ) g ( d 2 ) h(n)=\sum\limits_{d_1d_2=n}f(d_1)g(d_2) h(n)=d1d2=nf(d1)g(d2)
显然,这两个东西是等价的……
除了把它简写成 h ( n ) = f ( n ) ∗ g ( n ) h(n)=f(n)*g(n) h(n)=f(n)g(n),我们当然也可以像前面一样,把它写成: h = f ∗ g h=f*g h=fg
在后文中,我就采用这种最简单的写法

性质

既然是个运算,肯定得有些性质吧,我们先来看看最基本的三个性质中,它满足什么

  1. 交换律: f ∗ g = g ∗ f f*g=g*f fg=gf,满足
    证明: ( f ∗ g ) ( n ) = ∑ d 1 d 2 = n f ( d 1 ) g ( d 2 ) = ∑ d 2 d 1 = n f ( d 2 ) g ( d 1 ) = ( g ∗ f ) ( n ) (f*g)(n)=\sum\limits_{d_1d_2=n}f(d_1)g(d_2)=\sum\limits_{d_2d_1=n}f(d_2)g(d_1)=(g*f)(n) (fg)(n)=d1d2=nf(d1)g(d2)=d2d1=nf(d2)g(d1)=(gf)(n)
  2. 结合律: f ∗ ( g ∗ h ) = ( f ∗ g ) ∗ h f*(g*h)=(f*g)*h f(gh)=(fg)h,满足
    证明: ( f ∗ ( g ∗ h ) ) ( n ) = ∑ d 1 d 2 = n f ( d 1 ) ( g ∗ h ) ( d 2 ) = ∑ d 1 d 2 = n f ( d 1 ) ∑ d 3 d 4 = d 2 g ( d 3 ) h ( d 4 ) = ∑ d 1 d 2 d 3 = n f ( d 1 ) g ( d 2 ) h ( d 3 ) = ∑ d 2 d 3 d 1 = n f ( d 2 ) g ( d 3 ) h ( d 1 ) = ( h ∗ ( f ∗ g ) ) ( n ) = ( ( f ∗ g ) ∗ h ) ( n ) (f*(g*h))(n)=\sum\limits_{d_1d_2=n}f(d_1)(g*h)(d_2)=\sum\limits_{d_1d_2=n}f(d_1)\sum\limits_{d_3d_4=d_2}g(d_3)h(d_4)=\sum\limits_{d_1d_2d_3=n}f(d_1)g(d_2)h(d_3)=\sum\limits_{d_2d_3d_1=n}f(d_2)g(d_3)h(d_1)=(h*(f*g))(n)=((f*g)*h)(n) (f(gh))(n)=d1d2=nf(d1)(gh)(d2)=d1d2=nf(d1)d3d4=d2g(d3)h(d4)=
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值