The 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, buynnnm...@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@mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum


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

Reply via email to