近世代数--陪集--|左陪集|=|右陪集|

近世代数--陪集--|左陪集|=|右陪集|

博主是初学近世代数(群环域),本意是想整理一些较难理解的定理、算法,加深记忆也方便日后查找;如果有错,欢迎指正。
我整理成一个系列:近世代数,方便检索。

这里是陪集的一些先验知识,讲了陪集的定义,陪集是对群的一种划分,陪集可以推出子群和群的阶: ∣ H ∣ ∣ ∣ G ∣ |H|\mid |G| HG

  • 左陪集: a H = { a h ∣ h ∈ H } aH=\{ah|h\in H\} aH={ ahhH}
  • 所有左陪集: G / H = { a H ∣ a ∈ G } G/H=\{aH|a\in G\} G/H={ aHaG}
  • 右陪集: H b = { b h ∣ h ∈ H } Hb=\{bh|h\in H\} Hb={ bhhH}
  • 所有右陪集: H ∖ G = { H b ∣ b ∈ G } H\setminus G=\{Hb|b\in G\} HG={ HbbG}(这里的 ∖ \setminus 只是在此处表示所有右陪集的集合,通常来说,这是集合减的意思。)

证明:|左陪集|=|右陪集|

  • 找一个映射: G / H → H ∖ G , f ( a H ) = H a − 1 , a ∈ G G/H\rightarrow H\setminus G,f(aH)=Ha^{-1},a\in G G/HHGf(aH)=Ha1,aG

  • 证明映射:要证如果 a H = b H , a ∈ G , H ≤ G aH=bH,a\in G,H\le G aH=bH,a

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值