The directed-cubical package

[Tags:bsd3, library]

Finite Directed Cubical Complexes and associated algorithms

[Skip to Readme]


Dependencies base (==4.6.*), containers (==0.5.*), deepseq (==1.3.*), hashable (==1.2.*), parallel (==3.2.*), QuickCheck (==2.6.*), unordered-containers (==0.2.*), vector (==0.10.*) [details]
License BSD3
Copyright (c) 2014, Michael D. Misamore
Author Michael D. Misamore
Category Math
Source repository head: git clone
Uploaded Fri Feb 21 22:32:35 UTC 2014 by mmisamore
Distributions NixOS:
Downloads 900 total (9 in the last 30 days)
0 []
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for directed-cubical

Readme for directed-cubical-

# 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.