亚洲an日韩专区在线-亚洲an天堂an在线观看-亚洲a区视频-亚洲a图-免费黄网大全-免费黄网在线

檢驗有限集合及其二元運算是否構成群的程序

2014-10-07 15:04:15 大云網  點擊量: 評論 (0)
摘 要:利用C語言編制程序檢驗有限集合及其上二元運算是否適合結合律,是否存在單位元,每一個元是否存在逆元,從而快速檢查一個有限集合對所給二元運算是否成一個群。關鍵詞:有限群 結合律 左單位元 左逆元 
摘 要:利用C語言編制程序檢驗有限集合及其上二元運算是否適合結合律,是否存在單位元,每一個元是否存在逆元,從而快速檢查一個有限集合對所給二元運算是否成一個群。
關鍵詞:有限群 結合律 左單位元 左逆元 程序

     在半群論、群論的研究中,經常需要構造反例以支持研究,這就面臨著檢驗對集合特別是有限集合規定的代數運算是否滿足構成半群或群的條件,其中結合律的檢驗尤為繁瑣,對含有N個元的集合,就結合律需檢驗個式子,每個式子又需進行四次二元運算;雖然對于階數不高于20的群的個數和種類已完全得到[1]:
階數 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
群數 1 1 1 2 1 2 1 5 2 2 1 5 1 2 1 14 1 5 1 5
 
但在實際構建階數不大于20的群時,仍需與已知的群建立同構映射;因而可借助編制程序利用計算機進行快速檢驗;本文通過用數字字符代替字母字符,將文[2]最多可檢驗含有65536個元的有限集合擴展為任意有限集合。
 
1 預備知識
定義2.1[3]  群的第二定義
一個不空集合G對于一個叫做乘法的代數運算來說作成一個群,假如
I,G對于乘法來說是封閉的;
II,結合律成立:a(bc)=(ab)c
對于G的任意三個元a,b,c都對;
III,G里至少存在一個左單位元e,能讓
             ea=a
對于G中的任何元a都成立;
IV,對于G的每一個元a,在G里至少存在一個左逆元,能讓
            =
定義2.2[3]  有限群的另一定義    
  一個有乘法的有限不空集合G作成一個群,假如
Ⅰ、G對于這個乘法來說是閉的;
Ⅱ、結合律成立:
                      
對于G的任意三個元、、都成立;
    Ⅲ、消去律成立:
             
                                 
2 程序
    對于一個有限集合來說:如果利用有限群的另一定義來判斷所給的有限集合及其代數運算是否構成群:封閉性的檢驗很簡單,只需觀察所給的運算表中沒有新元素出現即可,如果有新元素出現則不滿足封閉性,反之則滿足封閉性;對于消去律的驗證,只需觀察集合A中的所有元素都出現在所給的運算表中每行每列,因而只需檢驗結合律是否成立;但對于一個給定的階數很大的群,在判斷消去律的時候就會顯得麻煩。這時依據群的第二定義檢驗有限集合及其上二元運算是否構成群,可利用計算機的方法檢驗結合律是否成立及左單位元,左逆元的存在性。下面,筆者給出利用C語言編制的檢驗程序。
