Dirichlet 卷积学习笔记

数论函数:数论函数亦称算术函数,一类重要的函数,指定义在正整数集上的实值或复值函数,更一般地,也可把数论函数看做是某一整数集上定义的函数。

然而百科在说什么鬼知道呢,感性理解一下,数论函数的定义域是正整数,值域也是正整数。

数论函数的相关运算与性质

  • 设有数论函数\(\bf{h,f,g}\)。
  1. 加法运算

    \((\mathbf {f}+\mathbf {g})(n)=\mathbf {f}(n)+\mathbf {g}(n)\)

    即每项相加

  2. 数乘运算

    \((x\mathbf f )(n)=x\mathbf f(n)\)

    即每项相乘

  3. 卷积乘\(*\)

    若\(\mathbf h=\mathbf f*\mathbf g\)

    那么\(\mathbf h(n)=\sum\limits_{i|n}\mathbf f(i)\mathbf g(\frac{n}{i})\)

  4. 交换律

    \(\bf f*g=g*f\)

    显然

  5. 结合律

    \((\mathbf f*\mathbf g)*\mathbf h=\mathbf f*(\mathbf g*\mathbf h)\)

    意会

  6. 分配律

    \((\mathbf f+ \mathbf g)*\mathbf h=\mathbf f*\mathbf h+\mathbf g*\mathbf h\)

    意会

  7. 单位元

    定义数论函数\(\epsilon(n)=[n=1]\)

    对任意\(\mathbf f\),有\(\mathbf f=\mathbf f*\epsilon\)

    显然

  8. 逆元

    对于任意的\(\mathbf f(1)\not=0\)的数论函数,存在一个\(\mathbf g\)使得\(\mathbf g*\mathbf f=\epsilon\)

    对于\(\mathbf g\)有构造

    \[\mathbf g(n)=\frac{1}{\mathbf f(1)}([n=1]-\sum_{i|n,i\not=1}\mathbf f(i)\mathbf g({\frac{n}{i}}))
    \]

    证明代入卷积计算就可以了。

  9. 积性函数

    满足若\(a \bot b\),那么\(\mathbf f(ab)=\mathbf f(a)\mathbf f(b)\)的数论函数被成为积性函数。

  10. 两个积性函数的卷积是积性函数

    证明重要吗

  11. 一个积性函数的逆也是积性函数

    证明重要吗

  12. 任何一个积性函数都可以线性筛出来

常见积性函数及其性质

