Copyright  Adam Saltz 

License  BSD3 
Maintainer  saltz.adam@gmail.com 
Stability  experimental 
Safe Haskell  Safe 
Language  Haskell2010 
Longer description to come.
 data Braid = Braid {
 braidWidth :: Int
 braidWord :: [Int]
 data Node a
 type Resolution = [Int]
 type Component = Set Int
 data BDiagram = BDiagram {}
 braidToPD :: Braid > PD
 crossingToNodes :: Int > Int > Int > [Node Int]
 resolve :: PD > Resolution > PD
 resolutions :: PD > [PD]
 resolutionToComponents :: PD > Set Component
 cubeOfResolutions :: PD > [BDiagram]
 braidCube :: Braid > [BDiagram]
 mirror :: Braid > Braid
 allRes :: PD > [Resolution]
Documentation
A Braid
is a width and word.
Integers in the word represent Artin generators and their invereses. E.g. [1,3,2]
represents the word sigma_1sigma_3sigma_2^{1}.
Braid  

type Resolution = [Int] Source
A Resolution
is a collection of integers. These should all be 0 or 1. At some point I will change this to
type Resolution = [Resolution']
and data Resolution' = One  Zero deriving (Show, Eq, Ord)
or somesuch.
A resolved BDiagram
has a Resolution
and a set of Component
s.
resolve :: PD > Resolution > PD Source
Take a PD
and a Resolution
and returns the resolved PD
.
Note that the output is always a list of Join
s.
resolutions :: PD > [PD] Source
Compute all resolutions of a PD
.
resolutionToComponents :: PD > Set Component Source
This is the only use for Data.Graph.
cubeOfResolutions :: PD > [BDiagram] Source
Take a PD
and returns a list of all the BDiagram
s of its Resolution
s.
allRes :: PD > [Resolution] Source
Utility function to return all the resolutions of a planar diagram. This amounts to all sequences of 0s and 1s of some length.