/* The function commutatorGroup( G, H) returns a new permutation group equal to the commutator [G,H]. H must be a subgroup of G, though it need not be normal. G must already have a base and strong generating
set, but H need not have one. */
/* The function normalClosure( G, H) returns a new permutation group equal to the normal closure of H in G. H must be a subgroup of G (not checked). G must already have a base and strong generating set, but
H need not have one. */
G->base[G->baseSize+1] = 0;
changeBase( N, G->base); for ( a = G->generator ; a ; a = a->next ) for ( b = H->generator ; b ; b = b->next ) { for ( i = 1 ; i <= G->baseSize ; ++i )
img[i] = a->image[b->image[a->invImage[G->base[i]]]]; if ( !isBaseImage( N, img) ) {
newGen = newIdentityPerm( G->degree);
rightMultiplyInv( newGen, a);
rightMultiply( newGen, b);
rightMultiply( newGen, a);
reduceWrtGroup( N, newGen, NULL);
addStrongGenerator( N, newGen, TRUE);
}
}
freeIntArrayBaseSize( img); return N;
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.