GAPから要素の予期しない最小限の単語表現を取得する

Aug 17 2020

私はいくつかの特定のジェネレーターによって生成された順列グループで作業しています:

r1 := (1,2,3,4,5,6);
r2 := (7,8,9,10,11,12);
s1 := (1,7,10,4);
s2 := (2,8,11,5);
s3 := (3,9,12,6);

私はまた、これらに関して書いたサブグループの要素のセットを持っています:

f1 := r1*s1^(-1)*s2*r2^(-1);
f15 := r2^(2)*s1*s3^(2)*r1;

ただし、GAPを使用してこれら2つの要素の最小限の表現を与えると、期待したものが返されますが、は返されf1ませんf15

特に:

puzzle := Group([r1,r2,s1,s2,s3]);; Size(puzzle);
479001600
brk_2> hom := EpimorphismFromFreeGroup(puzzle: names:=["r1","r2","s1","s2","s3"]);;
brk_2> PreImagesRepresentative(hom, f1);
r1*s1^-1*s2*r2^-1
brk_2> PreImagesRepresentative(hom, f15);
s3^2*r1^-1*s2*r1^2*s2*r1*s2^-1*(s1^2*r1^-2)^2*s1^2*r1

明らかに1つ存在するのに、GAPがf15に対して長さ6の単語を返さないのはなぜですか?

参考:ここにあります最小限の単語を生成するため、この方法を示してドキュメントが。

注:表現された単語はf15と等しいようです:

brk_2> s3^2*r1^-1*s2*r1^2*s2*r1*s2^-1*(s1^2*r1^-2)^2*s1^2*r1;
(1,7)(2,3,12,8,5,6,9,11,10,4)
brk_2> f15;
(1,7)(2,3,12,8,5,6,9,11,10,4)

回答

3 MaxHorn Aug 17 2020 at 17:28

この関数PreImagesRepresentativeは最小限の単語を返すことが保証されておらず、GAPマニュアルにはそれ以外のことを述べているものは何もありません。あなたが参照しているセクションは技術的には正しいですが、確かに多少誤解を招く可能性があります(したがって、私はそれを変更することを検討します):引用された例で最短の単語が見つかった可能性があります-それは保証されていません!

実際に最小限の単語を取得するには、Factorization関数を使用できます。あなたの例を続けると、これが得られます:

gap> Factorization(puzzle, f15);
r2^2*s3^2*s1*r1