Hi all,
I was wondering if anyone can reproduce this bug with Poset creation. I create a Poset by passing the elements and the comparison function as a tuple (elements, func) and a pair of elements for which func(x,y) returns True has P.lequal(x,y) returning False
I'm trying to create the subgroup lattice up to conjugacy of S5.
sage: load('s5-subgroup.sage') # builds poset, see below
sage: groups[-2]
Permutation Group with generators [(1,2,3), (1,2,3,4,5)]
sage: groups[-1]
Permutation Group with generators [(1,2), (1,2,3,4,5)]
sage: compare(groups[-2], groups[-1])
True
sage: P.is_lequal('A5','S5')
False
The content of 's5-subgroup.sage' is below.
gens = [
[[]], # trivial
[[(1,2)]], # S2
[[(1,2),(3,4)]], #z/2
[[(1,2)],[(3,4)]], # disjoint V4
[[(1,2),(3,4)],[(1,3),(2,4)]], # double transp V4
[[(1,2,3,4)]], # z/4
[[(1,2,3,4)],[(1,3)]], # D8 (D4 in GAP notation)
[[(1,2,3)]], # z/3
[[(1,2,3)],[(4,5)]], # z/6
[[(1,2,3)],[(1,2)]], # S3
[[(1,2,3)],[(1,2),(4,5)]], # twisted S3
[[(1,2,3)],[(1,2)],[(4,5)]], # S3 x S2
[[(1,2),(3,4)],[(1,2,3)]], # A4
[[(1,2,3,4)],[(1,2)]], # S4
[[(1,2,3,4,5)]], # z/5
[[(1,2,3,4,5)],[(2,5),(3,4)]], # D10
[[(1,2,3,4,5)],[(2,3,4,5)]], # GA(1,5)
[[(1,2,3,4,5)],[(1,2,3)]], # A5
[[(1,2,3,4,5)],[(1,2)]] # S5
];
strs = ['1', 'S2', 'Z/2', 'V4', 'V4 (dbl)', 'Z/4', 'D8',
'Z/3', 'Z/6', 'S3', 'S3 (twist)', 'S3xS2',
'A4', 'S4', 'Z/5', 'D10', 'GA(1,5)', 'A5',
'S5']
to_group = lambda x: PermutationGroup(gens=x);
groups = list(map(to_group, gens));
compare = lambda x, y: x.is_subgroup(y);
P = Poset(data=(groups, compare), element_labels=strs)