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.

[maintain] [Publish]


Finite directed cubical complexes and associated algorithms

[Skip to Readme]


Change log changelog
Dependencies base (>=4.6 && <4.7), bytestring (>=0.10 && <0.11), containers (>=0.5 && <0.6), deepseq (>=1.3 && <1.4), hashable (>=1.2 && <1.3), parallel (>=3.2 && <3.3), QuickCheck (>=2.6 && <2.7), unordered-containers (>=0.2 && <0.3), vector (>=0.10 && <0.11) [details]
License BSD-3-Clause
Copyright (c) 2014, Michael D. Misamore
Author Michael D. Misamore
Category Math
Source repo head: git clone
Uploaded by mmisamore at 2014-06-08T15:07:35Z



Maintainer's 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.