群论 - 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 ...
随机推荐
- EF6.0注意事项
EF6 1.必须要添加Entitiframework 2.必须要添加必须要添加Entitiframework.Sqlserver 3.单元测试一定要有配置文件里面一定要有连接字符串和初始化配置文件节点 ...
- 如何从Ubuntu 16.04 LTS升级到Ubuntu 18.04 LTS
可以说非常简单(假设过程顺利!!) 您只需打开Software&Update,进入"Updates"选项卡,然后从“有新版本时通知我”下拉菜单中选择“适用长期支持版”选项. ...
- 2018.3.12 Leecode习题 给定一个整数数列,找出其中和为特定值的那两个数。
给定一个整数数列,找出其中和为特定值的那两个数. 你可以假设每个输入都只会有一种答案,同样的元素不能被重用. 示例: 给定 nums = [2, 7, 11, 15], target = 9; 因为 ...
- linux文本处理工具及正则表达式
cat命令:查看文本内容 cat [选项]... [文件]... -E 显示行结束符 -n 显示文本内容时显示行号 -A 显示所以控制符 -b 非空行编号 -s 压缩连 ...
- Unity3d 中键值监听方法
unity3d的api中没有负责监听键值的方法,不过unity的input类是通过c#类获取各类监听事件,所以我们可以通过c#类监听,方法如下: void OnGUI() { Event e = Ev ...
- UIPopoverController
if (popOver == nil) { popOver = [[UIPopoverController alloc] initWithContentViewController:viewVC]; ...
- MySQL的GTID复制与传统复制的相互切换
MySQL的GTID复制与传统复制的相互转换 1. GTID复制转换成传统复制 1.1 环境准备 1.2 停止slave 1.3 查看当前主从状态 1.4 change master 1.5 启动主从 ...
- 解析Vue.js中的computed工作原理
我们通过实现一个简单版的和Vue中computed具有相同功能的函数来了解computed是如何工作的.写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指 ...
- PHP函数详解:call_user_func()使用方法
call_user_func函数类似于一种特别的调用函数的方法,使用方法如下: <?php function nowamagic($a,$b) { echo $a; echo $b; } cal ...
- R-data.table
data.table可以扩展和增强data.frame的功能,在分组操作和组合时访问速度更快. require(data.table) theDT = data.table(A=1:10, B=let ...