Portability | portable |
---|---|
Stability | experimental |
Maintainer | m.misamore@gmail.com |
Safe Haskell | None |
Algorithms for simplifying finite directed cubical complexes by removing corner vertices; this operation is fully faithful on path categories, as demonstrated by the author.
- cmplxCornersNaive :: CubeCmplx -> HashSet (Vertex, CubeCell)
- cmplxSpanIntCorners :: CubeCmplx -> VertSpan -> HashSet (Vertex, CubeCell)
- cmplxCorners :: CubeCmplx -> HashSet (Vertex, CubeCell)
- cmplxCornersInt :: CubeCmplx -> VertSpan -> HashSet (Vertex, CubeCell)
- cmplxReduce' :: CubeCmplx -> [VertSpan] -> [CubeCmplx]
- cmplxReduce :: CubeCmplx -> [VertSpan] -> CubeCmplx
Finding corners
cmplxCornersNaive :: CubeCmplx -> HashSet (Vertex, CubeCell)Source
Naive algorithm for finding corner vertices of a cubical complex. Works well whenever the complex has relatively few top-cells.
cmplxSpanIntCorners :: CubeCmplx -> VertSpan -> HashSet (Vertex, CubeCell)Source
Given a cubical complex and a vertex span to which it belongs, determine the set of corner vertices that belong to the interior of the span using the naive algorithm.
cmplxCorners :: CubeCmplx -> HashSet (Vertex, CubeCell)Source
Memory-efficient parallelized algorithm for determining corner vertices of any finite directed cubical complex whose vertices all have nonzero coordinates.
cmplxCornersInt :: CubeCmplx -> VertSpan -> HashSet (Vertex, CubeCell)Source
Given a cubical complex where all vertices have nonzero coordinates, determine the set of corner vertices that belong to the interior of the given span using the parallel algorithm.
Corner removal
cmplxReduce' :: CubeCmplx -> [VertSpan] -> [CubeCmplx]Source
Given a complex whose vertices have nonzero coordinates, reduce it in parallel, optionally excluding some spans from the set of corner vertices. Return the intermediate complexes in a list.
cmplxReduce :: CubeCmplx -> [VertSpan] -> CubeCmplxSource
Given a complex whose vertices have nonzero coordinates, reduce it in parallel, optionally excluding some spans from the set of corner vertices.