https://en.wikipedia.org/wiki/Congruence_relation

https://zh.wikipedia.org/wiki/%E5%90%8C%E9%A4%98%E9%97%9C%E4%BF%82

数学特别是抽象代数中,同余关系或简称同余是相容于某个代数运算的等价关系

目录

模算术

元型例子是模算术:对于一个正整数n,两个整数ab被称为同余模n,如果a − b整除于n(还有一个等价的条件是它们除以n得出同样的余数)。

例如,5和11同余模3:

11 ≡ 5 (mod 3)

因为11 − 5得出6,它整除于3。或者等价的说,这两个数除以3得到相同的余数:

11 = 3×3 + 2
5 = 1×3 + 2

如果 a 1 ≡ b 1 ( mod n ) {\displaystyle a_{1}\equiv b_{1}{\pmod {n}}} 并且 a 2 ≡ b 2 ( mod n ) {\displaystyle a_{2}\equiv b_{2}{\pmod {n}}} ,则 a 1 + a 2 ≡ b 1 + b 2 ( mod n ) {\displaystyle a_{1}+a_{2}\equiv b_{1}+b_{2}{\pmod {n}}} 并且 a 1 a 2 ≡ b 1 b 2 ( mod n ) {\displaystyle a_{1}a_{2}\equiv b_{1}b_{2}{\pmod {n}}} 。这把同余(mod n)变成了在所有整数的环上的一个等价。

线性代数

两个实数矩阵AB被称为合同的,如果存在可逆实数矩阵P使得

P ⊤ A P = B {\displaystyle P^{\top }AP=B}

对称矩阵有实数特征值。对称矩阵的“惯性”是由正特征值的数目、零特征值的数目和负特征值的数目组成的三元组。Sylvester惯性定律声称两个对称实数矩阵是合同的,当且仅当它们有相同的惯性。所以,全等变换可以改变矩阵的特征值但不能改变特征值的符号。

对于复数矩阵,必须区分“T合同”(ABT合同,如果有可逆矩阵P使得PTAP = B)和“*合同”(AB是*合同,如果有可逆矩阵P使得P*AP = B)。

泛代数

想法是推广到泛代数中:代数A上的同余关系是直积A×A子集,它既是在A上的等价关系又是A×A子代数

同态总是同余。实际上,所有同余引起自核。对于给定在A上的同余~,等价类的集合A/~可以自然的方式给出自代数的结构商代数。映射所有A的元素到它的等价类的函数是同态,这个同态的核是~。

在一个代数上的所有同余关系的代数格

群的同余、正规子群和理想

的特殊情况下,同余关系可以用基本术语描述为:如果G是群(带有单位元e)并且~是在G上的二元关系,则~是同余只要:

  1. 给定G任何元素aa ~ a自反关系)。
  2. 给定G任何的元素ab如果a ~ b,则b ~ a对称关系)。
  3. 给定G的任何元素a,bc,如果a ~ b 并且b ~ c,则a ~ c传递关系)。
  4. 给定G的任何元素a,a',bb' ,如果a ~ a' 并且b ~ b' ,则a * b ~ a' * b'
  5. 给定G的任何元素aa' ,如果a ~ a' ,则a−1 ~ a' −1(这个条件可以从其他四个条件证明,所以严格上是冗余的)。

条件1, 2和3声称~是等价关系

同余~完全确定自G的同余于单位元的那些元素的集合{aG : a ~ e},而这个集合是正规子群。特别是,a ~ b当且仅当b−1 * a ~ e。所以替代谈论在群上同余,人们通常以正规子群的方式谈论它们;事实上,所有同余都唯一的对应于G的某个正规子群。

环理想和一般情况的核

类似的技巧允许谈论环中的核为理想来替代同余关系,在模理论中为子模来替代同余关系。

这个技巧不适用于幺半群,所以同余关系的研究在幺半群理论扮演更中心的角色。

=============================

同余运算及其基本性质

