1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
(C) Marc Roeder 2007-2008
HAPcryst -- A GAP4 extension for HAP calculating
resolutions for Bieberbach groups
Marc Roeder
(NUI Galway, Ireland)
This package is an add-on for Graham Ellis' HAP package. HAPcryst
implements some functions for crystallographic groups (namely
OrbitStabilizer-type methods). It is also capable of calculating free
resolutions for Bieberbach groups.
HAPcryst is distributed under the terms of the GNU General Public
License version 2.0 or later (at your convenience). See LICENSE
for the text of version 2 or www.http://gnu.org/copyleft/gpl.html
Please send bug reports to
<https://github.com/gap-packages/hapcryst/issues>
Installation
------------
HAPcryst depends on the following packages:
hap (as HAPcryst is a extension of HAP)
polymaking (which in turn depends on external software)
Cryst
HAPcryst will not load if you don't have a recent version of those
packages installed.
The following packages are not required but suggested:
Carat
CrystCat
GAPDoc
1. Download the package archive
HAPcryst<ver>.tar.bz2
HAPcryst<ver>.tar.gz
HAPcryst<ver>-win.zip
(where <ver> is some version number) to the directory pkg/ of the
GAP home directory. If you do not have permission to do so, create
a directory called gap/pkg in your home directory.
2. change directory to pkg/ and unpack the archive using the according command:
tar -xjf HAPcryst<ver>.tar.bz2
tar -xzf HAPcryst<ver>.tar.gz
unzip HAPcryst<ver>-win.zip
(replace <ver> with the version number)
3. start GAP. If you have created the directory gap/pkg in your home
directory, use "gap -l '<homedir>/gap;'" where <homedir> is the path of
your home directory (use "pwd" to find out what it is, if you don't know)
4. Call gap and type "LoadPackage("hapcryst");" to load HAPcryst.
If GAP returns some error messages, load hap.
5. Run the test file by calling "ReadPackage("hapcryst","tst/testall.g");"
Recommendation:
--------------
Calculating resolutions of Bieberbach groups involves convex hull
computations. polymake by default uses cdd to compute convex
hulls. Experiments suggest that lrs is the more suitable algorithm for
the convex hull computations done in HAPcryst than the standard
cdd. You can change the behaviour of polymake of by editing the file
"<homedir>/.polymake/prefer.pl" It should contain a section like this
(just make sure lrs is before cdd, the position of beneath_beyond does
not matter):
#########################################
application polytope;
prefer "*.convex_hull lrs, beneath_beyond, cdd";
Documentation
-------------
The documentation of the package can be found in the doc/ subdirectory.
A second part of the documentation describes datatypes used in HAPcryst.
This can be found in the lib/datatypes/doc subdirectory of the HAPcryst
main directory
Examples
--------
The directory "examples" contains some code that generates pictures
(JavaView applets) of Dirichlet domains of 3 dimensional Bieberbach
groups with coloured orbits (of the group acting on the faces of the
tessellation of R^3).
Just say
gap> ReadPackage("hapcryst","examples/3dimBieberbachFD.gap");
gap> viewFundamentalDomain([0,0,0],1);
for instructions see examples/3dimBieberbacFD.gap in the hapcryst
package tree. The functions will also generate pictures of Dirichlet
domains for non-Bieberbach groups, but the orientation of the edges
show doesn't necessarily make sense any more.
|