You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将置换(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. 首先,(1 2 3 4 5 6 7) = (1 2 3)(1 3 4 5 6 7)
  2. 对短循环重复操作:(1 3 4 5 6 7) = (1 3 4)(1 4 5 6 7)
  3. 继续拆分:(1 4 5 6 7) = (1 4 5)(1 5 6 7)
  4. 最后一步:(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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:45:42