Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

560938 views
1
#!/bin/bash
2
3
DIRH=`pwd`
4
5
6
# Bereite File vor, in dem Befehle fuer GAP stehen
7
# Log-File: t-groups.log
8
echo LogTo\(\"t-groups.log\"\)\; > t-groups.out
9
echo RequirePackage\(\"carat\"\)\; >> t-groups.out
10
echo names := \[\]\; >> t-groups.out
11
echo GROUPS := \[\]\; >> t-groups.out
12
i=0;
13
14
# Wir wollen die Worte fuer alle Q-Klassen
15
for x in dir.* ; do
16
cd $x
17
18
for y in ordnung.* ; do
19
cd $y
20
21
for z in * ; do
22
cd $z
23
24
for zz in group.* min.* max.* ; do
25
if [ -s $zz ] ; then
26
i=$[$i+1]
27
echo R := CaratReadBravaisFile\(\"$x/$y/$z/$zz\"\)\; >> $DIRH/t-groups.out
28
echo P$i := Group\(R.generators\)\; >> $DIRH/t-groups.out
29
echo Append\(names,\[\"$x/$y/$z/words.$zz\"\]\)\; >> $DIRH/t-groups.out
30
echo Append\(GROUPS,\[P$i\]\)\; >> $DIRH/t-groups.out
31
if [ -s words.$zz ] ; then
32
rm words.$zz
33
fi
34
fi
35
done
36
37
cd ..
38
done
39
cd ..
40
done
41
42
cd $DIRH
43
44
done
45
46
# Nun sagen wir GAP noch, was es tun soll
47
echo "Print(GROUPS,\"\\n\");" >> t-groups.out
48
echo "Print(names,\"\\n\");" >> t-groups.out
49
echo "Size(GROUPS);" >> t-groups.out
50
echo "Size(names);" >> t-groups.out
51
echo Read\(\"..\/TGROUPS.GAP\"\)\; >> t-groups.out
52
echo "for i in [1..Size(GROUPS)] do" >> t-groups.out
53
echo " SubgroupWords(GROUPS[i], names[i]);" >> t-groups.out
54
echo "od;" >> t-groups.out
55
echo "LogTo();" >> t-groups.out
56
57
58
# wir starten GAP und lassen es die Files mit den Worten
59
# fuer die Untergruppen anlegen
60
gap -o 1024m < t-groups.out
61
62
63
# Wir berechnen alle Raumgruppen und deren maximale translationengleiche
64
# Untergruppen bis auf Konjugation unter dem affinen Normalisator
65
# Dabei merken wir uns CARAT-Namen und Nummer eines Vertreters jeder Bahn
66
for x in dir.* ; do
67
cd $x
68
69
for y in ordnung.* ; do
70
cd $y
71
72
for z in * ; do
73
cd $z
74
75
for zz in group.* min.* max.* ; do
76
if [ -s $zz ] ; then
77
78
QtoZ $zz -D ;
79
for a in $zz.* ; do
80
Extensions -S $a
81
for b in $a.* ; do
82
echo $b
83
if ! TSubgroups -g -p -c $b $a words.$zz >> words.$zz ; then
84
echo $x/$y/$z/$b >> $DIRH/FEHLER
85
fi
86
rm ${b} ;
87
echo
88
echo
89
echo
90
done
91
rm $a ;
92
done
93
94
fi
95
done
96
97
cd ..
98
done
99
cd ..
100
done
101
102
cd $DIRH
103
104
done
105
106