我想在圣人中定义新图。设G是有限群。图的顶点是子组,当且仅当两个子组的总和为G时,两个顶点相邻。
我在sage中定义此图表时遇到问题。有什么建议吗? 我有差距,但我不知道我可以在圣人中改变什么?
Summands := function(G)
local n, i, sgl, l, A, B, D;
获取所有子组的列表
sgl := List(LatticeSubgroups(G)!.conjugacyClassesSubgroups, Representative);
n是| G |
的除数n := Size(DivisorsInt(Size(G)));
D := [];
if IsOddInt(n) then l := QuoInt(n + 1, 2);
else l := QuoInt(n, 2);
fi;
for i in [1..l] do
for A in Filtered(sgl, function(g) return Size(g) = DivisorsInt(Size(G))[i]; end) do
for B in Filtered(sgl, function(g) return Size(g) = DivisorsInt(Size(G))[n+1-i]; end) do
Add(D, [A, B]);
od;
od;
od;
return D;
end;
答案 0 :(得分:0)
以下是其中一些命令的Sage等效项。顺便说一句,我们使用GAP进行小组计算!
sage: D = DihedralGroup(5)
sage: D.subgroups()
[Permutation Group with generators [()], Permutation Group with generators [(2,5)(3,4)], Permutation Group with generators [(1,2)(3,5)], Permutation Group with generators [(1,3)(4,5)], Permutation Group with generators [(1,4)(2,3)], Permutation Group with generators [(1,5)(2,4)], Permutation Group with generators [(1,2,3,4,5)], Permutation Group with generators [(1,5,4,3,2), (1,5)(2,4)]]
sage: divisors(D.cardinality())
[1, 2, 5, 10]
要在Sage制作图表,您可以传递列表或其他内容的字典;见
sage: Graph?
了解更多信息。
编辑 - 留下来让评论易于理解:
顺便说一下,您似乎正在尝试列出一组子组A
和B
,以便|A||B|=ord(G)
。这是否必然与其总和(无论你的意思是什么 - 直接总和?)是原始群体的群体相同?我想的是甚至是一组四阶;对第二阶的任何两个子组求和可能与原始组不同构 - 例如,如果两个子组是相同的,如果你的意思是某种环境总和(这是否有意义?),或者如果你使用直接和但是该组是4阶的循环组,而不是Klein 4组。