directed-cubical: Finite directed cubical complexes and associated algorithms

[ bsd3, library, math ] [ Propose Tags ]

Finite directed cubical complexes and associated algorithms

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,
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:10:58Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3123 total (0 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]

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.