📅  最后修改于: 2023-12-03 14:57:40.743000             🧑  作者: Mango
根据群的定义,一个群 $G$ 必须满足以下四个条件:
现在假设群 $G$ 的元素是无限的,记 $g_1, g_2, g_3, \dots$ 是 $G$ 的元素。
根据条件 3,必须存在一个单位元素 $e \in G$,使得 $e \ast g_1 = g_1 \ast e = g_1$,类似地,$e \ast g_2 = g_2 \ast e = g_2$,以此类推。因此我们可以写出下面的乘法表:
| $\ast$ | $g_1$ | $g_2$ | $g_3$ | $\dots$ | |-------|-------|-------|-------|---------| | $e$ | $g_1$ | $g_2$ | $g_3$ | $\dots$ | | $g_1$ | | | | | | $g_2$ | | | | | | $g_3$ | | | | | | $\vdots$ | | | | |
对于表中未填的部分,我们只需要根据封闭性和结合性来填充即可。例如,$g_1 \ast g_2$ 必须是 $G$ 中的元素,因此它一定等于 $g_i$ 中的某一个元素,可以是 $g_1$,$g_2$,$g_3$,或者其它。又因为群 $G$ 中没有重复的元素,所以这个表不能有任何重复的元素。
现在考虑在这个表中选择某一行或某一列。不妨选择第一行。因为群 $G$ 中的每个元素都必须至少在一行中出现,所以第一行必须包含所有 $g_i$。
然而这与假设 $G$ 的元素是无限的矛盾。因为 $G$ 中元素是无限的,所以我们可以找到一个无限长的、包含所有 $g_i$ 的序列 $g_1, g_2, g_3, \dots$,它们在第一行中必须出现。
因此,假设 $G$ 的元素是无限的是错误的,$G$ 的元素必须是有限的。
代码片段:
def is_finite_group(G):
"""
判断群 G 是否是有限群
"""
elements = set(G)
for a in elements:
for b in elements:
if a * b not in elements:
return False
return True
上述代码实现了一个判断群是否是有限群的函数。它首先检查群中的所有元素对于群运算是否都是封闭的,然后返回是否满足有限群的条件。