陪集分解的几个简单应用

定理    设$G$为有限群,$A,B\leq G$,则:

(1)$|AB|=\frac{|A|\cdot|B|}{|A\cap B|}$;

(2)若$A\leq B\leq G$,则$[G:A]=[G:B]\cdot[B:A]$;

(3)$[G:A\cap B]\leq[G:A]\cdot[G:B]$.进而若$[G:A],[G:B]$互素,则$[G:A\cap B]=[G:A]\cdot[G:B]$且$AB=G$.

证明    (1)先来考虑$AB$,他是一些陪集$Ab,b\in B$之并,首先由于$$Ab_1=Ab_2\Leftrightarrow b_1b_2^{-1}\in A\cap B$$若存在$a_1,a_2\in A$使得$a_1b_1=a_2b_2$,则$a_2^{-1}a_1=b_2b_1^{-1}\in A\cap B\Rightarrow Ab_1=Ab_2$.这说明上述陪集之并是无交并,且陪集个数为$\frac{|AB|}{|A|}$.注意到$A\cap B\leq B$,从而$B$也可以分解成$A\cap B$的陪集的无交并,且$\left(A\cap B\right)b_1=\left(A\cap B\right)b_2\Leftrightarrow b_1b_2^{-1}\in A\cap B$,这说明两个分解下陪集个数是一样的,根据Lagrange定理得$$\frac{|AB|}{|A|}=[B:A\cap B]=\frac{|B|}{|A\cap B|}\Rightarrow|AB|=\frac{|A|\cdot|B|}{|A\cap B|}$$(2)设$G=\bigcup_{i=1}^{m}Bg_{i}=\bigcup_{i=1}^{m}\bigcup_{j=1}^{n}Ab_{j}g_i$,而$Ab_jg_i=Ab_sg_t\Leftrightarrow b_jg_ig_t^{-1}b_{s}^{-1}\in A$,且若存在$a,a'\in A$使得$ab_jg_i=a'b_sg_t$,则$$b_jg_ig_t^{-1}b_s^{-1}=a^{-1}a'\in A\Rightarrow Ab_jg_i=Ab_sg_t$$这说明上述分解是无交并,因此$[G:A]=mn=[G:B]\cdot[B:A]$.

(3)由(2)仅需说明$[A:A\cap B]\leq[G:B]$,注意到$$(A\cap B)A\neq(A\cap B)a'\Leftrightarrow a'a^{-1}\notin A\cap B\Leftrightarrow a'a^{-1}\notin B\Leftrightarrow Ba'\neq Ba$$这说明$A\cap B$在$A$中的不同陪集,对应$B$在$G$的陪集也是不同的,因此$[A:A\cap B]\leq[G:B]$.

另一方面$[G:A\cap B]=[G:A]\cdot[A:A\cap B]$,因此$[G:A]\big|[G:A\cap B]$,同理$[G:B]\big|[G:A\cap B]$,而$[G:A],[G:B]$互素,因此$$\left([G:A]\cdot[G:B]\right)\big|[G:A\cap B]$$从而$[G:A]\cdot[G:B]=[G:A\cap B]$.

转载于:https://www.cnblogs.com/1036464679hxl/p/7791584.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#include using namespace std; //求G对应阶数的子群 int ziqun(int j) { int Jie =12/j; int i=0; int h[12]; for(;i<Jie;i++) { h[i]=i*j; } return h[12]; } //求出子群h的所有陪集,包括重复的 int peiji(int G[12],int h[12]) { int result[12][12]; int m=sizeof(h)/sizeof(h[0]); for(int i=0;i<12;i++) { for(int j=0;j<m;j++) { result[i][j] = mojia(h[j],G[j]); } } return result[12][12]; } //删减重复的陪集,得到最终陪集 int getPeiJi(int arr[12][12]) { int m=sizeof(arr[0]); int n=sizeof(arr); int len2=m/sizeof(int); int len1=n/m; int result[][] = new int[len1][len2]; int n=0; for(int i=0;i<len1;i++) { int temp[len2] = array[i]; bool flag = false; for(int j=i+1;j<len1;j++) { if(compare(temp[len2],array[j])) { flag = true; } } if(!flag) { result[n] = temp; n++; } } int newArr[][] = new int[n][len2]; for(int m=0;m<n;m++) { newArr[m]= result[m]; } return newArr[12][12]; } //打印出最终陪集 void printPeiJi(int newArr[][]) { int i=0 int j=0 int m=sizeof(newArr[0]); int n=sizeof(newArr); int len2=m/sizeof(int); int len1=n/m; //cout<<"陪集是:"<<endl; for(;i<len1<i++) { cout<<"h"<<i<<": {"; for(;j<len2;j++) { cout<<newArr[i][j]<<''; } cout<<"}"<<endl; } } //求划分,每个子群的陪集并集对应G的一个划分 void fenjie(int newArr[12][12]) //模加运算的定义 int mojia(int a,int b) { if(a<12&&b<12) return (a+b); else return null; } //比较两个数组内容是否完全相等 bool compare(int a[12],int b[12]) void main() { int G[12]={0,1,2,3,4,5,6,7,8,9,10,11};//G为给定群 int i=0; int N;//N为子群阶数 //int h1[12],h2[12],h3[12]; for(;i<6;i++) { cout<>N; cout<<N<<"阶子群的陪集是:"; printPeiJi(getPeiJi( peiji(G[12],ziqun(N)))); cout<<"对应G的配集分解为:"<<endl; fenjie(getPeiJi( peiji(G[12],ziqun(N)))); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值