<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
        版權申明:本文為博主窗戶(Colin Cai)原創,歡迎轉帖。如要轉貼,必須注明原文網址
      
         http://www.rzrgm.cn/Colin-Cai/p/18791060.html
      
        作者:窗戶
      
        QQ/微信:6679072
      
        E-mail:6679072@qq.com

      本節在上一節的基礎上,解釋循環群,Abel群,群同構,直積等概念,最終推導出給定階數的所有Abel群結構。

       

      循環群

      循環群是最簡單的群,$n$階循環群為$\{0,1,2...n-1\}$,符號記作$Z_n$,在此基礎上定義乘法:

      $a \cdot b = (a+b) \mod n$

      這個是不是看上去很像加法?嗯,叫加法還是叫乘法還是叫其他什么都不重要,性質才重要。

      此處的這個運算是可以交換的,也就是

      $a \cdot b = b \cdot a$

      在不引起誤解的情況下,我們習慣上把這個稱之為加法。

      符號上,既然叫了加法,我們用$\oplus$來代替$\cdot$。

      循環群就是$1$生成的群,

      $1 \oplus 1 = 2$

      $2 \oplus 1 = 3$

      $...$

      $(n-1) \oplus 1 = 0$

      在符號不會發生混亂的情況下,我們就用$a+b$來表示加法。

      加了一圈,得到了循環群里所有的元素,總共$n$個$1$相加得到$0$,顯然$0$是幺元。

      對于一個群里的元素$a$,如果$n$個$a$相乘(或相加)得到幺元,且$n$是滿足這一點的最小正整數,則稱$n$是$a$的周期

      注意,周期這個術語是對于所有的群,并非只對于循環群。

      此處,$n$是$1$的周期。

      其實,循環群的定義就是可以由一個元(也就是$1$)生成的群。

      對于有限循環群,那么就是存在某個元的周期等于階數的群。

      無限循環群則不是,$Z$覆蓋了所有整數,其群加法就是整數加法,幺元為$0$,生成元為$1$。

      對于這個生成元,或許有人會有疑問,無論多少個$1$加在一起也不會是負數啊,怎么可能所有的整數都由$1$生成呢。

      在此,我要聲明一下,逆元可以直接生成,所以$-1$可以由$1$生成,從而所有整數也都能生成了,此規則記住即可。

      容易證明,對于$Z_n$,任何小于$n$的正整數$m$,在該循環群里的周期為$[m,n]/m$,此處$[m,n]$為最小公倍數。

      所以,所有與n互質且小于n的正整數都可以是$Z_n$的生成元。

       

      Abel群

      Abel群即交換群,也就是滿足乘法交換律的群。

      也就是$<G,\cdot>$是Abel群是指

      $\forall a,b \in G, a \cdot b = b \cdot a$

      前面提到的循環群就是一種Abel群,那么,有不是循環群的Abel群嗎?

      我們來看2階循環群$Z_2$

      然后建立一個有4個元素的群

      $\{(0,0),(0,1),(1,0),(1,1)\}$

      其中乘法如下定義

      $(a,b) \cdot (c,d) = (a \cdot c, b \cdot d)$

      可以得知,$(0,0)$是該群的幺元,

      $(a,b) \cdot (0,0) = (a \cdot 0, b \cdot 0) = (a,b) = (0 \cdot a, 0 \cdot b) = (0,0) \cdot (a, b)$

      每個元的逆元是自身(源于$Z_2$的每個元逆元為自身),實際上

      $(a,b) \cdot (a,b) = (a \cdot a, b \cdot b) = (0,0)$

      很顯然也滿足乘法交換律

      $(a,b) \cdot (c,d) = (a \cdot c, b \cdot d) = (c \cdot a, d \cdot b) = (c,d) \cdot (a,b)$

      所以這是一個Abel群。

      然而,4階循環群$Z_4$里的$1$的周期為4,而這個群里除幺元外所有的元素周期都為2,顯然不是循環群。

      那么,有非交換群嗎?

      有的,我們給出以下6元群。

      $\{e,y,y^2,x,xy,xy^2\}$

      其中,

      $x^2=y^3=e$

      $yx=xy^2$

      生成乘法表如下

      \begin{matrix}
      \cdot& e & y & y^2 & x & xy & xy^2 \\
      e & e & y & y^2 & x & xy & xy^2 \\
      y & y & y^2 & e & xy^2 & x & xy\\
      y^2 & y^2 & e & y & xy & xy^2 & x\\
      x & x & xy & xy^2 & e & y & y^2\\
      xy & xy & xy^2 & x & y^2 & e & y\\
      xy^2 & xy^2 & x & xy & y & y^2 & e\\
      \end{matrix}

      可以驗證,上面是一個群,

      另外,這個乘法表的方陣并不是對稱方陣,也就是,它并不是Abel群。

      其實,這個群是階數最小的非交換群,它是一個二面體群,記作$D_3$,所謂$D_n$,是正$n$邊形的所有對稱映射構成的群,$D_3$就是正三角形的對稱映射群。

      對稱映射群,這個名字一下子不好理解,那就換個名字,就叫全等群。

      正n邊形和自身有多少種不同的全等?

      順時針方向:

      $S_{A_1,A_2,...A_n} \cong S_{A_1,A_2,...A_n}$

      $S_{A_1,A_2,...A_n} \cong S_{A_2,A_3,...A_n,A_1}$

      $...$

      $S_{A_1,A_2,...A_n} \cong S_{A_n,A_1,...A_{n-1}}$

      逆時針方向:

      $S_{A_1,A_2,...A_n} \cong S_{A_1,A_n,...A_2}$

      $S_{A_1,A_2,...A_n} \cong S_{A_2,A_1,A_n...A_3}$

      $...$

      $S_{A_1,A_2,...A_n} \cong S_{A_n,A_{n-1},...A_1}$

      總共$2n$個全等。

      另外,

      $D_3 \cong S_3$

      $S_3$是3階對稱群,也就是3個元素所有的置換組成的群。

       

      群同構

      一般群論教材里會先講群同態,再把群同構當成群同態的一種,其中可以引入同態定理,但那是一本正經的講法。

      我這里只是講個大致,所以同態我直接濾過了。

      其實同構才是拍下腦袋就能明白的東西,因為它實在太自然了。

      同構同構,顧名思義,就是同樣的結構。研究一個群,代表所有與之同構的群的性質。

      先看看數學符號,群$a$和群$b$同構記作$a \cong b$

      即便沒學過高等數學的中學生,也會知道這個符號在平面幾何、立體幾何里指圖形的全等,也就是性質完全一模一樣。

      我們以數學的直覺,來想想什么樣的兩個群稱為同構呢。

      群有兩個東西,一個是里面的元素集合,一個是構建在元素集合上的二元運算。

      我們甚至可以超越群的限制,想象一下什么叫$<G_1,f_1> \cong <G_2,f_2>$,

      其中,$f_1$是集合$G_1$上的二元運算,$f_2$是集合$G_2$上的二元運算,

      不一定需要構成群。

      那么,應該是在一一對應下兩者的所有表現一模一樣。那么應該是:

      對于一一對應$f:G_1\rightarrow G_2$

      $\forall a, b \in G_1:f(a\cdot _{1}b)=f(a)\cdot _{2} f(b)$

      上一章里,求出的群有很多同構,那么我們如何讓同構的群只出一個即可呢?

      最簡單的方法,就是構造一個過濾條件,每當新出一個群,就看看是否和之前出過的群同構,

      還是用方陣(array下用一維來模擬二維)來代表二元運算,以下函數用來判斷同構,op1/op2則是代表二元運算的方陣。

      import array
      import itertools as it
      
      def is_isomp(s, op1, op2):
          n = len(s)
          make_mul = lambda op : lambda a, b : op[a * n + b]
          #將矩陣op1和op2轉化成真正的函數
          mul_op1 = make_mul(op1)
          mul_op2 = make_mul(op2)
          #將排列轉換成一一對應
          f = lambda n : s[n]
          #遍歷所有的乘法
          for a, b in it.product(range(n), range(n)):
              #如果發現不滿足,當然不是同構
              if f(mul_op1(a, b)) != mul_op2(f(a), f(b)):
                  return False
          #如果發現當前一一對應滿足同構,那么就返回構成同構
          return True
      
      def isomp(n, op1, op2):
          #遍歷所有的一一對應,所有的一一對應其實和所有的n全排序一一對應
          for s in it.permutations(range(n)):
              if is_isomp(s, op1, op2):
                  return True
          return False

      我們看看之前$D_3$在上一節里表示乘法的array該是什么

      首先,我們讓$e,y,y^2,x,xy,xy^2$分別對應$0,1,2,3,4,5$,那么乘法表矩陣應該是

      \begin{matrix}
      0 & 1 & 2 & 3 & 4 & 5 \\
      1 & 2 & 0 & 5 & 3 & 4\\
      2 & 0 & 1 & 4 & 5 & 3\\
      3 & 4 & 5 & 0 & 1 & 2\\
      4 & 5 & 3 & 2 & 0 & 1\\
      5 & 3 & 4 & 1 & 2 & 0\\
      \end{matrix}

      顯然任何一個群,在恒等映射下一定是同構的,這種同構是平凡的,也就是沒啥大的意義。

      我們用程序搜一下:

      op = array.array('i', [0, 1, 2, 3, 4, 5,
                             1, 2, 0, 5, 3, 4,
                             2, 0, 1, 4, 5, 3,
                             3, 4, 5, 0, 1, 2,
                             4, 5, 3, 2, 0, 1,
                             5, 3, 4, 1, 2, 0])
      for s in it.permutations(range(6)):
          if is_isomp(s, op, op):
              print(s)

      得到所有構成同構的一一對應:

      (0, 1, 2, 3, 4, 5)
      (0, 1, 2, 4, 5, 3)
      (0, 1, 2, 5, 3, 4)
      (0, 2, 1, 3, 5, 4)
      (0, 2, 1, 4, 3, 5)
      (0, 2, 1, 5, 4, 3)

      這種同構是一個群自己到自己的映射,稱為自同構。

      一個群所有的自同構其實也構成一個群,稱為自同構群。

      $D_3$和$D_3$的自同構群(可記作$Aut(D_3)$)恰好同構:

      op = array.array('i', [0, 1, 2, 3, 4, 5,
                             1, 2, 0, 5, 3, 4,
                             2, 0, 1, 4, 5, 3,
                             3, 4, 5, 0, 1, 2,
                             4, 5, 3, 2, 0, 1,
                             5, 3, 4, 1, 2, 0])
      #ss裝下所有的D3上的自同構置換
      ss = []
      for s in it.permutations(range(6)):
          if is_isomp(s, op, op):
              ss.append(list(s))
      
      #兩個置換的乘積
      def mul(a, b):
          r = [0] * len(a)
          for i in range(len(b)):
              r[i] = a[b[i]]
          return r
      
      #op_aut是D3自同構群的乘法表
      op_aut = array.array('i', [0] * 36)
      for i, a in enumerate(ss):
          for j, b in enumerate(ss):
              c = mul(a, b)
              for k, s in enumerate(ss):
                  if c == s:
                      op_aut[i * 6 + j] = k
                      break
      #以下判斷D3和D3自同構群兩者同構與否
      print(isomp(6, op, op_aut))

      不過關于自同構群屬于題外話,不深入講了。

       

      子群

      如果一個群內部的一部分元素在該群的乘法下也構成一個群,那么這個群則叫子群(subgroup)。

      很明顯,子群中必然包含原群的幺元作為幺元。

      比如之前的二面體群$D_3$中,

      $\{e,x\}$

      $\{e,y,y^2\}$

      $\{e,xy\}$

      $\{e,xy^2\}$

      在原乘法下,都是$D_3$的子群,注意,這些群都是循環群。

      另外,$\{e\}$和$\{e,y,y^2,x,xy,xy^2\}$也是$D_3$的子群,只是這是每個群都有的,也就是平凡的,沒什么特殊意義。

      對于$n$階循環群,如果$m$是$n$的正約數,則該循環群有$m$階子群,

      實際上,$n/m$生成的群,就是$n$階循環群的$m$階子群,當然子群也是循環群。

       

      直積

      這是一種用群構建群的方式。

      如果$<G_1,\cdot_1>$和$<G_2,\cdot_2>$都是群,

      那么集合$G=\{(a,b)|a \in G_1,b \in G_2\}$

      配合以下乘法

      $(a_1,b_1) \cdot (a_2,b_2)=(a_{1}\cdot_{1} a_2,b_{1}\cdot_{2}b_2)$

      我們來看一下它為什么是一個群。

      首先,對于任意$G$下$(a,b),(c,d),(e,f)$,

      $(a,b)\cdot(c,d) \cdot (e,f)$

      $=(a\cdot_{1}c,b\cdot_{2}d)\cdot(e,f)$

      $=(a\cdot_{1}c\cdot_{1}e,b\cdot_{2}d\cdot_{2}f)$

      $=(a\cdot_{1}(c\cdot_{1}e),b\cdot_{2}(d\cdot_{2}f))$

      $=(a,b)\cdot(c\cdot_{1}e,d\cdot_{2}f)$

      $=(a,b)\cdot((c,d)\cdot(e,f))$

      滿足結合律,

      對于任意$G$下$(a,b)$,

      假設$e_1$和$e_2$是原群的幺元,

      $(a,b)\cdot (e_1,e_2) = (a,b) = (e_1,e_2)\cdot (a,b)$

      所以$(e_1,e_2)$是幺元,

      $(a,b)\cdot (a^{-1},b^{-1}) = (e_1,e_2) = (a^{-1},b^{-1}) \cdot (a,b)$

      所以$(a^{-1},b^{-1})$是逆元,

      根據群的定義,這個新的代數結構的確是群,稱為兩個群的外直積。

      為了研究群的內部結構,我們引入內直積,這樣直積前的兩個群都是最終得到的群的子集。

      如果$<G_1,\cdot_1>$和$<G_2,\cdot_2>$都是群,

      且$G_1 \cap G_2 = \{e\}$

      那么,集合$G=\{a\cdot b|a \in G_1,b\in G_2\}$滿足

      $a_{1},a_{2} \in G_{1} \land b_{1},b_{2} \in G_{2} \land a_{1} \cdot b_{1} = a_{2} \cdot b_{2} \Rightarrow a_{1} = a_{2} \land b_{1} = b_{2}$

      再加上相應的乘法就是內直積得到的群,

      對于乘法,原$G_1$里的元和原$G_2$里的元兩者乘法可交換,

      那么,對于$a,c \in G_1, b,d \in G_2$,

      $(a\cdot b) \cdot (c\cdot d)$

      $=a\cdot b \cdot c \cdot d$

      $=a\cdot (b \cdot c) \cdot d$

      $=a\cdot (c \cdot b) \cdot d$

      $=a\cdot c \cdot b \cdot d$

      $=(a\cdot c) \cdot (b \cdot d)$

      外直積和內直積得到的結果實際上是同構的,所以從研究的角度來說,是可以替代的。

      我們再回頭看看$D_3$,它也有$\{e,x\}$和$\{e,y,y^2\}$兩個子群,

      但它并不是這兩個子群的直積,因為第一個群的$x$和第二個群的$y$乘法不可交換。

      另外,兩個Abel群的直積依然是Abel群,這個很容易證明,這一條與本系列所要討論的Abel群的結構有直接關系。

      還是給直積一個符號以便后面敘述吧,記群$G_1$和群$G_2$的直積為$G_1\otimes G_2$

       

      循環群內直積的條件

      我們現在考慮有限Abel群的生成元。

      如果從群$G$中取$n$個元可以生成$G$,

      暫時記作$G=<a_1,a_2,...a_n>$

      因為Abel群滿足乘法交換律,那么$G$中任意的元$g$都可以寫成以下的形式:

      $g = k_1*a_1+k_2*a_2+...k_n*a_n$

      其中,$k*a$中$k$是小于$a$周期的自然數,

      意思為$k$個$a$相乘(加)的結果。再重申一次,對于Abel群(也就是可交換群),我們可以把里面的乘法叫加法,所以這里使用加號。

      其中,如果存在一組$k_1,k_2...k_n$

      使得$k_1*a_1+k_2*a_2+...k_n*a_n = 0$

      那么$k_1*a_1,k_2*a_2,...kn*an$必然全為$0$

      在這種情況下,對于任意$k_1*a_1+k_2*a2+...k_n*a_n$和$j_1*a_1+j_2*a2+...j_n*a_n$

      兩者相減為$(k_1 - j_1)*a_1+(k_2-j_2)*a_2+...(k_n-j_n)*a_n$

      相減為$0$則意味著$(k_1 - j_1)*a_1=0\land (k_2 - j_2)*a_2=0 \land (k_n - j_n)*a_n=0$

      根據上面條件,我們發現兩者相等只有在各項相等的情況下。

      并且本身就是Abel群,兩者當然也是乘法可交換的。

      從而,$G$是$<a_1>,<a_2>,...<a_n>$這些循環群的內直積

      也就是$G=<a_1>\otimes<a_2>\otimes ...<a_n>$

       

      另外,對于Abel群$G=<a_1,a_2,...a_n>$

      如果存在$k_1*a_1,k_2*a_2,...k_n*a_n$不全為$0$使得$k_1*a_1+k_2*a_2+...k_n*a_n = 0$

      那么$a_1,a_2,...a_n$中必然存在一個元可以被其他元線性表出,這其實是線性代數的基本功,回憶一下無關線性向量組相關的知識,再加上聯系到此處各個元的周期有限,應該不難證明,此處省略證明留給讀者。

      于是可以找到少一個元生成整個群。

      如此不斷剔除多余的生成元下去,最終總可以找到滿足開始的條件,也就是無論如何,有限Abel群都可以表示為循環群直積的形式。

       

      循環群直積的標準化

      現在我們再來考慮一個例子,

      假如一個6元的Abel群我們發現同構于$Z_2 \otimes Z_3$

      我們用外直積可能更容易理解,

      它的六個元分別是

      $(e,e),(e,b),(e,b^2),(a,e),(a,b),(a,b^2)$

      其中$a$周期為$2$,$b$周期為$3$

      結果發現里面有一個周期為6的元素$(a,b)$,結果其實它同構于$Z_6$

      我們當然更喜歡直接到位用$Z_6$就能很清楚的明白它的結構了。

      這就意味著我們雖然可以有辦法把Abel群表示為循環群的直積,但仍需要進一步化簡。

       

      我們考慮$Z_m \otimes Z_n$

      為了明白起見,我們還是用外直積來理解。

      考慮它有兩個生成元$(a,e)$和$(e,b)$

      其中$a$周期為$m$,$b$周期為$n$

      顯然,$(a,b)$的周期是$m$和$n$最小公倍數,記作$lcm(m,n)$。

      另,$m$和$n$最大公約數,記作$gcd(m,n)$。

      我們有

      $lcm(m*n) = m/gcd(m,n)*n = n/gcd(m,n)*m$

      其中,$m/gcd(m,n)$和$n/gcd(m,n)$都是正整數,

      又顯然,對于其他任何元$(k_1*a,k_2*b)$

      $lcm(m*n)*(k_1*a,k_2*b)$

      $=((lcm(m*n)*k_1)*a,(lcm(m*n)*k_2)*b)$

      $=((n/gcd(m,n)*m*k_1)*a,(m/gcd(m,n)*n*k_2)*b)$

      $=(n/gcd(m,n)*k_1*(m*a),m/gcd(m,n)*k_2*(n*b))$

      $=(e,e)$

       這意味著$(a,b)$有著整個群里最大的周期。

      不難得出,

      $(m/gcd(m,n)*a,n/gcd(m,n)*b)$和$(a,b)$可以作為整個群的生成元

      具體證明讀者自行去證,提示一下,需要用到以下命題:

      對于任意正整數$m$,$n$,存在整數$p$和$q$,使得

      $mp+nq=gcd(m,n)$

       

      $(a,b)$周期為$lcm(m,n)$,

      $(m/gcd(m,n)*a,n/gcd(m,n)*b)$周期為$gcd(m,n)$

      所以$Z_m \otimes Z_n \cong Z_{gcd(m,n)} \otimes Z_{lcm(m,n)}$

      注意,$lcm(m,n)$是整個群最大的周期,并且$gcd(m,n)$是$lcm(m,n)$的約數。

      另外,對于平凡的直積

      $Z_1 \otimes Z_n \cong Z_n$

      可以去掉$Z_1$項

      又因為直積滿足交換之后依然同構,

      于是對于$Z_{k_1} \otimes Z_{k_2} \otimes ... Z_{k_n}$的化簡,可以如下這樣兩層循環進行,可以使得最終為一組循環群的直積,滿足左邊循環群的階數是右邊循環群階數的約數。

      #最大公約數
      def gcd(m, n):
          while True:
              if n == 0:
                  return m
              m %= n
              if m == 0:
                  return n
              n %= m
      
      #最小公倍數
      def lcm(m, n):
          return m * n // gcd(m, n)
      
      #標準化
      def trans(k):
          #復制k數組
          a = [n for n in k]
          length = len(a) 
          #兩輪循環化簡
          for n in range(length - 1):
              for m in range(n + 1, length):
                  a[n], a[m] = gcd(a[n], a[m]), lcm(a[n], a[m])
          #剔除掉1
          for i in range(length):
              if a[i] != 1:
                  return a[i:]
          return a

      比如我們想要標準化$Z_{6} \otimes Z_{10} \otimes Z_{15} \otimes Z_{20}$

      trans([6,10,15, 20]) => [10, 30, 60]

      也就是$Z_{10} \otimes Z_{30} \otimes Z_{60}$

      以上的結果可以看出,運算到最后,前面的數字是后面數字的約數,并且不存在1,這個表示對于這個群是唯一的。

      于是我們就根據此得到給定階數的Abel群所有的同構。

      以72階Abel群為例,我們分解72為大于1的整數乘積,滿足左邊是右邊的約數,可以窮舉出72階Abel群所有的同構如下:

      $Z_{72}$

      $Z_2 \otimes Z_{36}$

      $Z_3 \otimes Z_{24}$

      $Z_6 \otimes Z_{12}$

      $Z_2 \otimes Z_2 \otimes Z_{18}$

      $Z_2 \otimes Z_6 \otimes Z_6$

       

      下一節我們設計程序來窮舉給定階數Abel群的所有同構。

      posted on 2025-06-12 12:13  窗戶  閱讀(351)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 又长又粗又爽又高潮的视频| 亚洲国产综合精品 在线 一区| 伊吾县| 国产自产av一区二区三区性色| 婷婷五月综合激情| 国产中文字幕精品在线| 国产精品久久一区二区三区| 美女一级毛片无遮挡内谢| 亚洲色最新高清AV网站| 精品国产成人一区二区| 国产片AV国语在线观看手机版| 性欧美老妇另类xxxx| 久草热在线视频免费播放| 国产中文成人精品久久久| 国产精品午夜福利小视频| 99久久婷婷国产综合精品| 国产精品伦人视频免费看| 777天堂麻豆爱综合视频| 亚洲精品一区二区三区片| 国产四虎永久免费观看| 亚洲 都市 无码 校园 激情| 中国老太婆video| 国内精品久久久久久久coent| 国产一区一一区高清不卡| 老熟妇高潮一区二区三区| 精品国产AV无码一区二区三区| 久久国产乱子伦免费精品无码| 精品国产午夜福利在线观看| 久久亚洲精品11p| 国产日韩AV免费无码一区二区三区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久人人爽人人爽人人av| 西西444www高清大胆| 中文字幕成人精品久久不卡| 99国产精品一区二区蜜臀| 麻豆国产尤物av尤物在线观看 | 久久精品夜色噜噜亚洲aa| 免费无遮挡毛片中文字幕| 亚洲成av人最新无码不卡短片| 亚洲日本欧洲二区精品| 久久综合亚洲色一区二区三区|