[GAP Forum] Is there a simple way to view the source of the function (ex. IsSolvable)?

buynnnmmm1 at yahoo.co.jp buynnnmmm1 at yahoo.co.jp
Tue Sep 16 23:30:53 BST 2014


Dear Stephen Linton,

Thank you very much for your help!

Thanks to you very much , it is now very easy to see the source of the built-in Methods.

I try it immediately in the way that you taught me.


With best regards

----- Original Message -----
> From: Stephen Linton <steve.linton at st-andrews.ac.uk>
> To: buynnnmmm1 at yahoo.co.jp
> Cc: GAP Forum <forum at gap-system.org>
> Date: 2014/9/17, Wed 06:53
> Subject: Re: [GAP Forum] Is there a simple way to view the source of the function (ex. IsSolvable)?
> 
>T he thing is that IsSolvable is not really a single function, it is an 
> Operation. 
> 
> An Operation in GAP is a collection of functions called Methods that can be used 
> to compute the
> result for different kinds of objects.
> 
> You can get the actual Method applied to particular objects via 
> “ApplicableMethod”. For instance:
> 
> gap> g := SymmetricGroup(5);
> Sym( [ 1 .. 5 ] )
> gap> ApplicableMethod(IsSolvableGroup,[g]);
> function( G ) ... end
> gap> f := last;
> function( G ) ... end
> gap> Print(f);
> function ( G )
>     local  pcgs;
>     pcgs := TryPcgsPermGroup( G, false, false, true );
>     if IsPcgs( pcgs )  then
>         SetIndicesEANormalSteps( pcgs, pcgs!.permpcgsNormalSteps );
>         SetIsPcgsElementaryAbelianSeries( pcgs, true );
>         if not HasPcgs( G )  then
>             SetPcgs( G, pcgs );
>         fi;
>         if not HasPcgsElementaryAbelianSeries( G )  then
>             SetPcgsElementaryAbelianSeries( G, pcgs );
>         fi;
>         return true;
>     else
>         return false;
>     fi;
>     return;
> end
> gap> FilenameFunc(f);
> "/Users/sal/HG/gap/lib/grpperm.gi"
> gap> StartlineFunc(f);
> 1221
> 
> So the Method that would apply to this particular group is found in grpperm.gi 
> starting at line 1221 (in my development version of GAP).
> 
>     Steve
> 
> 
> 
> On 16 Sep 2014, at 22:29, buynnnmmm1 at yahoo.co.jp wrote:
> 
>>  Dear GAP forum,
>> 
>>  Because I would like to read the source of IsSolvable function, I was able 
> to find by looking at the source of GAP4 using grep.
>> 
>>  Source of IsSolvable is defined in the "lib/grp.gi" and 
> "lib/grp.gd".
>>  Noticing that easy to find if grep function name the files whose name ends 
> with .gd, and went to examine the function So who is called from IsSolved 
> function. ( DerivedSeries, DerivedSubgroup, ClosureSubgroupNC, ClosureGroup, 
> NormalClosure, TrivialSubgroup ,Comm ....)
>> 
>> 
>>  However, this procedure is troublesome. 
>> 
>> 
>>  I tried looking for using the http://www.gap-system.org/search.html the 
> reference manual.
>> 
>>  I found FilenameFunc function in 
> http://www.gap-system.org/Manuals/doc/ref/chap5.html.
>> 
>>  But I got following output.
>> 
>>  gap> FilenameFunc(IsSolvable);
>>  fail
>> 
>>  So, I would like to know how to see source of functions (ex. IsSolvable) 
> more easier.
>>  Or I would like to know how to get path of the file the function has been 
> defined.
>> 
>>  Does anyone have any idea how I can do it more easizer.
>> 
>> 
>>  With best regards
>> 
>> 
>>  _______________________________________________
>>  Forum mailing list
>>  Forum at mail.gap-system.org
>>  http://mail.gap-system.org/mailman/listinfo/forum
> 



More information about the Forum mailing list