Dear GAP Forum, Divyanshu Thakur wrote:
> Hello, > There are 2-methods for the computation of Composition Series: > 1) In lib/grpprmcs.gi using Pcgs > 2) In lib/grp.gi using Derived Series > > And, GAP by default uses the 1st method so, Is there some way > we can force the computation via the 2nd implementation > defined in grp.gi. First of all, the method in 'lib/grp.gi' can compute composition series only for solvable groups. The method in 'lib/grpprmcs.gi' can compute composition series also for nonsolvable permutation groups; only a very short first part of the code deals with pcgs. Second, more 'CompositionSeries' methods may be applicable, depending on the group for which one wants to compute a composition series. For example, there is another pcgs based method which does not require the group to be a permutation group. The two methods mentioned in the question can compute a composition series of a solvable permutation group, and in this case the method in 'lib/grpprmcs.gi' is indeed prefered by GAP. If you want to use a particular method in your code then you can call the method directly instead of the operation 'CompositionSeries', for example as follows. gap> g:= SymmetricGroup( 4 );; gap> meth:= ApplicableMethod( CompositionSeries, [ g ], 1, "all" ); #I Searching Method for CompositionSeries with 1 arguments: #I Total: 10 entries #I Method 4: ``CompositionSeries: for a permutation group'', value: 58 #I Skipped: #I Method 7: ``CompositionSeries: using DerivedSubgroup'', value: 44 #I Skipped: #I Method 10 : ``CompositionSeries: default method requiring categories and checking \ properties'', value: 0 #I Skipped: [ function( Gr ) ... end, function( grp ) ... end, function( <1 unnamed arguments> ) ... end ] gap> meth[2]( g ); [ Sym( [ 1 .. 4 ] ), Alt( [ 1 .. 4 ] ), Group([ (1,4)(2,3), (1,2)(3,4) ]), Group([ (1,2)(3,4) ]), Group(()) ] Note, however, that such methods may in general delegate to other methods instead of computing the required result. If you want to give the method in 'lib/grp.gi' a higher preference for the whole GAP session then you can explicitly install this method a second time, with higher rank. Here is an example. gap> InstallMethod( CompositionSeries, "install again", > [ IsPermGroup ], meth[2] ); gap> meth:= ApplicableMethod( CompositionSeries, [ g ], 1, "all" ); #I Searching Method for CompositionSeries with 1 arguments: #I Total: 11 entries #I Method 4: ``CompositionSeries: install again'', value: 60 #I Skipped: #I Method 5: ``CompositionSeries: for a permutation group'', value: 58 #I Skipped: #I Method 8: ``CompositionSeries: using DerivedSubgroup'', value: 44 #I Skipped: #I Method 11 : ``CompositionSeries: default method requiring categories and checking \ properties'', value: 0 #I Skipped: [ function( grp ) ... end, function( Gr ) ... end, function( grp ) ... end, function( <1 unnamed arguments> ) ... end ] All the best, Thomas _______________________________________________ Forum mailing list Forum@gap-system.org https://mail.gap-system.org/mailman/listinfo/forum