Ticket #8030 (needs_review defect)

Opened 8 weeks ago

Last modified 2 weeks ago

Strong generating system work only for transitive group

Reported by: nborie Owned by: joyner
Priority: critical Milestone: sage-4.3.4
Component: group_theory Keywords:
Cc: sage-combinat Author(s):
Report Upstream: N/A Reviewer(s):
Merged in: Work issues:

Description

My fault from #6647

The method from Gap work only for transitive group.

sage: G = PermutationGroup([[(3,4)]])
sage: G.strong_generating_system()
[[()], [()], [()], [()]]
sage: G.strong_generating_system(base_of_group=[3,1,2,4])
[[(), (3,4)], [()], [()], [()]]

If the first position is not moved by the permutation Group. Errors appears...

Attachments

trac_8030_stabilizer_bug-nb.patch Download (5.8 KB) - added by nborie 2 weeks ago.

Change History

Changed 8 weeks ago by nborie

  • status changed from new to needs_review
  • milestone set to sage-4.3.2

I added a patch which solve the problem...

I just changed the stabilizer method because the old version probably didn't point the right record of GAP for StabChain?. The new stabilizer method is based form the Schreier's subgroup lemma.

I ran some:

sage: G = SymmetricGroup(10)
sage: H = PermutationGroup([G.random_element() for i in range(randrange(1,3,1))])
sage: prod(map(lambda x : len(x), H.strong_generating_system()),1) == H.cardinality()
True

everytimes, it was ok... For the speed, the method strong_generating_system is pretty slow! But I have no better idea and I still misunderstand records from GAP.

Changed 2 weeks ago by nborie

Changed 2 weeks ago by nborie

  • cc sage-combinat added

I uploaded a new version. There was also a mistake in the doc... That's an ugly bug...

Note: See TracTickets for help on using tickets.