100除以7的余数是2,意思就是说把100个东西七个七个分成一组的话最后还剩2个。余数有一个严格的定义:假如被除数是a,除数是 b(假设它们均为正整数),那么我们总能够找到一个小于b的自然数r和一个整数m,使得a=bm+r。这个r就是a除以b的余数,m被称作商。我们经常用 mod来表示取余,a除以b余r就写成a mod b = r。
    如果两个数a和b之差能被m整除,那么我们就说a和b对模数m同余(关于
m同余)。比如,100-60除以8正好除尽,我们就说100和60对于模数8同余。它的另一层含义就是说,100和60除以8的余数相同。a和b对m同
余,我们记作a≡b(mod m)。比如,刚才的例子可以写成100≡60(mod 8)。你会发现这种记号到处都在用,比如和数论相关的书中就经常把a
mod 3 = 1写作a≡1(mod 3)。
    之所以把同余当作一种运算,是因为同余满足运算的诸多性质。比如,同余满足等价关系。具体地说,它满足自反性(一个数永远和自己同余)、对称性(a和b同余,b和a也就同余)和传递性(a和b同余,b和c同余可以推出a和c同余)。这三个性质都是显然的。
    同
余运算里还有稍微复杂一些的性质。比如,同余运算和整数加减法一样满足“等量加等量,其和不变”。小学我们就知道,等式两边可以同时加上一个相等的数。例
如,a=b可以推出a+100=b+100。这样的性质在同余运算中也有:对于同一个模数m,如果a和b同余,x和y同余,那么a+x和b+y也同余。在
我看来,这个结论几乎是显然的。当然,我们也可以严格证明这个定理。这个定理对减法同样有效。

性质:如果a≡b(mod m),x≡y(mod m),则a+x≡b+y(mod m)。
    证
明:条件告诉我们,可以找到p和q使得a-mp = b-mq,也存在r和s使得x-mr = y-ms。于是a-mp + x-mr = b-mq +
y-ms,即a+x-m(p+r) = b+y-m(q+s),这就告诉我们a+x和b+y除以m的余数相同。

容易想到,两个同余式对应相乘,同余式两边仍然相等:
    如果a≡b(mod m),x≡y(mod m),则ax≡by(mod m)。
    证明:条件告诉我们,a-mp = b-mq,x-mr = y-ms。于是(a-mp)(x-mr) = (b-mq)(y-ms),等式两边分别展开后必然是ax-m(…) = by-m(…)的形式,这就说明ax≡by(mod m)。

现在你知道为什么有的题要叫你“输出答案mod xxxxx的结果”了吧,那是为了避免高精度运算,因为这里的结论告诉我们在运算过程中边算边mod和
算完后再mod的结果一样。假如a是一个很大的数,令b=a mod m,那么(a * 100) mod m和(b * 100) mod
m的结果是完全一样的,这相当于是在a≡b (mod
m)的两边同时乘以100。这些结论其实都很显然,因为同余运算只关心余数(不关心“整的部分”),完全可以每一次运算后都只保留余数。因此,整个运算过
程中参与运算的数都不超过m,避免了高精度的出现。

在证明Fermat小定理时,我们用到了这样一个定理:
    如果ac≡bc(mod m),且c和m互质,则a≡b(mod m) (就是说同余式两边可以同时除以一个和模数互质的数)。
    证明:条件告诉我们,ac-mp = bc-mq,移项可得ac-bc = mp-mq,也就是说(a-b)c = m(p-q)。这表明,(a-b)c里需要含有因子m,但c和m互质,因此只有可能是a-b被m整除,也即a≡b(mod m)。

可能以后还要用到更多的定理,到时候在这里更新。

Matrix67原创
转贴请注明出处

===================================

https://market.cloud.edu.tw/content/senior/math/tn_t2/math05/math_magic/1/1-2.htm

