【问题标题】:Find all 2-transitive groups in SAGE在 SAGE 中查找所有 2-传递组
【发布时间】:2019-09-18 02:47:04
【问题描述】:

在 GAP 中,我可以找到 1-31 度的所有 2-传递组,如下所示:

2TransitiveGroups := [];
for n in [1..31] do
    Add(2TransitiveGroups, AllTransitiveGroups(DegreeOperation,n,Transitivity,2));
od;

我很难在 Sage 中做到这一点。我可以在 Sage 中找到所有传递组(来自 GAP 数据库),如下所示:

G = TransitiveGroups(d)

但我不知道如何指定传递性级别。我确信这在 Sage 中一定是可能的,因为它有 GAP 的传递组数据库。

提前致谢!

【问题讨论】:

    标签: sage


    【解决方案1】:

    嗯。问题是,最简单的方法可能是通过 Sage 将您的代码放入 GAP 中。

    st = "2TransitiveGroups := []; for n in [1..3] do Add(2TransitiveGroups, AllTransitiveGroups(DegreeOperation,n,Transitivity,2)); od;"
    gap.eval(st)
    G = gap("2TransitiveGroups")
    G
    

    这会产生 [ [ ], [ S2 ], [ ] ],但 Sage 不知道如何处理它,因为尝试 G._sage_() 会告诉你。

    人们可以使用 GAP 命令尝试更复杂的东西,例如

    sage: G = gap.AllTransitiveGroups("DegreeOperation",2,"Transitivity",2)
    sage: H = G.Remove(1)
    sage: H
    S2
    

    但由于某种原因,Sage 仍然无法轻松地将其转换为 Sage 组。通常this answer 应该告诉您如何将其转换为 Sage 组,但显然在此列表列表中返回的任何 GAP 都不是 GAP 组。如果你能弄清楚如何让这些 GAP 命令返回一个组,那么H.AsPermGroup() 和我链接到的问题应该有效。

    【讨论】:

    • 感谢您的回复和建议。我试图让 GAP 返回正确的格式,但我无法让它工作。我最终解析了 TransitveGroups 的每个输出(在 Sage 中)并手动找到了正确的索引(很痛苦)。
    猜你喜欢
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    相关资源
    最近更新 更多