Copyright | Adam Saltz |
---|---|

License | BSD3 |

Maintainer | saltz.adam@gmail.com |

Stability | experimental |

Safe Haskell | Safe |

Language | Haskell2010 |

Longer description to come.

- gToD :: Generator -> BDiagram
- homGrading :: Generator -> Int
- qGrading :: Generator -> Int
- data Triviality
- nonTrivialCircle :: Int -> Component -> Triviality
- kGrading :: (Resolution, Set Component, Map Component Sign) -> Int -> Int
- khovanov :: Int -> BDiagram -> [Generator]
- khovanovComplex :: Int -> [BDiagram] -> Map Int (Set Generator)
- data ElMo
- whichMorphism :: BDiagram -> BDiagram -> Maybe ElMo
- morphismAction :: Maybe ElMo -> Generator -> Generator -> Bool
- kDrop :: Generator -> Generator -> Int
- kgrade' :: AlgGen -> Int
- kDrop' :: AlgGen -> AlgGen -> Int
- filteredMorphismAction :: Int -> Maybe ElMo -> Generator -> Generator -> Bool
- filteredMorphismsFrom :: Int -> Generator -> Set Generator -> Morphisms
- filteredComplexLevel :: Int -> Map Int (Set Generator) -> Int -> Morphisms
- psi :: Braid -> Generator
- psiCube :: Braid -> [BDiagram]

# Documentation

homGrading :: Generator -> Int Source

Compute the homological grading of a `Generator`

.

qGrading :: Generator -> Int Source

Compute the q-grading of a `Generator`

. In this convention, the Khovanov differential *lowers* the q-grading by 1.

data Triviality Source

Data type to represent whether a circle is trivial or not. Used to be Bool' but I got confused about which was `True`

and which was `False`

.

nonTrivialCircle :: Int -> Component -> Triviality Source

Determine if a component is non-trivial. To compute the mod 2 winding number about the braid axis, check how many of the 'top arcs' live in a component.

kGrading :: (Resolution, Set Component, Map Component Sign) -> Int -> Int Source

Compute the k-grading of a `Generator`

.

khovanov :: Int -> BDiagram -> [Generator] Source

"Apply the filtered Khovanov functor to a diagram." We still need the braid width as input to get the k-grading.

khovanovComplex :: Int -> [BDiagram] -> Map Int (Set Generator) Source

The next three functions apply the Khovanov functor to the vertices of a cube of resolutions.

whichMorphism :: BDiagram -> BDiagram -> Maybe ElMo Source

Take two diagrams and returns the `ElMo`

s between them, if there is one.

morphismAction :: Maybe ElMo -> Generator -> Generator -> Bool Source

Take a morphism and two generators and returns `True`

if there should be a 'Morphism from one to the other.

kDrop :: Generator -> Generator -> Int Source

Compute the difference in k-grading between two `Generator`

s.

filteredMorphismAction :: Int -> Maybe ElMo -> Generator -> Generator -> Bool Source

Like `morphismAction`

, but only connects two `Generators`

if the drop in k-grading from one to the other is less than or equal to a.

filteredComplexLevel :: Int -> Map Int (Set Generator) -> Int -> Morphisms Source

Applies `filteredMorphismsFrom`

to every `Generator`

in a list into the same list.

psi :: Braid -> Generator Source

Produces the `Generator`

corresponding to the transverse invariant of a braid.

psiCube :: Braid -> [BDiagram] Source

Produces the portion of the cube of resolutions of a braid which is relevant for computing kappa. This means only using resolutions whose weights are less than or equal to psi's. Note that this only uses the homological grading of psi, so we don't need a separate function for the quotient.