Congruence relation 同余关系的更多相关文章

  1. In abstract algebra, a congruence relation (or simply congruence) is an equivalence relation on an algebraic structure (such as a group, ring, or vector space) that is compatible with the structure in

    https://en.wikipedia.org/wiki/Congruence_relation In abstract algebra, a congruence relation (or sim ...

  2. lucas定理,组合数学问题

    对于C(n, m) mod p.这里的n,m,p(p为素数)都很大的情况.就不能再用C(n, m) = C(n - 1,m) + C(n - 1, m - 1)的公式递推了. 这里用到Lusac定理 ...

  3. OI不得不知的那些数学定理

    Binomial theorem One can define\[{r \choose k}=\frac{r\,(r-1) \cdots (r-k+1)}{k!} =\frac{(r)_k}{k!}\ ...

  4. [转]组合数取模 Lucas定理

    对于C(n, m) mod p.这里的n,m,p(p为素数)都很大的情况.就不能再用C(n, m) = C(n - 1,m) + C(n - 1, m - 1)的公式递推了. 这里用到Lusac定理 ...

  5. ASCII 码对应表

    Macron symbol ASCII CODE 238 : HTML entity : [ Home ][ español ] What is my IP address ? your public ...

  6. C#版(击败100.00%的提交) - Leetcode 372. 超级次方 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...

  7. Category Theory: 01 One Structured Family of Structures

    Category Theory: 01 One Structured Family of Structures 这次看来要放弃了.看了大概三分之一.似乎不能够让注意力集中了.先更新吧. 群的定义 \( ...

  8. 模反元素 RSA Euler's totient function

    https://baike.baidu.com/item/模反元素/20417595 如果两个正整数a和n互质,那么一定可以找到整数b,使得 ab-1 被n整除,或者说ab被n除的余数是1.这时,b就 ...

  9. 【BZOJ 1272】 1272: [BeiJingWc2008]Gate Of Babylon (容斥原理+卢卡斯定理)

    1272: [BeiJingWc2008]Gate Of Babylon Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 254  Solved: 12 ...

随机推荐

  1. SQLITE配置环境变量

      SQLITE配置环境变量和Java的配置其实是一样的,不过好像每个人配的时候不完全相同, 有的机器可以,另外一些机器同样的方法却行不通,总之思路是一样的多试几种,总有合适的参数 下面是我在配置时截 ...

  2. redis参数优化

    redis内存管理方式,支持tcmalloc,jemalloc,malloc三种内存分配,memcache使用slabs,malloc等内存分配方式. 简单点,就是redis,是边用边申请,使用现场申 ...

  3. IE10、IE11 User-Agent 网站无法写入Cookie 问题[转]

    你是否遇到过当使用一个涉及到Cookie操作的网站或者管理系统时,IE 6.7.8.9下都跑的好好的,唯独到了IE10.11这些高版本浏览器就不行了?好吧,这个问题码农连续2天内遇到了2次.那么,我们 ...

  4. 连接到Windows Azure Point to Site VPN

    Windows Azure支持两种模式的VPN接入: Site to Site,接入端需要有固定的公网IP地址,用于连接局域网和Windows Azure的虚拟网络. Point to Site,客户 ...

  5. VIJOS P1037搭建双塔[DP]

    描述 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难.为了纪念“9?11”事件,Mr. F决定自己用水晶来搭建一座双塔. Mr. F有N块水晶,每块 ...

  6. 另类Unity热更新大法:代码注入式补丁热更新

    对老项目进行热更新 项目用纯C#开发的? 眼看Unity引擎热火朝天,无数程序猿加入到了Unity开发的大本营. 一些老项目,在当时ulua/slua还不如今天那样的成熟,因此他们选择了全c#开发:也 ...

  7. Unity游戏暂停之Update与FixedUpdate区别

    游戏暂停 示例程序 下面这段代码演示游戏暂停 using UnityEngine; using System.Collections; public class GamePauseTest : Mon ...

  8. LESS速查

    注释 缓存式注释/*注释内容*/  非缓存式注释//注释内容 变量 @nice-blue: #5B83AD; @light-blue: @nice-blue + #111; #header { col ...

  9. java 22 - 7 多线程之控制线程的方法

    线程休眠(让线程休息一会再运行) public static void sleep(long millis) 在自定义线程类中添加该方法. 更改后,运行测试类,结果就是每执行完一轮,就休息1秒(这里设 ...

  10. 从零开始学CSRF

    为什么要拿CSRF来当"攻击手法系列"的开头篇呢?因为CSRF/XSRF我个人喜爱他的程度已经超过XSS了.如果说XSS是一个老虎,那么CSRF就是隐藏在暗处的蛇. 相信现在很多人 ...