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

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

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

首先我们需要明确公因数的定义.
设有 a1,,an, 若 d|a1,,d|an, 称 da1,,an 的公因数.
我们记这些公因数组成的集合为 D(a1,,an).
自然地, 我们定义这些数的公因数中最大的一个为最大公因数, 记作 (a1,,an).
特别地, 若 (a1,,an)=1, 称这些数互素.
根据定义,有 (a1,,an)=max(d:dD(a1,,an)).
下面我们给出一些简单的性质.
1. (a1,a2)=(a2,a1)=(a1,a2)=(|a1|,|a2|)
2. a1|aj(2jn)(a1,,an)=|a1|
3. (a1,a2)=(a1,a2,a1x)
4. (a1,a2)=(a1,a2+a1x)
5. (p,a1)={p,p|a11,pa1
6. D(a1,,an)=D(a:a=a1x1++anxn)

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

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

简单讨论完了最大公因数, 接下来我们来讨论最小公倍数.
设有 a1an0, 若有 a1|l,,an|l,la1,,an 的公倍数.
我们记这些公倍数组成的集合为 L(a1,,an).
我们定义这些数的正公倍数中最小的一个为最小公倍数, 记作 [a1,,an].
相对来说, 最小公倍数的性质没有最大公因数那么好. 但是我们仍然有下面的结论:
9. [a1,a2]=[a2,a1]=[a1,a2]=[|a1|,|a2|]
10. aj|a1(2jn)[a1,,an]=|a1|
11. d|a1[a1,a2]=[a1,a2,d]
12. [ma1,,man]=m[a1,,an]

性质9和11在一般情况下同样成立. 这些性质的证明和最大公因数对应性质类似, 我们这里只对性质12进行证明.
证明: 记 L=[ma1,,man],l=[a1,,an].
一方面有 maj|Laj|(L/m)l(L/m)mlL,
另一方面有 aj|lmaj|mlLml.
L=ml, 证毕.

2. 辗转相除法#

在对最大公因数进行进一步讨论之前, 我们先介绍一下辗转相除法这一工具.
设有 u0,u1u10. 我们重复应用带余除法:
u0=q0u1+u2,0<u2<|u1|u1=q1u2+u3,0<u3<u2uk1=qk1uk+uk+1,0<uk<uk1uk=qkuk+1,0<uk+1<uk
注意到|u1|>u2>>uk>uk+1>0, 则该过程必会停止, 不会无限重复下去.
有了辗转相除法, 我们可以推知以下结论:
1. (u0,u1)=(u1,u2)==(uk,uk+1)=uk+1
2. d|u0,d|u1d|(u0,u1)
3. x0,x1 使 u0x0+u1x1=(u0,u1)

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

3. 最大公因数理论#

在这一章, 我们对最大公因数理论进行收尾. 我们会给出8个最大公因数的重要性质, 并证明之.
根据二潘初等数论的介绍, 我们实际上有3种方法来建立这套理论. 我们这里只选取最简单的一种 (只用到整除, 带余除法和之前介绍过的一些最大公因数的性质), 其他的方法可以到原书进行了解.
首先给出定理内容: (注: 为了方便, 我们用 aj 来表示每一个 a, 就不写范围了)
1. aj|c[a1,,ak]|c
2. D=(a1,,ak)D|aj;d|ajd|D
3. m(b1,,bk)=(mb1,,mbk)
4. (a1,,ak)=((a1,a2),a3,,ak) 推论: (a1,,ak)=((a1,,al),(al+1,,ak))
5. (m,a)=1(m,ab)=(m,b)
6. (m,a)=1,m|abm|b 推论: (m1,m2)=1,m1|n,m2|nm1m2|n
7. [a1,a2](a1,a2)=|a1a2|
8. (a1,,ak)=min(s:s=a1x1++akxk,s>0) 推论: x1,,xk 使 a1x1++akxk=(a1,,ak)

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

性质1: 设 L=[a1,,ak].
必要性: L|c,aj|Laj|c, 证毕.
充分性: 设 c=ql+r,0r<L. 则 aj|c,aj|Laj|r, 即 r 为一个公倍数. 但又有 r<L, 则只能有 r=0. 故 L|c, 证毕.
实际上性质1就是说公倍数是最小公倍数的倍数.

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

性质3:
考虑运用上面的性质1.8. 令 aj=mbj. 有 m(b1,,bk)=m(a1/m,,ak/m).
但是为了能利用上面的性质, 我们还要满足 m|(a1,,an) 这个前提. 注意到 m|aj, 则运用性质2有 m|(a1,,ak). 这样条件满足了.
m(a1/m,,ak/m)=(a1,,ak)=(mb1,,mbk). 证毕.
实际上性质1.8与性质3就差在了性质2上.

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

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

性质6:
|m|=(m,ab)=(m,b)m|b. 证毕. (这里主要运用了性质5)
更常用的是推论. 证明如下:
m1|nn=km1m2|km1m2|km1m2|m1km1m2|n. 证毕.

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

性质8:
我们利用性质 2.1.6. 记 S={s|s=a1x1++akxk}. 显见 0<a12++ak2S, 则 S 中有正整数. 令其中最小的正整数为 s0.
取任一公因数 d|aj, 根据整除性质有 d|s0, 则 |d|s0.
aj=qjs0+rj,0rj<s0. 显然 rj=ajqjs0S, 则因为 s0 是最小正整数, 只能有 rj=0. 故 s0|aj, 即 s0 是公因数.
根据上面的 |d|s0, 知 s0=(a1,,ak). 证毕.

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

作者:pjykk

出处:https://www.cnblogs.com/pjykk/p/15941561.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   pjykk  阅读(1019)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示