在抽象代數中
一個很重要的概念是群(group)
一個群定義了一個集合和其上的一個二元運算的關係
在介紹群之前
我要先介紹比群更簡單的結構

magma

一個magma在最小限度下描述了一個集合上的二元運算
一個集合和它的二元運算要能稱為一個magma
只須滿足一個條件
如下:

  • 對於集合\(S\)
    二元運算\(\cdot: S \times S \to S\)
    也可以說成這樣
    二元運算在集合上是封閉的

semigroup

半群
什麼是半群呢?
一個半群除了要是一個magma之外
其上的二元運算還必須滿足結合律
也就是說
對於所有集合內的元素\(a, b, c\)
\((a \cdot b) \cdot c = a \cdot (b \cdot c)\)
也就是說我們在連續調用運算時把括號省去
寫成\(a \cdot b \cdot c\)
舉個半群的例子好了
假設我們的集合包含所有字串
二元運算\(a \cdot b\)表示把\(a\)和\(b\)黏在一起
顯然這樣的運算是封閉的
因為把兩個字串黏在一起後會是另一個字串
結合律也成立
因為黏字串的順序不影響最後黏出來的字串

monoid

一個monoid除了要是一個semigroup
還必須滿足條件:存在單位元
一般把monoid的單位元稱作\(e\)
單位元必須滿足這樣的條件
對集合內的所有元素\(a\)
\(e \cdot a = a = a \cdot e\)
也就是說
不管什麼元素和單位元一起進行運算
它都不會變
事實上
上面提到的黏字串半群也是個monoid
假如字串的集合包含了空字串的話
空字串無論和任何字串黏合
都不會有任何效應

group


重點終於來了= =
一個群除了要是一個monoid還必須滿足額外條件:
存在反元素
也就是說
對於集合內的所有元素\(a\)
下列式子必須被滿足:
\(a \cdot a^{-1} = a^{-1} \cdot a = e\)
\(a^{-1}\)被稱為\(a\)的反元素

來看看幾個群的例子
事實上
加法和乘法都能形成群!
加法是\(\mathbb{Q}\)上的群
單位元是\(0\)
\(a\)的反元素是\(-a\)
乘法則是\(\mathbb{Q}^+\)(正有理數)上的群
單位元是\(1\)
\(a\)的反元素則是\(1/a\)

abelian group

阿貝爾群
又被稱為交換群(commutative group)
我就稱它交換群好了
畢竟這個說法比較直觀
交換群上的二元院算必須滿足交換律
也就是說對於任何群的元素\(a, b\)
\(a \cdot b = b \cdot a\)
加法和乘法都滿足交換律
所以上面我提到的兩個群都是交換群