for (i = 1; i <= NrPcGens + NrCenGens; i++)
printf(" "EXP_FORMAT" ", ev[i]);
}
staticvoid do_cba(gen c, gen b, gen a) { int i;
expvec ev1, ev2;
if (Wt(c) + Wt(b) + Wt(abs(a)) > Class + 1) return;
/* the left hand side first : c (b a) = c a b^a */
ev1 = ExpVecWord(Generators[c]);
Collect(ev1, Generators[a], (expo)1);
Collect(ev1, Conjugate[b][a], (expo)1);
/* then the right hand side : (c b) a */
ev2 = ExpVecWord(Generators[c]);
Collect(ev2, Generators[b], (expo)1);
Collect(ev2, Generators[a], (expo)1);
for (i = 1; i <= NrPcGens + NrCenGens; i++) {
ev1[i] -= ev2[i]; if (((ev1[i] << 1) >> 1) != ev1[i])
printf("# Possible overflow in do_cba( %d, %d, %d )\n",
c, b, a);
}
/* c * ( b * a ) = ( c * b ) * a for all generators c > b > a.
*/ for (a = 1; !EarlyStop && a <= Dimension[1]; a++) for (b = a + 1; !EarlyStop && b <= NrPcGens; b++) for (c = b + 1; !EarlyStop && c <= NrPcGens; c++)
do_cba(c, b, a);
/* **c*(b*b')=(c*b)*b'and **c*(b'*b)=(c*b')*bforallc>b, **Exponent[b]==0
*/ for (b = 1; !EarlyStop && b <= NrPcGens; b++) if (Exponent[b] == (expo)0) for (c = b + 1; !EarlyStop && c <= NrPcGens; c++)
do_cbb(c, b);
/* **c*(c'*b)=(c*c')*band **c*(c'*b)=(c*c')*b'forallgeneratorsc>b, **Exponent[c]==0.
*/ for (c = 1; !EarlyStop && c <= NrPcGens; c++) if (Exponent[c] == (expo)0) { for (b = 1; !EarlyStop && b <= min(c - 1, Dimension[1]); b++)
do_ccb(c, b); for (b = 1; !EarlyStop && b < c; b++) if (Exponent[b] == (expo)0) do_ccb(c, -b);
}
/* **c*b^n=(c*b)*b^(n-1)forallgeneratorsc>b, **Exponent[b]==n>0.
*/ for (b = 1; !EarlyStop && b <= NrPcGens; b++) if (Exponent[b] > (expo)0) for (c = b + 1; !EarlyStop && c <= NrPcGens; c++)
do_cbn(c, b);
/* **c^n*b=c^(n-1)*(c*b)forallgeneratorsc>b, **Exponent[c]==n>0.
*/ for (c = 1; !EarlyStop && c <= NrPcGens; c++) if (Exponent[c] > (expo)0) { for (b = 1; !EarlyStop && b <= min(c - 1, Dimension[1]); b++)
do_cnb(c, b); for (b = 1; !EarlyStop && b < c; b++) if (Exponent[b] == (expo)0) do_cnb(c, -b);
}
/* **c^n*c=c*c^nforallgeneratorsc,Exponent[c]==n>0.
*/ for (c = 1; !EarlyStop && c <= NrPcGens; c++) if (Exponent[c] > (expo)0)
do_cnc(c);
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.