Dear Sandeep,

On 16 Feb 2009, at 06:45, Sandeep Murthy wrote:

Hi.

I have a couple of specific questions.

1. Is there a method that returns the inverse element of
any given element of a group?

Yes, use x^-1 to find an inverse of x:

gap> (1,2,3)^-1;
(1,3,2)

2. Given that the operation

subsetTriplesG := Cartesian( Combinations( Elements( groupG ) ),
                              Combinations( Elements( groupG ) ),
                              Combinations( Elements( groupG ) ) );

constructs the set of all (ordered) triples of subsets of a given group
groupG, is there a method or combination of methods by which
I can obtain only those distinct triples of groupG which are not
permutations of each other, i.e. a set of distinct representatives
of an equivalence class of subset triples of groupG where
equivalence of two triples means one is a permutation of the
other?

It is a bit unclear what do you mean, but if understood you correctly,
isn't it Combinations( Combinations( AsList( G ) ),3) what you need?
Do you wish to consider empty subset and the whole group?

Of course the orders of the resulting set will grow extremely fast, e.g.

gap> Combinations( Combinations( AsList( SymmetricGroup( 2 ) ) ),3);
[ [ [  ], [ () ], [ (), (1,2) ] ], [ [  ], [ () ], [ (1,2) ] ],
[ [ ], [ (), (1,2) ], [ (1,2) ] ], [ [ () ], [ (), (1,2) ], [ (1,2) ] ] ]

gap> NrCombinations( Combinations( AsList( SymmetricGroup( 3 ) ) ),3);
41664

and I run out of memory for S_4 with default GAP session. Maybe you can
first check whether this is actually what you need, because maybe you
need UnorderedTuples( Combinations( AsList( G ) ), 3 ), which will make
the case even worse:

gap> UnorderedTuples( Combinations( AsList( SymmetricGroup( 2 ) ) ), 3 ); [ [ [ ], [ ], [ ] ], [ [ ], [ ], [ () ] ], [ [ ], [ ], [ (), (1,2) ] ], [ [ ], [ ], [ (1,2) ] ], [ [ ], [ () ], [ () ] ], [ [ ], [ () ], [ (), (1,2) ] ],
  [ [  ], [ () ], [ (1,2) ] ], [ [  ], [ (), (1,2) ], [ (), (1,2) ] ],
  [ [  ], [ (), (1,2) ], [ (1,2) ] ], [ [  ], [ (1,2) ], [ (1,2) ] ],
  [ [ () ], [ () ], [ () ] ], [ [ () ], [ () ], [ (), (1,2) ] ],
[ [ () ], [ () ], [ (1,2) ] ], [ [ () ], [ (), (1,2) ], [ (), (1,2) ] ], [ [ () ], [ (), (1,2) ], [ (1,2) ] ], [ [ () ], [ (1,2) ], [ (1,2) ] ],
  [ [ (), (1,2) ], [ (), (1,2) ], [ (), (1,2) ] ],
[ [ (), (1,2) ], [ (), (1,2) ], [ (1,2) ] ], [ [ (), (1,2) ], [ (1,2) ], [ (1,2) ] ],
  [ [ (1,2) ], [ (1,2) ], [ (1,2) ] ] ]

Then you may think about further restriction of the search space and enumerative
procedures instead of generating the whole set in once.

Hope this helps,
Alexander

_______________________________________________
Forum mailing list
[email protected]
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to