セージで新しいグラフを定義したい。Gを有限群とします。グラフの頂点はサブグループであり、2つのサブグループの合計がGである場合に限り、2つの頂点が隣接しています。
このグラフをセージで定義するのに問題があります。なにか提案を?ギャップのあるアイデアはありますが、セージで何を変更できるのかわかりません。
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;