// Compiler avec par exemple: // dot -Tpng sous-groupes-de-s6.dot -o sous-groupes-de-s6.png // (le programme dot vient du package graphviz). // La numérotation des sous-groupes est celle de Sage(=GAP-1); // quelques commandes: // s6 = SymmetricGroup(6) // lsttrans = [h for h in s6.conjugacy_classes_subgroups() if h.is_transitive()] // a6 = [h for h in lsttrans if h.order()==360][0] // desctrans = [(h.order(),gap.StructureDescription(h),h.is_subgroup(a6)) for h in lsttrans] // def subgroup_up_to_conjugacy(g,h): // for x in gap.ConjugateSubgroups(s6,g): // if gap.IsSubgroup(x,h): // return True // return False // subidx = [[j for j in range(16) if gcd(lsttrans[j].order(),lsttrans[i].order()) == lsttrans[j].order() and subgroup_up_to_conjugacy(lsttrans[i],lsttrans[j])] for i in range(16)] // maxsubidx = [[j for j in range(16) if is_maximal_subidx(i,j)] for i in range(16)] digraph sous_groupes_de_s6 { g3 -> g0; g3 -> g1; g4 -> g0; g4 -> g1; g5 -> g1; g5 -> g2; g6 -> g2; g7 -> g0; g7 -> g2; g8 -> g3; g8 -> g4; g10 -> g3; g10 -> g5; g10 -> g6; g10 -> g7; g11 -> g2; g12 -> g8; g12 -> g9; g13 -> g3; g13 -> g7; g13 -> g11; g14 -> g6; g14 -> g9; g14 -> g11; g15 -> g10; g15 -> g12; g15 -> g13; g15 -> g14; g0 [label="S3"]; g1 [label="C6"]; g2 [label="A4"]; g3 [label="D6"]; g4 [label="S3 × C3"]; g5 [label="A4 × C2"]; g6 [label="S4+"]; g7 [label="S4−"]; g8 [label="S3 × S3"]; g9 [label="(C3 × C3) : C4"]; g10 [label="S4 × C2"]; g11 [label="A5"]; g12 [label="(S3 × S3) : C2"]; g13 [label="S5"]; g14 [label="A6"]; g15 [label="S6"]; g2 [color=blue,fontcolor=blue]; g6 [color=blue,fontcolor=blue]; g9 [color=blue,fontcolor=blue]; g11 [color=blue,fontcolor=blue]; g14 [color=blue,fontcolor=blue]; }