Skip to content

Simplicial sets and other combinatorial models of geometric spaces

License

Notifications You must be signed in to change notification settings

AlgebraicJulia/CombinatorialSpaces.jl

Repository files navigation

CombinatorialSpaces.jl

Stable Documentation Development Documentation Code Coverage CI/CD

This package provides combinatorial models of geometric spaces, such as simplicial sets and combinatorial maps. These "combinatorial spaces" are useful in computational physics, computer graphics, and other applications where geometry plays a large role. They are also potentially useful in non-geometric applications, since structures like simplicial sets generalize graphs from binary relations to higher-arity relations.

Combinatorial spaces, like graphs, are typically C-sets (copresheaves) on some category C. They are implemented here using the general data structures for C-sets offered by Catlab.jl. Thus, this package complements and extends the family of graph data structures shipped with Catlab in the module Catlab.Graphs.

Current features include:

  • delta sets (semi-simplicial sets) in dimensions one and two, optionally oriented and/or embedded in Euclidean space
  • construction of the dual complex associated with a delta set, via combinatorial and geometric subdivision
  • core operators of the discrete exterior calculus, including the boundary, exterior deriviative, Hodge star, codifferential, and Laplace-Beltrami operators
  • experimental support for rotation systems and combinatorial maps

Installation

To install this package, open the Julia shell, press ] to enter Pkg mode, and run the command

(@v1.5) pkg> add CombinatorialSpaces

About

Simplicial sets and other combinatorial models of geometric spaces

Resources

License

Stars

Watchers

Forks

Packages

No packages published