2.1 結合律及左單位元的檢驗程序
#include <stdio.h>
#define N 100
int  f( int  m, int  n, int  b[N][N] )
{ return  b[m][n];  }
int  g( int  m, int  n, int  a[N], int  b[N][N] )
{ int  k, t=-1;
for(k=0; k<N; k++ )
if ( a[k]==f(m, n, b))
{  t=k;  break;  }
return t ;
}
getdata(int  a[N], int  b[N][N], int  n )
{int  i, j;
i=0; j=0;
printf( "n Enter the elements of set A:n");
for(i=0;i<n;i++)
  scanf("%d",&a[i]);
printf("n Enter the elements of matrix B:n");
for(i=0;i<n;i++)
  for(j=0;j<n;j++)  scanf("%d",&b[i][j]);
printf( "n" );
return;
void check(int  a[N], int  b[N][N], int  n)
{ int  i, j, k, s=0;
for( i=0; i<n; i++ )
  if ( s==1)  break;
  else
for( j=0; j<n; j++)
     if (s==1) break;
         else  
for( k=0; k<n; k++)
             if (f(g(i,j,a,b),k,b)!=f (i,g(j,k,a,b),b))
{ s=1;
printf("NO!n");
printf("%2c%2c%2c",a[i],a[j],a[k]);
printf("n");
break;
}
if ( s==0 )  printf( "YES!n");
   return;
}
main()
{int  i, j, n,t=0,a[N], b[N][N];
do
{  printf("n Enter the data n:  " );
scanf("%d",&n);
}while(n<=0||n>N);
getdata( a, b, n);
check(a, b, n);
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
if(b[i][j]==a[j])
{printf("%d",a[i]);
t++;}
}
printf("%4dn",t);
return;
}
2.2 左逆元的檢驗程序
#include <stdio.h>
#define  N   100
main()
int i,j,n,s,m,a[N],b[N][N];
printf("n Enter the leftidentity m:n");
scanf("%d",&m);
do
{printf("n Enter the data n: ");
scanf("%d",&n);
}while(n<=0||n>N); 
printf("n Enter the elements of set A:n");
for(i=0;i<n;i++)
  scanf("%d",&a[i]);
printf("n Enter the elements of matrix B:n");
for(i=0;i<n;i++)
  for(j=0;j<n;j++)  scanf("%d",&b[i][j]);
printf("n");
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
if(b[j][i]==m){
    s=0;
break;
  }
else s=1;
 }
if(s==0)
    printf("Yes!n");
    else
    printf("No!n");
}
   在檢驗過程中,需將運算表輸入,輸入的過程即可檢驗封閉性,因而本程序沒有對封閉性檢驗的過程。
 
3 實例檢驗
  設集合A中包含e,a,b,c,d,f六個元.A的乘法由下表規定:
 
  e a b c d f
e e a b c d f
a a e d f b c
b b f e d c a
c c d f e a b
d d c a b f e
f f b c a e d
 
試驗證集合A對于該乘法來說是否作成群.
    說明:由于本文中的程序僅對所給有限集A中的元為數字時能正常運行.若對于所給有限集A中的元為其外的字母或符號時,須先對其做一個替換.
在利用程序檢驗前,先做如下替換:分別用1,2,3,4,5,6代替字母e,a,b,c,d,f.則A的乘法表為
大云網官方微信售電那點事兒

責任編輯:葉雨田

免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
?
主站蜘蛛池模板: 久久国产精品久久久 | 黄影院 | 男人和女人的做刺激性视频 | 特级毛片aaa免费版 特级毛片a级毛免费播放 | 欧美成人三级视频 | 亚洲精品视 | 日韩视频一区二区三区 | 亚洲天堂网在线观看视频 | 九九视频在线观看6 | 一道精品视频一区二区三区图片 | 男女视频免费看 | 在线看免费观看韩国特黄一级 | 成人亚洲精品777777 | 高清一区二区三区免费 | 3至13呦女毛片 | 美女一级毛片免费观看 | 91刘亦菲精品福利在线 | 找个毛片看看 | 亚洲在线免费观看 | 成人性动漫高清免费观看网址 | 一本久道久久综合婷婷 | 国产亚洲毛片在线 | 久香草视频在线观看 | 一级欧美在线的视频 | 美日韩一区二区三区 | 久久91精品国产91久久户 | 看片亚洲 | 欧美成人午夜免费完成 | 九九九免费视频 | 日韩欧美理论 | 男人的天堂在线观看免费 | 91成人免费在线视频 | 在线日韩欧美一区二区三区 | 中文字幕一区二区三区视频在线 | 国产成人不卡亚洲精品91 | 亚洲一区浅井舞香在线播放 | 色综合久久88中文字幕 | 国产夫妇肉麻对白 | 久久在线一区 | 欧美视频一区二区三区四区 | 久草视频资源在线 |