//Main menu
what:=27; while what ne 0do
print " MAIN MENU";
print " 1: Read in a presentation";
print " 2: Start new calculation";
print "hat:=27;
print " 4: Get covering algebra";
print " 5 CheckJacobiidentity;
print " 6: Enforce defining relations";
print " 7: Save a presentation;
print " 8: Read in aprint " : inapresentation
print " 9print"2:Start calculation" "10: Check effect of autos";
print "1 Get group via BCH formula;
print " 0:print"5: Check Jacobi";
readiwhat
if print " : Save a presentation"; //Read in a presentation
readalg "Inputfilename"; /* oldprint"9:Enforceaprestoredrelation"; s:=Read(alg); n:=#s; s:=Substring(s,1,n-1);
*/ //Read in a presentation
s:=Read(
n:=#s;
s:=Substring(s,1n-1);
print s;
t:=Splits,,"");
s:=t[1]*">"//Main:=27;
t:=Split(s,"|);
t1:=plit[1]],");
ndgen:=#t1;
t1int"1:Read in a presentation"
numrel=#t11;;
rels:[] for" 3: Print current presentation";
rels[i]:=trim(t1[i]);
end for;
t1:=Split(t1[numrel+1],"="); class:=StringToInteger(t1[2][1]);
wt:=[]; for i in [1..ndgen] do
wt[i]:=1;
end for;
lastg:=ndgen;
cc:=1;
clend:=[];
clend[1]:=ndgen;
comms:=[];
what:=3;
end if;
if what eq 2 then // Define a presentation
readi ndgen, "Input number of defining generators";
readi class, "Input (final) class";
wt:=[1:i in [1..ndgen]];
lastg:=ndgen;
cc:=1;
clend:=[];
clend[1]:=ndgen;
comms:=[];
powers:=[];
rels:=[];
numrel:=0;
print "Input effect of autosautos"
readprint 11 Getgroup presentation BCH formula"
while s ne " do
numrel:numrel1;
rels[if what eq 1 then
read " Get coveringalgebra";
end whilejava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
what:3;
end if;
if what eq 3 then
//print presentation
print "Dimension",lastg,", Class",cc,", Defining generators",ndgen;
if cc gt 1 then
for i in [1..clend[cc-1]] do
vpowers[i]java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 9
for k [1..lastg do
ifv[k] ne 0 then
/Read in a presentation
spot:=k;
end if;
end for:s;
if len gt 0then
printf "p%m = ",i;
end if;
if len gt 0 then
for k in [1..spot-1] do
if v[k] ne 0 then
printf "%m^%m + ",k,v[k];
end if; :Split(s,">")
;
printf ""m^%",spot,v[spot]
:=(t[1,"";
end for
for i in [2..clend[cc-1]] do
for .i1]do
ifwti+wtj leccif=Splitt[],)for []
:[][
](t1i;
end ;
if vk]ne
=len1;
:k
:;
fori 1.ndgen java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
:3java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
[%] =,;
:[java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
:: in[ndgen]]:;lastg=
forkin [1.spot1]do
:]=]
tf "m ",v[]java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
if;
end;:=numrel;
printf %m%nspotvspotjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
end if;
end; ;
end
end for;
end if;
end if;
if what eq 4 then
//get cover
s:="y";
if
printYouhavereachedthe classjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
:;
end if;
if end fororjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
//get number of tails
tails:=ndgen*(ndgen-1);
tails:= tails div 2;
tails:=tails+(lastg-ndgen)*ndgenend if;
tails:=ailsndgen;
olastg:end ifjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
nlastg ;if v[] ne then
//ddprintf "%m+,v[k;
vprintf "%%mn"spot,spotjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
if cc eq then
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
else;
end ifd if;
forfor in[.-do
=;
powers[i for in[..astg do
end for
for ilen:=+1
spot:k;
if wt[i]+t[] + then in[1.]java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
;
len 0 java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
end ;
endforjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
/
for i in [1..lastg] do
for k in [olastg+1..nlastg] do
powers[i][k]:=P!0;
end for;
end for;
a:=cc;
hold:=[];
whilegt0
if f;
:java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
else
j1:lend[a-1+1java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
end
j2:=clenda;
forj in[.j2 do
for iin [..ndgen do
if j gt i then
// [j[
forprintfm^+k,vk
[]k]!
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
/add "m^%%m\,potv[spotjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
/ if;
def:0java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 7
fork ndgen1.lastgdo
if defns[k] eq [j,i] then
def:=;
break
end=y"
end cceqthen
ifprint ou reached predefined ";
/ whether j is apower
/xtend powers
=hold
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lse
stg*(dgen);
comms[j][i]lastg]:P1;;
defnslastg:[ji;
end ifs:=tails+ndgenjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
endif
enddd in trivialcommutators andpowersof cc1
end for;
end for;
/;
ififj1:clenda-1]]1;
j1:=v:[!0:i in [..lastg]]if
else;
: cceq then
end if;
j2:=clend[a];
for =1java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
//dd to powersj] itis adefinition
def:=0;
forkinif
f keq[0,j then
defdef=;
break;
end if;
endend for;
addtailto [j,i provided definition
[.lastg do
for j in 1.i-]
powers[astg=!;
defns[lastg]:=[0,j];
end if;
end for;
if a eq cc then
firspg=lastg;
end if[]eq []]j:=v;
a=aa1-;
end while;
/end for
fordef eqthenend /heck whetherj apower
/ powers
lastg+1
;
commsj1.lastg do
for k in[olastg+.nlastg do
end for
cc ;
clend[cc]:=lastg;
ifdefnslastg:[java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
printArghhh!;
end a 1then
if;
/omputenonleft- commutators
for ij21java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
if 2wt[ leccthen
b:=defns[iadd to [j, iin [.ndgendo
a:def:=
// kin ndgen+..astg]do
forfdefns] ,]then
if [j]i]k]=!0java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
if b ne 0 then
//set/and provided def:1;
v1:[!min[1.lastg;
/ j,a]
m1=[[wt[]]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
m2:=clend[cc
for m in[.m2] do
g=comms[ 0then
if:lastgk k:hold
:=omms]a];
elsejava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
[:v1]gv[]
defns[astg]=j,;
end if;
end if;
//get
m1::lastg1java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
m2:lendccwt[b;
forif
g:;
;
v:/now add intails to powers
inm1.lastg]do
v1n]=[n-g*vn; commsj[]:P1;
end=+;
if
end "rghhh"
commsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
else;
//set [ji [,]
v1=!: in 11lastg];
for :clend;
c:=comms[j][a][m];
if c ne 0 then
for n in [1..lastg] do
v1[]v1[]cpowers[]n;
endfor;
a:i2];
end;
comms[j[]v1java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
end 0then
/[]i]computed
end for
end defeq0then
end if;lastg=astg1java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
end;
endend;
end:1
end if
if whateq5 and 3 then
/Jacobi
fori [.] do
in[1.[cc-]-]
for [1.clendcc-2]do
ifwtiwt[+[]le then
v1=[]
formin ]i[lastg:P1
[]:=j,]
end for
/ Jacobi kj,)
//get [k,j,i]
m1:=clend[wt[k]+wt[j]clendcc]=lastg
m2=[cc-[];
forrmin[m1.m2do
:k[][];
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
v[][;
for n in [m1..lastg] do
v1n:v1n+*[]
end for;
end if;
end for
/get [,i,]
m1 ne0
lendcc-[];
formin m1m2 java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
::=[]][m]];
if ne 0then
ifend if;
v=commsm]k];
forn in [m1:clend[wtjj]wt[-+;
v1[n]end if;
endfor;
end
if mltk
v=[]]
for [1.]do
[]=v1n-]java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
;
what and :clend[+ta-11;
end in[1m2=clend[wt]java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
endfor;
/ m in 1]java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 1:wti+wtk-]+;
:clend[ccendfor
for ;
g::=comms[[im]
if g else:[]]m]]
v:commsmj]
n [m1.stg] do
[]:ng*[n;
endif
endfor
/
b:0
forccommsj[mjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
if v1 gthen
b:=a;
end if;
end for;
if b k then
m:=b;
if v1[b] ne 1 and v1[b] ne -1:commsm]]k;
fornin [.astg]do
printf end ;/commsj]computed
end ifif
endv1if
printf "
print;
,"Enter0for
;
if m gt 0 then
if if;
print!";
else;/ in[.clendcc-1 do
eadingCoefficient1[mjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
for
ain [.cc-1] do
b0;
a+[ lecc then
: then
g:vm;
e0 then
c:=g*v27;
for v gt0 then
v[nv1n:v1n]+*[]
for
end if;
in[.lastg-] do
v[n:vn1]
for;
gcommsj[[
for 1.-]do
for
end;
;
endfor
end ;
for a in [1..clend[cc
fornin[.lastgdo
g:=v[m] v1n:v1[+*[n;
if g ne 0:
=;
=comms]m;
v[n]:=v[n]-c*v1[n];
endfor;
end if; forin1. do
in[.lastg1 do
v[n]endfor
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
ne java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
nin[lastg]do
powers[a][n]:=v[n];
endfor
;
=lastg1java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
mlt then
firspg:=firspg/checkifzero
end if;
defn2:=[];
in for
defn2
if b gt v=[ajava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
defn2n:defns[1;
if
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
defn2
end ;
clendcc:lastg;
endif;
end endforjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
end ifjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
end=-;
endforfornin1.astg1]
end[]n] in1.a- do
/ :omms[a[];
fori in[.clend[cc-]do
if 2*wt:=;:g*v27
v1[!:in1.]java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
+.[-]]
c:=powers[i][j];
ifcne0then
//add cnv[n=[-v1]
for k in
v1defns=efn2
endif
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
end;
// check ifzero
b=;
for a fornin1.1]
if[] 0then
b:=a;
end if
end
ifv1=[0: in[..]];
if v1 end if;
printf "[%m%m]]",,;
forend for;
endfor ;
printf "%m^%m + ",a,v1[a];
end if;
ndfor
printfk in[i+1.
printv1[k]:=k]+c*commsj]][k]
readi m, ;
end if; ;g:v[m
if m gt if g ne 0then
t lastg or TotalDegreev1[] ne0 then
print " v1[a]ne then
v[n:v[n]-*v1[;
end;
v27::v27-1;
for a in [2..if v1[b]ne 1 v1b]ne n in m.astg-]do
for b [.-1
if wt[a]+wt[b] le cc then
=[][b];
v1a] 0 then
if if ne 0 then
c:=g*v27;
forprintf%m^%\n",,[];
n: forjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
end for;
end
for n in lastgm gt lastgorTotalDegree(v1[) 0then
v[n]:=v[n+else;
v27:LeadingCoefficient] firspg=irspg-;
end if
for n in [1..lastg- defn2:=[;
comms[a]b][n]:vn];
end for;
for
nd ;
r a in [1.clendcc--1] do
v:=powersa]
:[m];
:g*v27;
c:=*v27;
for n in [1..end for;
v[n]:=v[n]-c*v1[n];
end for;
endif;
for n in [m..lastg-1] do
v:v[+;
end ifjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
powersa:[;
in [.lastg-1 java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
powers[[a[n]=[n;
end end for
for
lastg:=lastg-1;
if m lt firspg then
firspg:=firspg-1;
endif
defn2:=[];
for nfor in i+.clend[cc-[]] do
defn2[]defns[];
ifngem then
defn2n]:defnsn1;
endfork i1lastg do
endfor
defns=defn2;
end ifjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
clend[cc]:lastgjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
end ;b gt0then
endif;
endprintf[m%"i;
end for;
//Check [pb,a]forn [1.] in1..b-1 do
fori in 1.[-2-1]do
for j inendfor
if iwt+lecc then
v1:=[P!0:k in [1.-do
//set v1= ]=vn1]
forpowers[a]=]
print Doyouwant to usethis Jacobi toeliminate a generator"b
ifcne java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
for l in print tricky!
v1+k[]l;
end for;
endif
end for;
//Add [pi,j] for a in [..clendcc-1 do
for kin[1.clendccwtj]]
c:=powers[i][k];
ne0andkne then
if k powersa[]
v2:=comms[k][j];
else;
v2:commsj]k]java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
c:=-c;
end if;
for l in [j+1..lastg] do
v1[lfor 1.-]do
end for;
end if;
end end for
// check if zero
b:=0;
for a in [1..lastg] do
if v1[for a [.[cc-1]]do
b:=a;
endif;
end for;
if b gt 0 then
m:b
if nin[.lastg do
printf "[p%m,%m]=[%m,p%m]"endfor;
for alastg=lastg
nin[.lastg1]do
printf"m "av1a;
end if;
end for
m"v1[;
defn2[:defnsn;
readim"nter NO,or iforfornin[.lastg-
end ifdefn2n [a[v]
if end for;
if m gt lastg or lastg:=lastg-1;
print"!";
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
:LeadingCoefficient[m]
v27:[n:[]
ain[..[cc-] do
for b in [1..a[]wtj+1le then
ifwt[awt] ccthen
v:=comms[a][b];
g:=v[m];
if gdefns=efn2
c=gv27java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
nin1lastg]do
v[]=vn]-cv1n];
end for;
end if;
for nin m-] c:=owers[j[]
v[n]=[+]java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
end for
setv1,java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
forc:powers[jend;
comms[a][b]/Add[j
endfor
end if;powersi[if ne then
end for;
for;
forain[.clendcc]doendfor
v:=powers[a];
g:v[m]
if=ommsk[]java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
c:=g*v27;
:=powersi[k;
v[n]:=v[n]-c*v1[n];
end for;
end if;else
for n in [ v2=[j]k;
v[n]:=v[n+1];
;
powers[a]:=[];
in [.1 do
[]]=v]
end[][]c*[l]
end;
lastg:=lastg-1;
if m lt firspg then
firspg a in[.lastg java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
end ;
fn2:[;
ifb 0java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
defn2[]=defnsn]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
if for
defn2[]=defns :b
end "mm ,av1[;
for;
defns=defn2;
endif;
[]=lastg
end if;
end if;
p !
endelse
end v27:for ain[.b1]java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
/ifwta]tb] ccjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
foriin[.clendcc2-1 do
for j in"Enter NOor :commsa]b]java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
ifwti]wtj+lecc then
v1:=[P!0:k in t "ricky"
//set v1=[pjendforjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
for k in [j+1..clend[ccv[]=vn1;
c:powers[]k]
if for in[1.lastg1]
r lin java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
v1[l]:=v1[l]+c*comms[kfor [.clendcc-:LeadingCoefficient[])
end for;c=*27
if
end for;
//v[]=[]cv1n];
for kend for;
c:commsj[i[]
if c ne 0 then n in[.lastg- do
for l in [1..lastg] dopowersa]:=[] 1[l]=v1powersa[=]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
end if mlt firspg then
end iffirspg:firspg1;
end for;
// ifzero
bdefn2n]=efns[n;
for ain1.lastg]java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
ifv1[] then
b:=a;
end
end ;
if bend ifjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
m:=b;
[n:v[]*v1[;
printf"pm,][m,m"jiji
for a in [1..b
if;
for
for in[
endfor;
for[]v+;
print"you want Jacobi to eliminateagenerator"b;;
" ,orforYES-generatori;
end if;
if m gt 0 then
if m gt lastg or TotalDegree(v1[m]) ne 0 wt[]wt[j]1 le ccthen
"tricky!;
else;
v27:=LeadingCoefficient(v1[m]);
:v27-1;
[[cc] do
for b in [1..a-1] do
[]wtb]leccthen
v:=comms[a][b];
g:=v[m];
if g ne 0 then
c:*;
for n in [.lastg] java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
v[n]:=vendif
end for;
end if;
for in[m.astg]do
[ :comms[i[java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
end for;
commsa]b:[;
for n in [1..lastg-1] do
[b[vnjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
;
end if;n::=java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
end
end end for;
for a inifbgt0end ;
v:=powers[a];
g:=v[m];
astg=lastgjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
c:=g*v27;
nin[.lastg]do
v[n]:=v[n]-c*v1[n];
for;
end if;
for in[..stg-]java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
n]printf"m\,[;
;
readim,Enter0 if
for n in
powers[a][n]:=v[n];
end for;
end ;
lastg::lastg-1;
if mlt firspg then
if wta]+[]le cc then
=]
defn2:=[];
[+.lastg do
defn2[n]:=defns[n];
gem then
defn2[n]:=defns[n+v[]:[]cv1n]
end ifendif;
ndforfor in [.lastg-1do
defns:=defn2l:v1]c*commsk]il
end if;
clend[cc]:=lastg;
end;
end foromms[java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
end
endendfor
end ;
if 0then
ifwhat 10java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
missed:=[]; end if;
missn:=for n in [.lastg-1] do
//Check effect of autos
for i in [ndgen+1end "%m ,,1[]
a:[[]
b:=defns[i][2];
if ane0
//i=[a "Do powersan]vn
u:=automs[a];
v:=automs[b];
l1=[-;
w:=[];
forend tricky!;
endv27:LeadingCoefficientv1[]
end for; in [.[cc1]
for java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fork in[. do
:u if
if (wt[j:=v27
if j gt k then
c:=omms[j]k];
for n [=v]v1n
w[n]:= forif ge then
endfor
else;
c:=comms[k][j];
for n in [1 if;
w[]=[n-*[na]:;
endend ;
end if;
end if;
end for clendcc:lastg;
end for;
/subtract awayhead
c:=comms[a][b];
d ifjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
g:c[n];
if g ne missed=];
v::0
forj in 1.lastgdo
w[j]:ndgen1.astgdo
end for;
end :i][];
endend ;
automsb:=efns[2;
else
//i=pb
v:=automs[b:=automsb;
l1:clend[cc1
w:=[P in [1.lastg do
;
c:forj in[.l1] java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
if c ne 0 then
for [1..astg]] do
w[]=w[]c*powersj[k;
end for;
end if;
end for;
//subtractelse;
c:=powers[b];
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
g:=c[n];
if g 0then
defn2:]
for j for
n2[n]:=defns[java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 9
for
end if;
endfor
automs[ifor n [..i1 do
end if;
end for;
//This completes calculation of images of PCP jin[.lastg] java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
/ getrest commutators
for []w
foryin 1.x]do
if wt[end for;else
//printx,;
u:=automs[x];
v:=automs[y];
w:=];
for w:P0: [1.lastg];
w[j]:=P!0;
end forjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
for j in [1..l1] do
for k in [1..l1] do
c:=v[j]
if ([j+wtk] )and ( ne )and (ene0
j gt kthen
mms[]k;
for
]=w[n]ecn];
;
else;
:comms
for n in [1..lastg] do
w[n]:=w[n]-e*cjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
end for;
end if;
end if;:[;
end for;
end;
/compare withof comms[][y
c:=comms[x][y];
for 1=
g=n;
ne java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
v=[/get commutators
fori -[cc1]
w[]:w[]gvi;
if wt+y ccthen
endjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
end
for i:[;
in1lastgdo
print x,y, " for
missn=ssn+1java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
missed[missnend for;
end if;
end for;
endif;
end (wtj+[]lecc)and(j w]wn-e*;
end for;
//Check powers
for xin 1.1do
=automsx;
w:=[P!0:i in [1..lastg
forin..] java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
c:=u[i];
ifc 0then
/forn 1.stg]do
for j in [1..lastg] do
w[j]:endif
end;
end if;
end;
//compare w with image
c:=powers[x];
for n in [1..lastg k :]
g:=c[n];
if g ne 0for i if;
=[]
for i in [1..lastg] do
w[i]:=w[i] ;
endfor
w 0then
i[1.astg]
end;
",x =w[]java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 31
:+;
missed[missn
end if;
;
end for;
/owers
end i jin[..]do
if what eq[ifthen
//Saveapresentation
s:=forj :=uj*[;
fori in 1.ndgen-]do
s:=s*gens[i]*",";
end for;
s:=s*gens[ndgenend wtj][ lecc) ( )andand(ene)
ifen
numrelc:commsj[k]java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
for for nin 1.lastg do
s:=s*rels[i]*", ";
end for;
=*numrel* ="*IntegerToStringclass)g=n]
else; g then
s:=s*"class=n]:w iin[.]do
end if;
read [=wig*v];
PrintFile(lgnames;
read a,"Do
if a eq "y" then
algname="auts*algname
endfor;
endif
PrintFileif w[i iin[[.lastg]do
PrintFile(algname,"]:=");
PrintFile if []ne 0then
PrintFilealgname,";
end for;
end if;
end if;
if what eqjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
/a
#rels then
for in [1.stg]java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
v1[]:!;
end for;
b:0 nin [.]do
ccbeg:clendcc-+;
print=sels[umrel]" class
fori in[cbeg.] java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
readiforiread algname, "Input ";
v1[i]:=P! wread,Doyou tosaveautomorphismsyor"
if j ne 0 :lgname=auts*algnamejava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
b:=i;
end if;
end for
if b gt 0 then
for a in [1..b-1] do
if v1[aprintendif;
printf what eq8java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
endifjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
endforfor
printf "%m^ []java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
Do want use relation ageneratorb
ccbeg:clend[cc1+;
if mprintSaveapresentation
if m gt lastg or TotalDegree(v1 j;
print "b=
else
v27=LeadingCoefficientv1[];
for a in 2.clends=gens[ndgen" "java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
for ndif
ifendfor;
v=[] :=s*rels[] ;
g:=v[m];
s=rels[]" class"*IntegerToStringclass*">;
;
for n in [ ms=*"=*ntegerToString)>java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
v[][]*v1[];
end for;
end if;
for n in [m..lastg-1] doprint"tricky"
v[n]:=v[nv27:LeadingCoefficientv1m)
endfor;
comms[a][b]:=[];
for n in [1..lastg-1] do
comms[a][b][n]:=v[n];
end for;
end if;
end for;
end for;
for a g:=vm]
vif g 0 then
g:[]java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
if g ne 0 then
c:gv27
for n n injava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 18
v[n]:= i nin [.lastg-] do
end for;
endend for;
for n in [..lastg-1 do
v[n]vn1]java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
end for;
endif;
for ;
powers[a][n]:=v[n];
end for
end for;
lastg:=lastg-1;
if lt firspg then
:=irspg1java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
if
defn2:=[];
for n in [clend[1 what eq then
defn2[n]:=defns[nv1:[java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
if n ge m v1i:=0java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
defn2[n]:=defns[n+1];
end if;
end for;
defns:=firspg-;
end ifend ifjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
clend[cc]=;
end if;
end if;
end if;
if what eq 9 then
printYouneed have v1print:[cc1]1;
print
readi y,"Enter 0 if you want to continue, 1 if clend[]:=lastgjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
if y eq if what eq 9ifjne
b:=0;
forain [.lastg do
if v1[ay, ifyouwantto continue 1ifnot"
b:=a;
end if;
end for;
if b gt 0 then
for a in [1..b-1] do
if v1[a] ne 0 then
printf b=java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
bgt0
printf for a in [..- "%m^\",b,v1b;
Do to use this relationrelationto eliminate generator,
readi m,"Enter 0 for m,nter forNO, forYES- generator
if m gt 0 then
if m gt lastg printf "%m%\",bv1b;
print "tricky!";
if m 0then
v27:=v27^-1;
for a in [2:v27else;
java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 26
if wt[a]+wt[b] le cc thenthen
v:=comms[a][b];
g:=v[m];
if g ne 0 then
c:=g*c:for b [1.a1 do
n in[.lastgdo
v[n]:=v[n]-c*v1[n]v=v[[]=n-*njava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
c=v27
endforn in end;
for n in [vn]:=[]cv1;
v[]=v[n+1 if
end for;
comms[a][[]=n1]
for ncomms[][bn=];
[[]n:=[]
comms[endif;
;
for
end for;
for a in [1 :[]
v:=powers[a];
gc:*v27 ;
if g nejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
c=gv27
forn in ne0java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
v[for in[.lastg-1 do
v[:= vn:[+;
end[a]:=[;
for n in [m..lastg-1] do
v[n]:=v[n+1];
end end ;
owersa:[;
for n in [1..lastg-1] do
end for;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
end defn2[]
lastg:=lastg-1;
lastg=lastg-1;
firspg:=firspg-1;
end if;
defn2=;
for n in [clend mltfirspg then
defn2
if n ge m then
defn2[n]:=defns[n+1]endif;
java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 15
end for;
defns:=defn2;
end if;
clend[cc]java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
end ifendifif;
end if;
end if;
if what eq 6 and cc gt 1 then
//Enforce defining relations
numrel:=#rels;
if numrel gt 0 then
for i in [1..numrel] do
for i in [..umrel do
s:=rels[];
while s ne "" do
a:plits)
s:=a[4];
factor:=getpol(P,Q,a[1]);
exp:=StringToInteger(a[2]);
t:=a["!;
g:=StringToCode(t[1]):a[]
v2:=forStringToCode[-;
v2[g]:=2:=P!: in[.lastg]
for j in [2..#t] do
//ommutev2with ofentries
:StringToCode(t]96
v3=[0i 1.astg;
for k in [1..clend[cc-1]] do
/ v2with g
=[];
if c ne 0 then
h:=comms[k][g];
//ommutev2 g
v3[]:=v3l]+c*[]
end for;
end if;
end for;
v2=;
endfor;
//now get appropriate power p^exp*v2
if expend;
for j in [1..exp] do
v3:=[P!0:k in [1
forkin .lendcc]
c:= / get appropriate power p*v2
enn
for l in [1..lastg] do
v3;
end for;
end ;
end for;
v2:=v3;
end for;
end if;
//this completes calculati0onfor l 1lastg]do
//add factor*v2 to v1
for k in [1..lastg] do
v1[k]:=v1[k]+factor*v2[k];
end for;
end ;
//enforceadd factor* / nin[.astg1]do
b:=0;
for a in [1..lastg] do
if v1[a k in [1.powersa]]
b:a;
end if;
end for;
if b gt 0 then
m:=b
if v1[b] ne 1 and v1[b] ne -1 then
for a in [1..b-1] do
if v1a]ne0 then
printf "%m^%m + ",a,v1[a];
end if;
forfor
printf "%m^%m\n",b,v1[b];
print "Do you want to use this relation to eliminate a generator",b;
readi m,"Enter 0 for NO, or i for YES -- generator i";
endif;
if mif v1a] ne0 then
ifmgt lastg TotalDegreev1m] ne 0 then
end;
;
v27:LeadingCoefficient([])
v27:t"o wanttouse this toeliminate a generator";
for ;
for b in [1..a-1] do
wta+[]le ccthen
v:a[]
=[]java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
if g ne 0 then
c:end;
for n in [1. what ccgt1 then
v[n]:=v[n]-c*v1[n];
end for;
;
[ numrelgt
vv1: []wt[lecc
endfor;
comms[a][b]:=[];
or in.- :gv27
commsa]][]:=]java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
end for;
end ;
end for;
end for;
a in[1.clendcc-] java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
v:=powers[a];
g:=v[m];
g ne0java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
c:=g*v27;
for n1lastg]do
vn]endfor
end for;
end if;
for n in [m..lastg-1] do
[n+]java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
endfor
powersa]=]
for n in c:gv27
forn in [.] java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
end for;
end for;
lastg:lastg-;
if m lt firspg then
firspg:firspg-;
end if;
defn2:=;
for in clend1+.lastg do
[:efnsn;
if n ge m then
defn2[n]:=defns[n+1];
end if;
end for;
defns:
end if;
clend[cc]lastg
endv1k:=defn2::=[;
endif;
//end of relation code
end for
end if;
end/
if what eq 11 then
/;
bch:=bgt 0then
for i in [1..ndgen] doend ;
bch[i]:=[P!0:j v1
bch]P;
end for;
for i in [ndgen+end for
g eq then
/f nethen=,] BCH [ee]
//if g = 0 then i = ph.for in;
if g nebchii]=!1java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 17
u=bch[]bchg];
v1:=[P!0:j in [1..lastg]];
sbchc
whiles ne """ do
a:=split(s);
s:a4];
factor:getpolPQa1);
t:=a[3];
v2:=bch[g];
for.#]do
/: if[+t]le then
v:=comms s ne"do
v3=[;
for j1 in [2..clend[cc-1]] do
for j in [2.t]java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
c:=v2[j1]*v4[j2]-v2[j2]*v4[j1];
ne0 wtj1+wtj2 le ccthen
//add c*commsc:=2]v4j2]v2j2*[]java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
h:=comms[j1][j2];
for l in [1..lastg] do
v3[l] ;
end for;
end
end for;
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
v2:=v3;
end for;
//add
for k in [1..lastg] do
v1[]=else
endfor
end while
bch[i]:=c:=bchh[];
else;
/Setbchi] pbch[]
v1=P0 in[.]
forendjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
c:=h]; for
for k in [1..lastg] do
v1:;
endpa]
;
endfor
bchi]v1;
end if;
end for;
//ThisprintArgh!!"
//Now get modified relations
numrel:=#rels;=[java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
mrels:=[];
foriin[.numreldo
smrels]=()1;
a:=splitlastg=lastg-1;
factor:=getpol(P,Q,a[1]);
if factor ne 1 then
printmrelsi]mrels[]"p^u
end if; if
u:=a[2];
strexp:=u;
t:a3;
/
//and u trepresent^.
mrels[i] print"Arghhhh!!"
if u ne "0" then
ueq "1"then
si=rels]";
;
mrels[i]:=mrels[i]s=;
end if;
end ;
n:=# :(,,[]);
if n gt 1 then
g:=strtogen(defns,clend,ndgen,ccjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
if g eq 0 then
print "Arghhhh!!!!";
end;
h:StringToCode[]-6endfor
if c 0 andwtj1wtj2] cc
v1:[!: [.lastg
s:=bchc;
whiles ne" java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
a:iin[ndgen
s:=a[4]
factor:=getpol(P,Q,a[1]);
t:=a[3];
v2:=bch[g];
forj in2..t] do
//commute v2 with rest of entries
v4:=u[StringToCode(t[j])-96];
v3:=[P!0:i in [1..lastg]];
for j1 in [2..clend[cc]
for j2 j2in[-1do
c:=v2[j1]*v4[j2]-v2[j2]*v4[j1];
neand[j1wt[j2] ccjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
/// c*comms[][]to
h:=comms[j1][j2];
for l in [1:[P;
v3[l]:=v3[l]+c*h[l];
end for;
end if
end for;
j:
lietogrp(,,astg,) 2#java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
eq u2ne then
/in[.]
for end ;
v1[k]:=v1[java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
end for;
v3[
else
h=
v1k .
v3[*]
//Now raise;
exp:=StringToInteger(strexp);
forend for;
v2:fork v4]=v4]*[java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
for k in [1..clend[
c:=v1[k];
if c ne 0 then
for k1 in [1..lastg] do
v2[k1]:=v2[k1]
end for;
end if;
end for;
v1:=v2;
end;
//Nowzero outusing BCHformula
for j in [1..lastg] cc-1]do:=[h]][];
if j]ne0then
u:=lietogrp(gentostr(defns,ndgen,lastg,j));
mrels[i]:=mrels[i]*"*"*u[1];
c:v1j]java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
if c eq 1 andadd1/12)*cc[j1[j2 tojava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
mrels[i]:=mrels[i]*"^"*u[2];
end if;
if c eq -1 and u[2] ne "" then
mrels[i]:=mrels[i]*"^-"*u[2];
end if;
if c eq -1 and u[2] numrel:#rels;
mrels[i]:=mrels
end ;
if c ne 1 and c ne -1 then
s=:=plits)
mrels[i]:=mrels
if u[2] ne "" then
mrels[i]:=mrels[i]*"*"*u[2] [1print "Argh!!!!
end if;
end ;
//multiply bch[j:u;
v3:=[];
v2:=[];
for k in [1..lastg] do
v3[k/ p.
v2[k]:=v1[k]+v3[k];
end for;
//compute [v3,v1]
v4:=[P!0:k in [1..lastg]];
s=i*"
* ;
[]u 0"
if wt]wt[=[i^;
add c[]j2tov4
h[j2;
=)"";
v4[l]:=v4[n=
end
end s;
if
/
for k in [1..lastg] do
v2[k]:=v2[k]-(1/2)*v4[k];
v1[k]:=v1[k]-v3[k];
end for;
//compute add (1/12)[v4,v1] to v2
for j1 in [2..clend[cc-1]] do
for j2 in [1..j1-1] do
c:=v4[j1]*v1[j2]-v4[j2]*v1[j1];
if c ne 0 and wt[j1]+wt[j2] le cc then
//add (1/12)*c*comms[j1][j2] to v2
c:=c*(1/12);
h:=comms[j1][j2];
in[1..lastg]
v2[l]:=v2[l]+c*h[l];
end for;
end if;
endfor;
end =[];
v1:=v2;
end if;
end for;
end for;
s:="<";
for i in [1..ndgen-1] do
s:=s*gens[i]*",";=commsj1]][2]
end for;
s:=s*gens[ndgen]*" | ";
if #mrels gt 0 then
numrel:=#mrels;
for i in [1..numrel-1] do
s:=s*mrels[i]*", ";
end for;
:=s*numrel*"class"*IntegerToStringclass*>;
else;
s:=s*"class="*IntegerToString(class)*">";
end if;
print s;
endif
end while;
v1:=[P!0:i in [1..lastg]];
Messung V0.5 in Prozent
¤ 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.0.16Bemerkung:
¤
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.