directed-cubical: Finite directed cubical complexes and associated algorithms

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.



Finite directed cubical complexes and associated algorithms

[Skip to ReadMe]


Change logchangelog
Dependenciesbase (==4.6.*), bytestring (==0.10.*), containers (==0.5.*), deepseq (==1.3.*), hashable (==1.2.*), parallel (==3.2.*), QuickCheck (==2.6.*), unordered-containers (==0.2.*), vector (==0.10.*) [details]
Copyright(c) 2014, Michael D. Misamore
AuthorMichael D. Misamore
Source repositoryhead: git clone
UploadedSun Jun 8 15:07:35 UTC 2014 by mmisamore



Maintainers' corner

For package maintainers and hackage trustees

Readme for directed-cubical-

[back to package description]
# directed-cubical
## by Michael Misamore, Feb 2014

This package provides a library of functions for creating and manipulating finite directed cubical complexes, together with a module containing algorithms implementing the corner reduction techniques invented by the author for simplifying these complexes. Further enhancements will be added as time permits.  The underlying theory is described in the author's research article "Computing Path Categories of Finite Directed Cubical Complexes". 

Some examples are available under the "Examples" directory. To use them, unpack the tarball for this package into some directory, cd into directed-cubical-, and run "cabal install" (assuming the Haskell Platform has been installed already).  That should compile and install the modules on your system as well as build some library documentation (in the "dist" directory).  If all works okay so far, you should be able to change to the "Examples" directory and compile them with lines like

ghc -O2 swissFlag.hs -threaded

which should give an optimized, threaded program that runs the corner reduction algorithm against the famous "swiss flag" example. Multiple threads work like this:

./swissFlag +RTS -N4

where 4 is the number of cores in this example.