如何将置换(1 2 3 4 5 6 7)表示为非必不相交的3-循环乘积?
如何将7-循环(1 2 3 4 5 6 7)分解为3-循环的乘积
首先得明确一个关键约定:我们采用群论中最常用的函数复合顺序计算置换乘积,也就是(σ τ)(x) = σ(τ(x))——意思是先应用右边的置换τ,再应用左边的置换σ。这个顺序搞清楚了,分解就不容易出错。
方法一:拆成对换后组合成3-循环
任何n-循环都可以先分解为(n-1)个对换的乘积(函数复合顺序下):
(1 2 3 4 5 6 7) = (1 7)(1 6)(1 5)(1 4)(1 3)(1 2)
简单验证下:比如元素3,先经过最右边的(1 2)不变,再(1 3)变成1,之后的(1 4)(1 5)(1 6)(1 7)里,只有(1 4)会把1变成4,后续对换对4无影响,最终3→4,和原置换一致,没问题。
接下来,相邻的两个对换可以组合成一个3-循环,核心等式是:(1 b)(1 a) = (1 a b)(函数复合顺序下)。比如(1 3)(1 2) = (1 2 3),你可以自己核对:先(1 2)把1→2、2→1,再(1 3)把1→3、3→1,最终结果就是1→2、2→3、3→1,正好是3-循环(1 2 3)。
把刚才的6个对换两两分组:
(1 7)(1 6)(1 5)(1 4)(1 3)(1 2) = [(1 7)(1 6)] [(1 5)(1 4)] [(1 3)(1 2)]
替换成3-循环后就得到:
(1 2 3 4 5 6 7) = (1 6 7)(1 4 5)(1 2 3)
验证结果:
- 元素1:先执行
(1 2 3)→2,再(1 4 5)→2,再(1 6 7)→2 → 1→2(正确) - 元素3:先
(1 2 3)→1,再(1 4 5)→4,再(1 6 7)→4 →3→4(正确) - 元素5:先
(1 2 3)→5,再(1 4 5)→1,再(1 6 7)→6 →5→6(正确) - 元素7:先
(1 2 3)→7,再(1 4 5)→7,再(1 6 7)→1 →7→1(正确)
所有元素的映射都和原置换一致,完全成立。
方法二:递推分解长循环
另一种更直观的思路是逐步把长循环拆成一个3-循环加一个更短的循环,直到全部变成3-循环:
- 首先,
(1 2 3 4 5 6 7) = (1 2 3)(1 3 4 5 6 7) - 对短循环重复操作:
(1 3 4 5 6 7) = (1 3 4)(1 4 5 6 7) - 继续拆分:
(1 4 5 6 7) = (1 4 5)(1 5 6 7) - 最后一步:
(1 5 6 7) = (1 5 6)(1 6 7)
把这些代入回去,最终得到:
(1 2 3 4 5 6 7) = (1 2 3)(1 3 4)(1 4 5)(1 5 6)(1 6 7)
这个分解同样可以逐一验证,每一步的短循环拆分都符合置换规则,最终乘积效果和原7-循环完全一致。
这两种方法都能满足需求,第一种得到的3-循环数量更少,第二种步骤更直观易记,你可以根据需要选择~
内容的提问来源于stack exchange,提问作者Amelia O'Leary
相关产品推荐
相关产品推荐

