On Fri, Apr 18, 2014 at 09:17:16AM -0700, Volker Braun wrote: > The problem is that we don't have an algorithm to find out that the group > is finite (short of generating all elements). So it is placed in the > "Groups" category instead of "FiniteGroups", and that doesn't have an > iterator. There should be an in-between category of finitely generated > groups which provides the iterator. In any case, a workaround is: > sage: list(TransitiveIdeal(lambda x:[g*x for g in G4.gens()], [G4.one()])) > [ [1 0] [ w 0] [ 1 -w - 1] [ w 1] [ 0 -w - 1] > [ [0 1], [w + 1 1], [ 0 w], [w + 1 0], [ -1 w], > [-w - 1 w] [ 1 -w] [ w w + 1] [-w - 1 -1] > [ w w + 1], [ 0 -w - 1], [w + 1 -w], [ w 0], > [ -w 0] [ 0 1] [ 0 w] [ w + 1 -w] [ -w -1] > [-w - 1 -1], [-1 0], [ -1 w + 1], [ -w -w - 1], [-w - 1 0], > [ -1 w + 1] [ 0 w + 1] [-w - 1 0] [ -w -w - 1] > [ 0 -w], [ 1 -w], [ w 1], [-w - 1 w], > [w + 1 1] [ -1 w] [ 0 -1] [w + 1 0] [-1 0] > [ -w 0], [ 0 w + 1], [ 1 0], [ -w -1], [ 0 -1], > [ 0 -w] ] > [ 1 -w - 1] ]
If you know your group is finite, you should be able to do (not tested): sage: G4._refine_category(FiniteGroups()) We should probably add a "category" optional argument to MatrixGroup, so that we can specify this when we build the group. Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.