-
Notifications
You must be signed in to change notification settings - Fork 2
A HAP extension for crytallographic groups
License
gap-packages/hapcryst
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
(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.
About
A HAP extension for crytallographic groups
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published