Dear Forum, Dear Lenny Chaskofsky,

In computing conjugacy classes for a group, I believe that I got different arrangements of the classes for the same group, on the same computer, running the same version of gap at different times.
I was using the default method for computing conjugacy classes.
The manual says that the arrangement of classes depends on the method chosen. Is it possible that I could get different arrangements with the default method?

Some of the methods for computing conjugacy classes(implicitly) use random numbers. Unless the sequence of commands used since the start of GAP is exactly the same, this can cause classes to be obtained in a different arrangement.

What would be the best way to ensure a consistent arrangement?
When computing from scratch, I fear one cannot do anything. (One would have to determine a ``canonical'' ordering of classes, but some classes are extremely hard to distinguish. (E.g. once you start looking at modular character tables).

If you need consistency amongst different calculations, your best bet is probably to once compute the classes, and then use this arrangement of classes. You can do this by defining the group, computing the conjugacy classes and then either

- Save a workspace, and have all your other calculations start with loading this workspace. or (for example if you cannot load the workspace because you already stared another calculation - Save information about the classes in a file and then (instead of computing the classes from scratch) create the classes from this stored information. Typically, representative and centralizer generators are sufficient information, to recreate classes very quickly.
The following commands do for example such a save/load sequence:

Saving classes of group G:

save:=List(ConjugacyClasses(G),i->[Representative(i),
GeneratorsOfGroup(StabilizerOfExternalSet(i))]);;
PrintTo("savefile","save:=",save,";\n");



Loading classes and storing them in G (assuming we did not yet compute classes for G!):

Read("savefile");
cl:=[];
for i in save do
  c:=ConjugacyClass(G,i[1]);
  SetStabilizerOfExternalSet(c,SubgroupNC(G,i[2]));
  Add(cl,c);
od;
SetConjugacyClasses(G,cl);

At this point (the new) G now has the same classes as before.

I hope this helps.  Best wishes and a good 2009,

   Alexander Hulpke


_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to