📅  最后修改于: 2023-12-03 15:27:41.126000             🧑  作者: Mango
置换群是一种特殊的群结构,其中群的元素是置换(一个对象集合的重新排列),群操作是置换的复合。
置换可以用多种方式表示,其中最常用的是循环表示法。
例如,${(1 2 3)}$ 表示一个将对象 $1$ 映射到 $2$,$2$ 映射到 $3$,$3$ 映射到 $1$ 的置换。
置换的乘法是一个置换复合规则,按照左到右的顺序执行置换,结果是一个将对象集合重新排列的新置换。
例如,将置换 ${s1 = (1 2 3)}$ 和 ${s2 = (2 3 1)}$ 相乘:
$$s1 × s2 = (1 2 3) × (2 3 1) = (1 3)(2) $$
结果是一个将对象 $1$ 映射到 $3$,$3$ 映射到 $1$,$2$ 保持不变的新置换。
有限置换群可以表示成一个小型的乘法表,在表格中,每个单元格包含两个置换的乘积。
例如,下面是一个有限置换群的乘法表,其中 $e$ 表示恒等置换:
| $\times$ | $e$ | $(1 2)$ | $(1 3)$ | $(2 3)$ | $(1 2 3)$ | $(1 3 2)$ | | --- | --- | --- | --- | --- | --- | --- | | $e$ | $e$ | $(1 2)$ | $(1 3)$ | $(2 3)$ | $(1 2 3)$ | $(1 3 2)$ | | $(1 2)$ | $(1 2)$ | $e$ | $(1 2 3)$ | $(1 3 2)$ | $(2 3)$ | $(1 3)$ | | $(1 3)$ | $(1 3)$ | $(1 3 2)$ | $e$ | $(1 2)$ | $(2 3)$ | $(1 2 3)$ | | $(2 3)$ | $(2 3)$ | $(1 2 3)$ | $(1 3 2)$ | $e$ | $(1 3)$ | $(1 2)$ | | $(1 2 3)$ | $(1 2 3)$ | $(2 3)$ | $(1 3)$ | $(1 2)$ | $(1 3 2)$ | $e$ | | $(1 3 2)$ | $(1 3 2)$ | $(2 1 3)$ | $(1 2 3)$ | $(1 3 2)$ | $e$ | $(2 3)$ |
可以使用编程语言实现置换群和置换的乘法。
以下是 Python 代码示例:
class Permutation:
def __init__(self, perm):
self.perm = perm
def __call__(self, x):
"""
Returns the result of applying the permutation to x.
"""
return self.perm[x]
def __mul__(self, other):
"""
Returns the product of two permutations.
"""
new_perm = [0] * len(self.perm)
for i in range(len(new_perm)):
new_perm[i] = self(other(i))
return Permutation(new_perm)
def __repr__(self):
return str(self.perm)
identity = Permutation(list(range(6)))
s1 = Permutation([1, 2, 0, 3, 4, 5])
s2 = Permutation([1, 0, 2, 3, 5, 4])
print(identity * s1 * s2) # prints [1, 2, 0, 3, 5, 4]
该代码实现了 Permutation
类,其中封装了置换的复合和应用函数。可以实例化多个 Permutation
对象,并使用乘法操作符将它们相乘。要注意,乘法操作符使用的是复合规则。
置换群和置换的乘法是一种重要的数学结构,具有广泛的应用领域,如密码学、图像处理和计算机图形学。程序员可以使用编程语言实现置换群和置换的乘法,以便在实际应用中使用。