• 数论笔记2最大公因数理论


    上一篇实在是太简单了. 接下来我们将要进入最大公因数理论.

    1. 最大公因数和最小公倍数

    首先我们需要明确公因数的定义.
    设有 \(a_1,\cdots,a_n\), 若 \(d|a_1,\cdots,d|a_n\), 称 \(d\)\(a_1,\cdots,a_n\) 的公因数.
    我们记这些公因数组成的集合为 \(\mathcal{D}(a_1,\cdots,a_n)\).
    自然地, 我们定义这些数的公因数中最大的一个为最大公因数, 记作 \((a_1,\cdots,a_n)\).
    特别地, 若 \((a_1,\cdots,a_n)=1\), 称这些数互素.
    根据定义,有 \((a_1,\cdots,a_n)=\max(d:d\in\mathcal{D}(a_1,\cdots,a_n))\).
    下面我们给出一些简单的性质.
    1. \((a_1,a_2)=(a_2,a_1)=(-a_1,a_2)=(|a_1|,|a_2|)\)
    2. \(a_1|a_j(2\leqslant j\leqslant n)\Rightarrow (a_1,\cdots,a_n)=|a_1|\)
    3. \((a_1,a_2)=(a_1,a_2,a_1x)\)
    4. \((a_1,a_2)=(a_1,a_2+a_1x)\)
    5. \((p,a_1)=\begin{cases}p,&p|a_1\\1,&p\nmid a_1\end{cases}\)
    6. \(\mathcal{D}(a_1,\cdots,a_n)=\mathcal{D}(a:a=a_1x_1+\cdots+a_nx_n)\)

    其中性质1,3,4,5一般情况下同样成立.
    这些性质就不予全部证明了. 大体来说, 证明的思路就是证明左右两边的公因数集合相等, 从而自然有最大公因数相等.
    以性质4为例. 根据整除性质有 \(d|a_1,d|a_2\Leftrightarrow d|a_1,d|a_2+a_1x\),
    \(\mathcal{D}(a_1,a_2)=\mathcal{D}(a_1,a_2+a_1x)\), 从而根据上面的分析得出结论.
    另外性质6可以认为是性质4的自然推论. 这条性质比较本质, 非常重要. 比如下面这条不那么显然的定理:
    7. \(a_1x_1+\cdots+a_nx_n=1\Rightarrow (a_1,\cdots,a_n)=1\)
    证明其实非常简单: 根据上述性质6有 \(\mathcal{D}(a_1,\cdots,a_n)=\{1,-1\}\), 于是就得出了结论.

    接下来我们再给出一条最大公因数的性质并给予证明.
    8. \(m|(a_1,\cdots,a_n)\Rightarrow m(a_1/m,\cdots,a_n/m)=(a_1,\cdots,a_n)\)
    证明的思路是两次运用性质1.1.6 (即第1篇笔记标题1性质6, 之后都会这样编号), 即用整除得到左边小于等于右边, 右边小于等于左边, 于是就证明了结论. (这时初等数论中一种很常见的证明方法)
    证明: 记 \(D=(a_1,\cdots,a_n), d=(a_1/m,\cdots,a_n/m)\).
    根据条件有 \(m|D\), 又根据 \(D\) 的定义知 \(D|a_j\), 则 \(m|a_j(1\leqslant j\leqslant n)\).
    运用整除性质有 \((D/m)|(a_j/m)\), 则根据 \(d\) 的最大性有 \(D/m\leqslant d\), 即 \(D\leqslant md\).
    另一方面, 有 \(d|(a_j/m)\), 则根据整除性质有 \(md|a_j\), 根据 \(D\) 的最大性有 \(md\leqslant D\).
    综上所述有 \(md=D\), 证毕.

    简单讨论完了最大公因数, 接下来我们来讨论最小公倍数.
    设有 \(a_1\cdots a_n\neq0\), 若有 \(a_1|l,\cdots,a_n|l,\)\(l\)\(a_1,\cdots,a_n\) 的公倍数.
    我们记这些公倍数组成的集合为 \(\mathcal{L}(a_1,\cdots,a_n)\).
    我们定义这些数的正公倍数中最小的一个为最小公倍数, 记作 \([a_1,\cdots,a_n]\).
    相对来说, 最小公倍数的性质没有最大公因数那么好. 但是我们仍然有下面的结论:
    9. \([a_1,a_2]=[a_2,a_1]=[-a_1,a_2]=[|a_1|,|a_2|]\)
    10. \(a_j|a_1(2\leqslant j\leqslant n)\Rightarrow [a_1,\cdots,a_n]=|a_1|\)
    11. \(d|a_1\Rightarrow [a_1,a_2]=[a_1,a_2,d]\)
    12. \([ma_1,\cdots,ma_n]=m[a_1,\cdots,a_n]\)

    性质9和11在一般情况下同样成立. 这些性质的证明和最大公因数对应性质类似, 我们这里只对性质12进行证明.
    证明: 记 \(L=[ma_1,\cdots,ma_n], l=[a_1,\cdots,a_n]\).
    一方面有 \(ma_j|L\Rightarrow a_j|(L/m)\Rightarrow l\leqslant(L/m)\Rightarrow ml\leqslant L\),
    另一方面有 \(a_j|l\Rightarrow ma_j|ml\Rightarrow L\leqslant ml\).
    \(L=ml\), 证毕.

    2. 辗转相除法

    在对最大公因数进行进一步讨论之前, 我们先介绍一下辗转相除法这一工具.
    设有 \(u_0,u_1\)\(u_1\neq0\). 我们重复应用带余除法:
    \(\begin{aligned}u_0&=q_0u_1+u_2, &0<u_2<|u_1|\\u_1&=q_1u_2+u_3, &0<u_3<u_2\\&\vdots\\u_{k-1}&=q_{k-1}u_k+u_{k+1}, &0<u_k<u_{k-1}\\u_k&=q_ku_{k+1}, &0<u_{k+1}<u_k\end{aligned}\)
    注意到\(|u_1|>u_2>\cdots>u_k>u_{k+1}>0\), 则该过程必会停止, 不会无限重复下去.
    有了辗转相除法, 我们可以推知以下结论:
    1. \((u_0,u_1)=(u_1,u_2)=\cdots=(u_k,u_{k+1})=u_{k+1}\)
    2. \(d|u_0,d|u_1\Leftrightarrow d|(u_0,u_1)\)
    3. \(\exist x_0,x_1\) 使 \(u_0x_0+u_1x_1=(u_0,u_1)\)

    性质1实际推导的时候需要倒过来. 根据性质1.1和1.4, 我们有 \((u_{k-1},u_k)=(u_k,q_{k-1}u_k+u_{k+1})=(u_k,u_{k+1})\). 然后剩下的就显然了.
    性质2利用性质1和整除的性质是显然的. 注意, 这个性质说明了两个数的公因数一定是最大公因数的因数, 这是我们在第3节最大公因数理论中将要讨论的一个定理的特殊情况.
    性质3可以从线性组合的角度来理解. \(u_{k+1}\) 可表示为 \(u_k\)\(u_{k-1}\) 的线性组合, \(u_k\) 可表示为 \(u_{k-1}\)\(u_{k-2}\) 的线性组合, 以此类推, 知 \(u_{k+1}\) 可表示为 \(u_0\)\(u_1\) 的线性组合. 证毕.
    性质3可以应用于解不定方程. 这个之后再讨论.

    3. 最大公因数理论

    在这一章, 我们对最大公因数理论进行收尾. 我们会给出8个最大公因数的重要性质, 并证明之.
    根据二潘初等数论的介绍, 我们实际上有3种方法来建立这套理论. 我们这里只选取最简单的一种 (只用到整除, 带余除法和之前介绍过的一些最大公因数的性质), 其他的方法可以到原书进行了解.
    首先给出定理内容: (注: 为了方便, 我们用 \(a_j\) 来表示每一个 \(a\), 就不写范围了)
    1. \(a_j|c\Leftrightarrow [a_1,\cdots,a_k]|c\)
    2. \(D=(a_1,\cdots,a_k)\Leftrightarrow D|a_j;d|a_j\Rightarrow d|D\)
    3. \(m(b_1,\cdots, b_k)=(mb_1,\cdots,mb_k)\)
    4. \((a_1,\cdots,a_k)=((a_1,a_2),a_3,\cdots,a_k)\) 推论: \((a_1,\cdots,a_k)=((a_1,\cdots,a_l),(a_{l+1},\cdots,a_k))\)
    5. \((m,a)=1\Rightarrow (m,ab)=(m,b)\)
    6. \((m,a)=1, m|ab\Rightarrow m|b\) 推论: \((m_1,m_2)=1,m_1|n,m_2|n\Rightarrow m_1m_2|n\)
    7. \([a_1,a_2](a_1,a_2)=|a_1a_2|\)
    8. \((a_1,\cdots,a_k)=min(s:s=a_1x_1+\cdots+a_kx_k,s>0)\) 推论: \(\exist x_0,\cdots,x_k\) 使 \(a_1x_1+\cdots+a_kx_k=(a_1,\cdots,a_k)\)

    我们首先证明性质1, 然后性质2至性质7都可以通过此推出. 性质8需要进行额外的证明.

    性质1: 设 \(L=[a_1,\cdots,a_k]\).
    必要性: \(L|c,a_j|L\Rightarrow a_j|c\), 证毕.
    充分性: 设 \(c=ql+r,0\leqslant r<L\). 则 \(a_j|c,a_j|L\Rightarrow a_j|r\), 即 \(r\) 为一个公倍数. 但又有 \(r<L\), 则只能有 \(r=0\). 故 \(L|c\), 证毕.
    实际上性质1就是说公倍数是最小公倍数的倍数.

    性质2:
    必要性: 由 \(D|a_j\)\(D\) 是公因数; 由 \(d|D\)\(|d|\leqslant D\), 而 \(d\) 是任一公因数, \(D\) 比任一公因数的绝对值都大, 则 \(D=(a_1,\cdots,a_k)\). 证毕.
    充分性: 设全体公因数为 \(d_1,\cdots,d_s\). 令\(L=[d_1,\cdots,d_s]\). 由性质1知 \(L|a_j\), 又有 \(d_j|L\), 则根据必要性的证明有 \(L=(a_1,\cdots,a_k)\), 也即最大公因数满足右边的性质. 证毕. (这个证明方法可能有点抽象)
    性质2告诉我们公因数是最大公因数的因数.

    性质3:
    考虑运用上面的性质1.8. 令 \(a_j=mb_j\). 有 \(m(b_1,\cdots,b_k)=m(a_1/m,\cdots,a_k/m)\).
    但是为了能利用上面的性质, 我们还要满足 \(m|(a_1,\cdots,a_n)\) 这个前提. 注意到 \(m|a_j\), 则运用性质2有 \(m|(a_1,\cdots,a_k)\). 这样条件满足了.
    \(m(a_1/m,\cdots,a_k/m)=(a_1,\cdots,a_k)=(mb_1,\cdots,mb_k)\). 证毕.
    实际上性质1.8与性质3就差在了性质2上.

    性质4:
    采用经典证法.
    一方面, 设有 \(d|a_j\), 由性质2有 \(d|(a_1,a_2)\), 即左边的公因数一定是右边的公因数.
    另一方面, 设有 \(d|(a_1,a_2)\), 又因为 \((a_1,a_2)|a_1, (a_1,a_2)|a_2\), 则 \(d|a_1, d|a_2\), 即右边的公因数一定是左边的公因数.
    公因数集相等知最大公因数相等. 证毕.
    推论自然成立.

    性质5:
    \(m=0\), 则 \(a=\pm1\), 显然成立. 否则, 有 \((m,b)=(m,b(m,a))=(m,mb,ab)=(m,ab)\). 证毕. (这里主要运用了性质3和1.3)

    性质6:
    \(|m|=(m,ab)=(m,b)\Rightarrow m|b\). 证毕. (这里主要运用了性质5)
    更常用的是推论. 证明如下:
    \(m_1|n\Rightarrow n=km_1\Rightarrow m_2|km_1\Rightarrow m_2|k\Rightarrow m_1m_2|m_1k\Rightarrow m_1m_2|n\). 证毕.

    性质7:
    首先考虑 \((a_1,a_2)=1\) 的情况. 此时令 \(L=[a_1,a_2]\), 根据性质1有 \(L|a_1a_2\). 又有 \(a_1|L,a_2|L\), 根据性质6推论有 \(a_1a_2|L\). 则 \(L=|a_1a_2|\). 该情况证毕.
    \((a_1,a_2)\neq1\) 时, 有 \((a_1/(a_1,a_2),a_2/(a_1,a_2))=1\), 则 \([a_1/(a_1,a_2),a_2/(a_1,a_2)]=|a_1a_2|/(a_1,a_2)^2\). 将平方项移到左边并运用性质1.12, 有 \([a_1,a_2](a_1,a_2)=|a_1a_2|\). 证毕.
    注意这是一个专用于两个数情况的定理. 多个数就不一定了.

    性质8:
    我们利用性质1.6. 记 \(S=\{s|s=a_1x_1+\cdots+a_kx_k\}\). 显见 \(0<a_1^2+\cdots+a_k^2\in S\), 则 \(S\) 中有正整数. 令其中最小的正整数为 \(s_0\).
    取任一公因数 \(d|a_j\), 根据整除性质有 \(d|s_0\), 则 \(|d|\leqslant s_0\).
    \(a_j=q_js_0+r_j, 0\leqslant r_j<s_0\). 显然 \(r_j=a_j-q_js_0\in S\), 则因为 \(s_0\) 是最小正整数, 只能有 \(r_j=0\). 故 \(s_0|a_j\), 即 \(s_0\) 是公因数.
    根据上面的 \(|d|\leqslant s_0\), 知 \(s_0=(a_1,\cdots,a_k)\). 证毕.

    这样我们就完成了对最大公因数理论的介绍.

  • 相关阅读:
    02-Maven安装配置
    01-Maven功能特点
    安装Jenkins服务
    Python操作Saltstack
    基于Python自动上传包到nexus仓库
    避免代码merge后无法构建发布(GItlabCI + Jenkins)
    SonarQube-Centos环境设置为系统服务
    SonarQube配置LDAP认证集成
    Centos7 搭建Go语言编译环境
    OpenShift-EFK日志管理
  • 原文地址:https://www.cnblogs.com/pjykk/p/15941561.html
Copyright © 2020-2023  润新知