令\(n=\prod\limits_{i=1}^k p_i^{c_i}\)

  • \(\mathbf 1(n)=1\),常函数
  • \(\mathbf {Id}(n)=n\),常函数
  • \(\mathbf {Id}^k(n)=n^k\),常函数的一般形式
  • \(\epsilon(n)=[n=1]\),单位元
  • \(\mu(n) = [\max(c_1,c_2,\dots,c_k) \le 1](-1)^k\) ,莫比乌斯函数
  • \(\varphi(n)=n\prod\limits_{i=1}^k(1-\frac{1}{p_i})\),欧拉函数
  • \(\mathbf d(n)=\sum\limits_{d|n}1\),约数个数
  • \(\sigma(n)=\sum\limits_{d|n}d\),约数和
  • \(\lambda(n)=(-1)^k\)
  1. 莫比乌斯函数

    我们尝试把\(\mu\)给定义出来,定义\(\mu\)为\(\mathbf 1\)的逆。

    则有\(\mu * \mathbf 1=\epsilon\)

    换成我们熟悉的形式就是\(\sum_{d|n}\mu(d)=[n=1]\)

    尝试构造\(\mu\),显然\(\mu(1)=1\)。

    然后发现对于质数\(p\),满足\(\sum_{d|p^k}\mu=0\),即\(1+\mu(p)+\mu(p^1)+\dots+\mu_(p^k)=0\)。

    通过一些简单的反证可以得到\(\mu(p^k)=-[k\le 1],k\not=0\)

    因为\(\mathbf1\)是积性函数,所以\(\tt{Ta}\)的逆\(\mu\)也是积性函数。

    然后我们就可以得到\(Ta\)的函数式,即

    \(\mu(n) = [\max(c_1,c_2,\dots,c_k) \le 1](-1)^k\)

    或者说是

    \[\mu(n)=\left\{\begin{aligned}(-1)^k \ \ if \ squarefree \\0 \ \ \ \ \ \ \ \ \ \ \ \ \ ohterwise\\\end{aligned}\right.
    \]

    特殊的,\(\mu(1)=1\).

    \(squarefree\) 表示对\(n\),\(\forall c_i=1\).

    之类的一些定义。

    • 莫比乌斯反演

      若\(\mathbf g=\mathbf f *\mathbf 1\),那么\(\mu*\mathbf g=\mathbf f*\mu*\mathbf 1\),即\(\mathbf f=\mu*\mathbf g\)

      换成熟悉的形式,若\(\mathbf g(n)=\sum\limits_{d|n}\mathbf f(d)\),那么$\mathbf f(n)=\sum\limits_{d|n} \mu(d)\times \mathbf g(\frac{n}{d}) $,于是我们较为简单的证明了反演。

      对于实际中更加常用的第二类反演,我们可以定义一种类似与卷积的新运算进行证明。

    筛法:

    for(int i=2;i<=N;i++)
    {
    if(!ispri[i])
    {
    mu[i]=-1;
    pri[++cnt]=i;
    }
    for(int j=1;j<=cnt&&pri[j]*i<=N;j++)
    {
    ispri[i*pri[j]]=1;
    if(i%pri[j]==0) break;
    else mu[i*pri[j]]=-mu[i];
    }
    }
  2. 欧拉函数

    其实这个也可以定义出来的,不过从意义的角度说明\(\tt{Ta}\)会更加的自然。

    \(\varphi(n)\)代表\(1 \sim n-1\)中与\(n\)互质的数的个数,考虑证明\(\tt{Ta}\)的计算式。

    可以用容斥说明一波,不过这个用用和积性函数有关的东西叭。

    \(\varphi(p^k)=p^k-p^{k-1}=p^k(1-\frac{1}{p})\)

    唯一分解\(n=\prod\limits_{i=1}^k p_i^{c_i}\)

    那么\(\varphi(n)=\prod\limits_{i=1}^kp_i^{c_i}(1-\frac{1}{p_i})=n\prod\limits_{i=1}^k(1-\frac{1}{p_i})\)

    然后我们考虑证明\(Ta\)的一个性质,\(\varphi *\mathbf 1=\mathbf {Id}\),也就是我们熟悉的\(\sum_{d|n}\varphi(d)=n\)。

    证明起来很简单,设\(\mathbf t=\varphi *\mathbf 1\),那么\(\mathbf t\)为积性函数,我们先搞出\(\tt{Ta}\)的素数幂的式子,然后乘起来就行了。

    筛法

    for(int i=2;i<=N;i++)
    {
    if(!ispri[i])
    {
    pri[++cnt]=i;
    phi[i]=i-1;
    }
    for(int j=1;j<=cnt&&i*pri[j]<=N;j++)
    {
    ispri[i*pri[j]]=1;
    if(i%pri[j]==0)
    {
    phi[i*pri[j]]=phi[i]*pri[j];
    break;
    }
    else
    fphi[i*pri[j]]=phi[i]*(pri[j]-1);
    }
    }
  3. 其他相关性质

    • \(\varphi *\mathbf 1=\mathbf {Id}\Rightarrow \varphi=\mu *\mathbf {Id}\)

    • \(\mathbf d=\mathbf1 *\mathbf1 \Rightarrow \mu*\mathbf d=\mathbf1\)

    • \(\sigma=\mathbf {Id}*\mathbf 1 \Rightarrow \mathbf {Id}=\sigma*\mu\)或\(\sigma=\mathbf {Id}*\mathbf 1 \Rightarrow \sigma=\varphi*\mathbf d\)

Dirichlet 卷积学习笔记的更多相关文章

  1. LDA-Latent Dirichlet Allocation 学习笔记

    以下内容主要基于<Latent Dirichlet Allocation>,JMLR-2003一文,另加入了一些自己的理解,刚开始了解,有不对的还请各位指正. LDA-Latent Dir ...

  2. [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法

    前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...

  3. ufldl学习笔记和编程作业:Feature Extraction Using Convolution,Pooling(卷积和汇集特征提取)

    ufldl学习笔记与编程作业:Feature Extraction Using Convolution,Pooling(卷积和池化抽取特征) ufldl出了新教程,感觉比之前的好,从基础讲起.系统清晰 ...

  4. 卷积神经网络(CNN)学习笔记1:基础入门

    卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Vie ...

  5. 深度学习笔记 (一) 卷积神经网络基础 (Foundation of Convolutional Neural Networks)

    一.卷积 卷积神经网络(Convolutional Neural Networks)是一种在空间上共享参数的神经网络.使用数层卷积,而不是数层的矩阵相乘.在图像的处理过程中,每一张图片都可以看成一张“ ...

  6. CNN学习笔记:卷积神经网络

    CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...

  7. CNN学习笔记:卷积运算

    CNN学习笔记:卷积运算 边缘检测 卷积 卷积是一种有效提取图片特征的方法.一般用一个正方形卷积核,遍历图片上的每一个像素点.图片与卷积核重合区域内相对应的每一个像素值乘卷积核 .内相对应点的权重,然 ...

  8. UFLDL深度学习笔记 (六)卷积神经网络

    UFLDL深度学习笔记 (六)卷积神经网络 1. 主要思路 "UFLDL 卷积神经网络"主要讲解了对大尺寸图像应用前面所讨论神经网络学习的方法,其中的变化有两条,第一,对大尺寸图像 ...

  9. 卷积神经网络用语句子分类---Convolutional Neural Networks for Sentence Classification 学习笔记

    读了一篇文章,用到卷积神经网络的方法来进行文本分类,故写下一点自己的学习笔记: 本文在事先进行单词向量的学习的基础上,利用卷积神经网络(CNN)进行句子分类,然后通过微调学习任务特定的向量,提高性能. ...

随机推荐

  1. Windows下Mongo分片及集群

    这里简单介绍一下windows下mongodb的分片设置和集群搭建,希望能够为迷茫的新手起到一点点作用.其实windows下与linux下思路是一致的,只是绑定时的ip,与端口号不同,linux下可以 ...

  2. sql server 批量备份数据库

    很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: --开启文件夹权限 ...

  3. hession矩阵的计算与在图像中的应用

    参考的一篇博客,文章地址:https://blog.csdn.net/lwzkiller/article/details/55050275 Hessian Matrix,它有着广泛的应用,如在牛顿方法 ...

  4. 深圳第XX天

    今天早晨,面了一家小公司.先说结果吧,面过了.但是,总感觉太假了.面试中很多问题都没有回答上来.然后老板看了一下简历,问:期薪资多少?我想了想,说7000.啊,要不留下来看看?我答应了.不到十分钟,就 ...

  5. 初次学习asp.net core的心得

    初次学习Asp.Net Core方面的东西,虽然研究的还不是很深,今天主要是学习了一下Asp.Net Core WebAPI项目的使用,发现与Asp.Net WebAPI项目还是有很多不同.不同点包含 ...

  6. JavaScript学习笔记(二)——函数和数组

    第二章 函数简介 1 第一个函数示例 <script language="JavaScript" type="text/JavaScript"> f ...

  7. leetcode28_C++实现strStr()函数

    实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...

  8. java 乐观锁 vs 悲观锁

    在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性. 悲观锁其实就是 完全同步 比如 sync ...

  9. eFPGA与FPGA SoC,谁将引领下一代可编程硬件之潮流?|半导体行业观察

    eFPGA:冉冉升起的新星 eFPGA即嵌入式FPGA(embedded FPGA),是近期兴起的新型电路IP. 随着摩尔定律越来越接近瓶颈,制造ASIC芯片的成本越来越高.因此,设计者会希望ASIC ...

  10. 【探路者】互评beta版本

    成员博客 1蔺依铭:http://www.cnblogs.com/linym762/ 2张恩聚:http://www.cnblogs.com/zej87/ 3米赫:http://www.cnblogs ...