[GAP Forum] Computation of Composition Series

Divyanshu Thakur divyanshu at iiitmanipur.ac.in
Tue May 21 12:56:49 BST 2019


Thanks a lot, it really helped me!!

On Mon, May 20, 2019 at 2:16 PM Thomas Breuer <sam at math.rwth-aachen.de>
wrote:

> 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 at gap-system.org
> https://mail.gap-system.org/mailman/listinfo/forum
>


-- 
Divyanshu Thakur <https://www.linkedin.com/in/divyanshu132/>


More information about the Forum mailing list