[GAP Forum] speed of Core vs IsNormal

William DeMeo williamdemeo at gmail.com
Sat Jan 22 04:26:50 GMT 2011


Since I don't know anything about the algorithm Core uses, I thought
it might be testing for normality to begin with, and then the two
versions of code suggested in my previous email should theoretically
be identical.  However, I just held a race on a dual processor machine
and it seems the normality check helps speed things up a bit.

Still, if anyone understands the Core algorithm and wouldn't mind
enlightening me (or at least confirming that the normality check
should theoretically speed things up), I'd be grateful.

Thanks!
William


On Fri, Jan 21, 2011 at 6:11 PM, William DeMeo <williamdemeo at gmail.com> wrote:
> I apologize if this is a dumb question, but I'm trying to speed up a
> program that is searching for certain groups. In the examples I'm
> looking for, I have a subgroup H of a group G and I need to test
> (among other things) whether it is core-free.  I was wondering if
> someone could tell me whether it would speed things up greatly if I
> first tested to see if the subgroup itself is normal.
>
> So, I'm wondering if I should simply do:
>
> e:=Group([Identity(G)]);
>
> if Core(G,H)=e then
>
>    # test other search criteria
>    ...
>
> Or would I do better to test for normality of the subgroup first:
>
> if IsNormal(G,H) and H<>e then
>
>    # do nothing
>
> elif Core(G,H)=e then
>
>    # test other search criteria
>
>
> Would the latter speed things up greatly?  Is computing Core much more
> expensive than first testing IsNormal?
>
> Thanks and, again, I apologize if this is dumb.
>
> -William
>



More information about the Forum mailing list