www涩-www黄网站-www黄色-www黄色com-国产免费拍拍视频在线观看网站-国产免费怕怕免费视频观看

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

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的乘法表為
大云網官方微信售電那點事兒

責任編輯:葉雨田

免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
?
主站蜘蛛池模板: 国产成人午夜精品免费视频| 成人欧美一区二区三区在线| 国产成年| 午夜私人影院免费体验区| 免费ab| 一级一黄在线观看视频免费| 美国毛片在线观看| 成人午夜久久精品| 日韩精品一区二区三区毛片| 成人性版蝴蝶影院污| 欧美国产精品亚洲精品第一区| 国产精品一| 无套内谢孕妇毛片免费看| 成人视视| 久久久久久久99久久久毒国产| 91手机看片国产福利精品| 欧美国产成人在线| 亚洲国产一区二区在线| 国产亚洲精品美女一区二区| 亚洲精品三级| v片视频| 精品毛片| 性夜黄a爽爽免费视频国产| 大伊香蕉精品视频在线观看| 久久久综合视频| 亚洲精品视频网| www日| 国产一区二区三区四区在线| 性生活免费视频网站| 91最新91精品91蝌蚪| 国内精品久久影院| 视频二区在线| 亚洲国产区| a毛片在线观看| 黄色毛片视频在线观看| 免费国产综合视频在线看| 在线中文字幕日韩| 国产成人mv在线观看入口视频| 精品一区二区久久| 日韩一区三区| 日韩国产在线|