【问题标题】:SAGE: Finding the Automorphism Group of a Permutation GroupSAGE:寻找置换群的自同构群
【发布时间】:2019-12-17 01:54:50
【问题描述】:

我想在 Sage 中计算一个置换群的自同构群。例如,在 GAP 中,我可以计算以下内容:

grp := Group([ (1,2,3,4,5), (1,2,4,3) ]);
aut := AutomorphismGroup(grp);

Group( [ GroupHomomorphismByImages( Group( [ (1,2,3,4,5), (1,2,4,3) ] ), Group( [ (1,2,3,4,5), (1,2,4,3) ] ), Pcgs(
    [ (2,3,5,4), (2,5)(3,4), (1,2,3,4,5) ]), [ (2,3,5,4), (2,5)(3,4), (1,3,5,2,4) ] ),
  GroupHomomorphismByImages( Group( [ (1,2,3,4,5), (1,2,4,3) ] ), Group( [ (1,2,3,4,5), (1,2,4,3) ] ), Pcgs(
    [ (2,3,5,4), (2,5)(3,4), (1,2,3,4,5) ]), [ (2,3,5,4), (2,5)(3,4), (1,5,4,3,2) ] ),
  GroupHomomorphismByImages( Group( [ (1,2,3,4,5), (1,2,4,3) ] ), Group( [ (1,2,3,4,5), (1,2,4,3) ] ), Pcgs(
    [ (2,3,5,4), (2,5)(3,4), (1,2,3,4,5) ]), [ (1,2,4,3), (1,4)(2,3), (1,2,3,4,5) ] ) ] )

经过一番搜索,似乎没有用 Sage 编写的函数来执行此操作;然而,我在这个网站上偶然发现了这个问题(和答案):SAGE: Automorphism group of finite abelian group?

建议执行以下操作:

grp = PermutationGroup([ '(1,2,3,4,5)', '(1,2,4,3)' ])
H = gap(grp).AutomorphismGroup()
PermutationGroup(gap_group = H.AsPermGroup())

Permutation Group with generators [(2,3,5,4), (2,5)(3,4), (1,5,4,3,2)]

我无法让这段代码工作。我在 Windows 10 上运行 Sage 8.9。当我将上述代码放入 Sage Cell Server (https://sagecell.sagemath.org/) 时,它工作得很好。当我在我安装的副本中运行它时,我得到以下错误输出:

RuntimeError: Gap produced error output
Error, Variable: 'AsPermGroup' must have a value

   executing __SAGE_LAST__:="__SAGE_LAST__";;AsPermGroup(\$sage3);;

我真的需要让它工作。这是 Sage 8.9 via Windows 的问题吗?

【问题讨论】:

  • 不幸的是,使用 Windows 的 Sage 专家并不多,但一些对此有所了解的人往往会潜伏在 ask.sagemath.org 上,所以我建议您尝试一下。奇怪的是它可以在 Sage 单元服务器上运行 - 你可以为你的“共享”永久链接发布一个链接吗?
  • 我发布了一个关于我如何找到在 Windows 上获得相同结果的方法以及为什么我认为 Sage 单元服务器可以使用上述代码的答案。

标签: sage


【解决方案1】:

我设法在 Sage 8.9(在 Windows 上)中通过调用 GAP 并使用“NiceObject”命令进行计算,如下所示:

sage: grp = PermutationGroup([ '(1,2,3,4,5)', '(1,2,4,3)' ])
sage: G_gap = gap(grp)
sage: gap.eval("aut := SmallGeneratingSet(NiceObject(AutomorphismGroup({})))".format(G_gap))
sage: A_gen = gap.new("aut")
sage: aut = PermutationGroup(A_gen)
sage: aut
Permutation Group with generators [(1,5,4,3,2), (2,3,5,4)]

这也适用于 Linux 和 Mac 版本的 Sage。我认为上面的问题是 Sage 的 Windows 版本不包括可选的间隙包,其中包括具有功能“AsPermGroup”的间隙包“奏鸣曲”。 Sage Cell Server 安装了这些可选包。我不知道如何在 Sage 的 Windows 发行版中安装这些可选包,但上面的代码对我来说很好用。希望这对其他人有所帮助。

【讨论】:

  • 这似乎是一个很合理的理由,我确实记得类似的事情。感谢您提供答案!是的,很多东西都需要可选的 gap 包。
猜你喜欢
  • 2018-07-18
  • 2018-06-21
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
  • 2020-03-29
  • 2015-12-02
相关资源
最近更新 更多