newjob=true co=false mult=false check=true grponly=false
tojunk=false step=false history=false nosubs=false one=false
gpname= for i do case $i in
-*)
flags="`echo ' '$i|awk '{for (j=2;j<=length($1);j++) print substr($1,j,1)}'`" for j in $flags do case $j in
r) newjob=false co=true;;
c) co=true;;
m) mult=true;;
x) check=false;;
j) tojunk=true;;
s) step=true;;
h) history=true;;
n) nosubs=true;;
g) grponly=true;; 1) one=true;;
*) echo Usage: cohomology [-rcmxjshng1] gpname; exit 1;;
esac done;;
*) if test $gpname thenecho Usage: cohomology [-rcmxjshng1] gpname; exit 1 else gpname=$i fi;;
esac done
if test $newjob = false -a $mult = true thenecho There is no point in recomputing the covering group.; exit 1 fi
case $one in
true) case $co in
true) echo -n Sorry! Corestriction algorithm for first cohomology groups echo' 'is not implemented.; exit 1;;
esac
case $mult in
true) echo Options -1 and -m cannot be called together!; exit 1;;
esac;;
esac export gpname step history cmd cmddest cmdsource
if test ! "$gpname" thenecho Usage: cohomology [-rcmxjshng1] gpname; exit 1 fi
case $tojunk in
true) > ${gpname}.junk
cmddest=">> ${gpname}.junk";;
false) cmddest=;;
esac
case $history in
true) > ${gpname}.history;;
esac
if test -r ${gpname}.tc then tc=true else tc=false fi
case $newjob in
true) if test ! -r ${gpname}.inperm thenecho file ${gpname}.inperm cannot be read; exit 1 fi
case $mult in
true) flag= echo Input prime number for multiplier computation.
read prime;;
false) if test ! -r ${gpname}.inmat thenecho file ${gpname}.inmat cannot be read; exit 1 fi
flag=-w
prime=`awk 'NR==1 {print $1}' ${gpname}.inmat`;;
esac echo $prime > ${gpname}.sylip
case $neqg in
true) norm=false cp ${gpname}.sg ${gpname}.psg echo P = G \(G is a ${prime}-group\).;;
false)
cmd="normrun -n $gpname sg psg"; execcmd || exit 1 if test -r ${gpname}.ng then norm=true
cmd="egrun $gpname norm nsg" execcmd || exit 1
neqg=`optrun -t $gpname sg nsg || exit 1`
case $neqg in
true) cp ${gpname}.sg ${gpname}.nsg echo P is normal in G.;;
esac else norm=false fi;;
esac
case $mult in
true) flag1=-m;;
false) flag1=;;
esac
case $co in
true) flag2=-c;;
false) flag2=;;
esac
if test $co = true -o '(' $check = true -a $mult = false ')' thenecho"1.5 50 30 1" > ${gpname}.grip
cmdsource="< ${gpname}.grip" fi
case $co in
true) case $mult in
true) cflag1=-g; repfile=;;
false) cflag1="-g -c"; repfile=cr0;;
esac
cmd="grrun $gpname psg"; execcmd || exit 1;;
false) cflag1=; repfile= if test $neqg = true -a $mult = false -a $norm = false -a $check = true then
cmd="grrun $gpname psg"; execcmd || exit 1 fi;;
esac
cmdsource=
case $mult in
true) scflag1=-m;;
false) scflag1=;;
esac
list=
case $mult in
false) case $neqg in
true) mc3=pg;;
false) mc3="pg dcr";
esac
case $co in
true) case $neqg in
true) mc1=psg; mc2=;;
false) mc1="psg sg"; mc2=-cr;;
esac;;
false) mc1=; mc2=;;
esac;;
esac
case $norm in
true)
case $co in
true)
cmd="conrun $cflag1 $gpname nsg psg $repfile"; execcmd || exit 1
cmdsource="< ${gpname}.grip"
cmd="grrun $gpname nsg"; execcmd || exit 1;;
false) if test $mult = false -a $neqg = true -a $check = true then
cmdsource="< ${gpname}.grip"
cmd="grrun $gpname nsg"; execcmd || exit 1 fi;;
esac
cmdsource=
cmd="scrun $scflag1 $gpname sc0 ng"; execcmd || exit 1
suba=nsg; cflag2=-d0
case $mult in
false) mc3=${mc3}" ng"
case $co in
true) mc1=${mc1}" nsg"; mc2=${mc2}" -cr0";;
esac;;
esac;;
false)
suba=psg; cflag2=-d;;
esac
case $neqg in
false)
case $nosubs in
false) echo You should now create from 0 to 9 intermediate subgroups echo H\(1\), H\(2\), .... They should be stored in files with names echo ${gpname}.sg1,${gpname}.sg2,... and satisfy echo N\(P\) \< H\(1\) \< H\(2\) \< ... \< G. \(strict inclusion!\) echo echo Return to this shell program with EOF \(\^D\) echo
csh -f;;
esac
ocflag1=$cflag1 if test ! "$repfile" then cflag1=${cflag1}" -c" fi
oldno=; scflag2= for no in 123456789 do
subb=sg$no if test -r ${gpname}.$subb then
case $check in
true) op=`optrun -t $gpname $suba $subb || exit 1`
case $op in
false) echo ${gpname}.$suba is not a subgroup of ${gpname}.$subb
exit 1;;
esac
op=`optrun -t $gpname $subb $suba || exit 1`
case $op in
true) echo ${gpname}.$suba = ${gpname}.$subb
exit 1;;
esac
egrun $gpname $subb $subb || exit 1;;
esac
list=${list}" "${no}
case $mult in
false) mc3=${mc3}" dcr"$no
case $co in
true) mc1=${mc1}" sg"$no; mc2=${mc2}" -cr"$no;;
esac;;
esac
case $co in
true) cmdsource="< ${gpname}.grip"
cmd="grrun $gpname $subb"; execcmd || exit 1
cmdsource=;;
esac
else break fi done
case $check in
true) op=`optrun -t $gpname $suba sg || exit 1`
case $op in
false) echo ${gpname}.$suba is not a subgroup of ${gpname}.sg
exit 1;;
esac
op=`optrun -t $gpname sg $suba || exit 1`
case $op in
true) echo ${gpname}.$suba = ${gpname}.$sg
exit 1;;
esac;;
esac
if test $co = true -o '(' $check = true -a $mult = false ')' then cmdsource="< ${gpname}.grip"
cmd="grrun $gpname sg"; execcmd || exit 1
cmdsource= fi;;
esac
case $mult in
false) case $check in
true) mflag=-t
case $neqg in
true) case $norm in
true) cp ${gpname}.nsg.rel ${gpname}.sg.rel;;
false) cp ${gpname}.psg.rel ${gpname}.sg.rel;;
esac;;
esac;;
false) mflag=;;
esac
cmd="matcalc $mflag $gpname $mc1 $mc2 $mc3"; execcmd || exit 1
case $one in
true) nqcall="nqrun -1";;
false) nqcall=nqrun;;
esac;;
true) nqcall=nqmrun;;
esac
case $tc in
true) case $co in
true) case $neqg in
true) case $norm in
true) rrarg=nsg;;
false) rrarg=psg;;
esac;;
false) rrarg=;;
esac
cmd="readrels -a $gpname $rrarg"; execcmd || exit 1;;
esac;;
esac
case $grponly in
true) exit 0;;
esac
cmd="$nqcall $gpname"; execcmd || exit 1
case $norm in
true) case $mult in
true) nqarg=;;
false) nqarg=ngmat;;
esac
case $neqg in
true) case $co in
true) nqflag=-c;;
false) nqflag=;;
esac;;
false) nqflag=;;
esac
cmd="$nqcall $nqflag -a $gpname sc0 $nqarg"; execcmd || exit 1;;
false) case $co in
true) case $neqg in
true) case $mult in
true) cmd="$nqcall -c $gpname"; execcmd || exit 1;;
false) cmd="$nqcall -a -c $gpname $$"
execcmd || exit 1;;
esac;;
esac;;
esac;;
esac
case $neqg in
false) for no in $list do case $mult in
true) nqarg=;;
false) nqarg=dcr${no}mat;;
esac
cmd="$nqcall -a $gpname sc$no $nqarg"; execcmd || exit 1 done
case $co in
true) nqflag=-c;;
false) nqflag=;;
esac
cmd="$nqcall -a $nqflag $gpname"; execcmd || exit 1;;
esac;;
false)
co=true; mult=false; list= if test -r ${gpname}.ng then norm=true if cmp ${gpname}.nsg ${gpname}.sg then neqg=true else neqg=false fi else norm=false if cmp ${gpname}.psg ${gpname}.sg then neqg=true else neqg=false fi fi
case $neqg in
false) for no in 123456789 do
subb=sg$no if test -r ${gpname}.$subb then list=${list}" "$no else break fi done;;
esac
cmdsource=
cmd="nqrun -a -c $gpname $$"; execcmd || exit 1;;
esac
case $co in
true) case $mult in
true) flag=-m; crarg=;;
false) flag=;;
esac echo"1.5 50 -10" > ${gpname}.erip
if test $neqg = false -o $norm = true then
cmdsource="< ${gpname}.erip"
cmd="extprun $flag $gpname psg"; execcmd || exit 1
cmdsource= fi
case $norm in
true) case $mult in
false) crarg=cr0;;
esac
cmd="crrun $flag $gpname nsg psg $crarg"; execcmd || exit 1
case $neqg in
false)
cmdsource="< ${gpname}.erip"
cmd="extprun $flag $gpname nsg"; execcmd || exit 1
cmdsource=
suba=nsg;;
esac;;
false) suba=psg;;
esac
case $neqg in
false) for no in $list do case $mult in
false) crarg=cr$no;;
esac
subb=sg$no
cmd="crrun $flag $gpname $subb $suba $crarg"; execcmd || exit 1
cmdsource="< ${gpname}.erip"
cmd="extprun $flag $gpname $subb"; execcmd || exit 1
cmdsource=
suba=$subb done
case $mult in
false) crarg=cr;;
esac
cmd="crrun $flag $gpname sg $suba $crarg"; execcmd || exit 1;;
esac
case $tc in
true) case $mult in
true) rflag=-m;;
false) rflag=;;
esac
case $neqg in
true) case $norm in
true) rrarg=nsg;;
false) rrarg=psg;;
esac;;
false) rrarg=;;
esac
cmd="readrels $rflag $gpname $rrarg"; execcmd || exit 1;;
esac;;
esac
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet am 2026-10-13)
¤
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.