有人可以为我解释这个小代码段吗?

时间:2019-04-08 14:43:52

标签: sage

我正在研究一个项目,其中我引用了一部使用SageMath的数学教科书,他们已将此作为证明。我对SageMath并不精通,因此无法正确理解代码在做什么。有人可以向我解释吗?

要证明的定理如下: “对于匈牙利环 谜题38件的每个排列都是可能的。换句话说,HR = S38。”

sage: S38=SymmetricGroup(38)
sage: L=S38("(1,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2)")
sage: R=S38(" (1,38,37,36,35,6,34,33,32,31,30,29,28,27,26,25,24,23,22,21)")
sage: HR=S38.subgroup([L,R])
sage: HR==SymmetricGroup(38)
True

1 个答案:

答案 0 :(得分:0)

注释,尽管我不知道这个难题。也许是在戴维·乔伊纳(David Joyner)的Adventures in Group Theory中?

sage: S38=SymmetricGroup(38)

这是一组38个对象的所有排列的对称组。我希望谜题中有38件事。

sage: L=S38("(1,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2)")
sage: R=S38(" (1,38,37,36,35,6,34,33,32,31,30,29,28,27,26,25,24,23,22,21)")

这是38个对象的两个非常具体的排列。请注意,并非所有元素都在每个元素中排列。看起来好像他们两个人在任何一个方向上都移动了一个元素。也许有些物体绕了一​​圈,其他的物体也绕了一圈。只有一个共同点。

sage: HR=S38.subgroup([L,R])

这是通过一次又一次地反复执行这两个操作而生成的排列的子集(因而是子集)​​...

sage: HR==SymmetricGroup(38)
True

显然,只需执行两个动作L和{{1},实际上就可以实现38个元素的每个排列-在不参考实际谜题的情况下绕动各个对象,就好像您完全将其拆开一样。 }一遍又一遍!

那真的很酷。现在,我想找出并解决这个难题。