群论 - Group Theory
群的定义
若非空集合\(G\)和定义在\(G\)上的二元运算\(⋅\)构成的代数结构\((G,⋅)\),满足:
- 封闭性:\(\forall a,b\in G\),有\(a⋅b\in G\)。
- 结合律:\(\forall a,b,c\in G\),有\((a⋅b)⋅c=a⋅(b⋅c)\)。
- 单位元:\(\exists e\in G\),满足\(\forall a\in G\)有\(a⋅e=a\)。
- 逆元:\(\forall a\in G\),\(\exists b\in G\)使得\(a⋅b=e\),记\(a^{-1}=b\)。
则代数结构\((G,⋅)\)是一个群(group)。
常见的群有:整数、有理理数、实数加法群;模\(n\)意义下的加法群;模\(n\)意义下与\(n\)互质的数构成的乘法群;置换群,群的元素是一个双射\(f\),运算为映射的复合。
拉格朗日定理
对于群\((G,⋅)\),若有\(G'\subset G\)且\((G',⋅)\)也是群,则有\(|G|\)是\(|G'|\)的倍数。
证明:
记\(G_a\)表示集合\(G\)的陪集\(\{x⋅a|x\in G\}\),那么易知\(|G_a|=|G|\)。
对于\(a,b\in G\),若有\(G'_a\cap G'_b \neq \emptyset\),则\(\exists x,y\in G'\)满足\(x⋅a=y⋅b ⇔ a=x^{-1}⋅y⋅b\)。
那么\(\forall z\in G'\),有\(z⋅a=z⋅(x^{-1}⋅y⋅b)=(z⋅x^{-1}⋅y)⋅b\)。易知\(z⋅x^{-1}⋅y \in G'\),所以\(G'_a\)中的每一个元素都存在于\(G'_b\)中,即\(G'_a=G'_b\)。
于是可知\(G'\)的陪集之间只有两种关系,互不相交或完全相同。而由于\(e\in G'\),所以\(G'\)的所有陪集的并就是\(G\)。又由于陪集的大小等于原集合,所以\(|G|\)是\(|G'|\)的倍数。
由拉格朗日定理可以推出欧拉定理\(a^{\varphi(m)} \equiv 1 \pmod m\)。
证明:
设集合\(S=\{a_1,a_2,...,a_{\varphi(n)}\}\),其中\(gcd(a_i,n)=1\)。\(S\)与模乘法形成的代数结构\((S,\times)\)是群。
那么设\(S_i=\{1,a_i,a_i^2,a_i^3...\}\),易知\((S_i,\times)\)是\((S,\times)\)的子群,即\(|S_i||\varphi(n)\)。而\(a_i^{|S_i|}\equiv 1\),所以\(a_i^{\varphi(n)}\equiv 1\)。
Burnside引理
如果对于\(x,y\in M\),\(∃f\in G\)使得\(f(x)=y\),那我们就称\(x\)和\(y\)是本质相同的。定义集合\(M\)关于置换群\(G\)的轨道数为\(M\)中本质不同的元素个数。
若对于\(x\in M\)和置换\(f\)有\(f(x)=x\),则称\(x\)是\(f\)的一个不动点。
集合\(M\)关于置换群\(G\)的轨道数,等于\(G\)中每个置换下不动点的个数的算术平均数。
Polya定理
每一个置换都可以表示成若干个轮换。轮换中的元素互相交换且不影响该轮换外的元素。例如\(f=\begin{pmatrix}1&2&3&4&5&6\\2&1&4&6&5&3\end{pmatrix}\)就是\(\{1,2\},\{3,4,6\},\{5\}\)的轮换,其轮换数为\(3\)。记\(c(f)\)为置换\(f\)的轮换数。
设\(G\)是\(n\)个对象的一个置换群,用\(m\)种颜色为这\(n\)个对象上色,则本质不同的染色方案数为\(\dfrac{\sum_{f\in G}m^{c(f)}}{|G|}\)。
其实Polya定理就相当于说置换\(f\)的不动点个数为\(m^{c(f)}\)。因为每个轮换必须填相同颜色才能在经过\(f\)后保持不变,所以不动点个数为\(m^{c(f)}\)。
群论 - Group Theory的更多相关文章
- Mathematics for Computer Graphics数学在计算机图形学中的应用 [转]
最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Gra ...
- How to do Mathematics
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:匿名用户链接:http://www.zhihu.com/question/30087053/answer/47815698来源 ...
- Mathematics for Computer Graphics
Mathematics for Computer Graphics 最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=105 ...
- 采用梯度下降优化器(Gradient Descent optimizer)结合禁忌搜索(Tabu Search)求解矩阵的全部特征值和特征向量
[前言] 对于矩阵(Matrix)的特征值(Eigens)求解,采用数值分析(Number Analysis)的方法有一些,我熟知的是针对实对称矩阵(Real Symmetric Matrix)的特征 ...
- MIT一牛人对数学在机器学习中的作用给的评述
MIT一牛人对数学在机器学习中的作用给的评述 转载自http://my.oschina.net/feedao/blog/52252,不过这个链接也是转载的,出处已经无从考证了. 感觉数学似乎总是不 ...
- A Survey of Model Compression and Acceleration for Deep Neural Network时s
A Survey of Model Compression and Acceleration for Deep Neural Network时s 本文全面概述了深度神经网络的压缩方法,主要可分为参数修 ...
- <STL源码剖析> 6.3.6 power
计算power的算法说明 http://www.sxt.cn/u/324/blog/2112 翻译自 http://videlalvaro.github.io/2014/03/the-power-a ...
- Baby-step giant-step算法
写在前面: 学习笔记,方便复习,学习资料来自网络,注明出处 我们都在努力奔跑,我们都是追梦人 结论 In group theory, a branch of mathematics, the baby ...
- I am Nexus Master!(虽然只是个模拟题。。。但仍想了很久!)
I am Nexus Master! The 13th Zhejiang University Programming Contest 参见:http://www.bnuoj.com/bnuoj/p ...
随机推荐
- Ubuntu下编译C++ OpenCV程序并运行
因为想试跑yolov3的缘故,所以装了ubuntu系统,直接通过U盘装的,并不像他们说的“折腾”,反而一切非常顺利,比装软件还简单.然后就是要用C++跑opencv的程序用于比赛,出于 ...
- 团队作业-Beta冲刺(周三)
这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1 这个作业要求在哪里 https://edu.cnblo ...
- Spring boot 集成ActiveMQ(包含双向队列实现)
集百家之长,成一家之言. 1. 下载ActiveMQ https://mirrors.tuna.tsinghua.edu.cn/apache/activemq/5.15.9/apache-activ ...
- 【转】 树莓派初次启动攻略for Mac
http://blog.csdn.net/rk2900/article/details/8632713/ 树莓派初次启动攻略for Mac made by Rk 感谢浙江大学<嵌入式系统> ...
- Ubuntu下命令行访问网站
第一步,需要安装一个名为w3m的软件工具,打开终端,输入如下命令 sudo apt-get install w3m 第二步,安装好w3m之后,在终端里面启动w3m,打开一个网址,比如w3m www ...
- 用户价值模型 CITE :https://www.jianshu.com/p/34199b13ffbc
RFM用户价值模型的原理和应用 ▌定义 在众多的用户价值分析模型中,RFM模型是被广泛被应用的:RFM模型是衡量客户价值和客户创利能力的重要工具和手段,在RFM模式中,R(Recency)表示客户购 ...
- C# 使用Epplus导出Excel [4]:合并指定行
C# 使用Epplus导出Excel [1]:导出固定列数据 C# 使用Epplus导出Excel [2]:导出动态列数据 C# 使用Epplus导出Excel [3]:合并列连续相同数据 C# 使用 ...
- module.exports exports 和export export default
首先可以知道的是这是两组不同模块规范. module.exports 是CommonJS模块规范,通过require 导入 a.js: var x = 'hello' module.exports.x ...
- C++ 学习笔记(一) cout 与printf 的不同之处
作为一个嵌入式开发的猿,使用打印调试程序是必不可少的,拿到新的项目第一件事就是捣鼓打印.这次也不例外有打印才有耍下去的底气.在之前零零碎碎的C++学习中,还是一边学一边做项目的状态下能用printf解 ...
- Java 的Throwable、error、exception的区别
1. 什么是异常? 异常本质上是程序上的错误,包括程序逻辑错误和系统错误.比如使用空的引用(NullPointerException).数组下标越界(IndexOutOfBoundsException ...