# Abstract Cell Complex points, edges, faces, etc. for grids

**URL:** <https://discourse.julialang.org/t/abstract-cell-complex-points-edges-faces-etc-for-grids/58460>\
**Category:** Specific Domains\
**Tags:** question, images, math, geometry\
**Created:** [April 2, 2021, 7:36pm UTC](https://discourse.julialang.org/t/abstract-cell-complex-points-edges-faces-etc-for-grids/58460 "2021-04-02T19:36:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![goretkin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goretkin/32/167_2.png) [@goretkin](https://discourse.julialang.org/u/goretkin)\
**Post date:** [April 2, 2021, 7:36pm UTC](https://discourse.julialang.org/t/abstract-cell-complex-points-edges-faces-etc-for-grids/58460/1 "2021-04-02T19:36:41Z")

</div>

Are there any packages that define a representation for n-dimensional grids as 0-cells, 1-cells, … , n-cells, with incidence relations among them?

I came across [[1710.07819] Geometric Computing with Chain Complexes: Design and Features of a Julia Package](https://arxiv.org/abs/1710.07819) and the associated [GitHub - cvdlab/LinearAlgebraicRepresentation.jl: Official repository of the package LAR for Julia.](https://github.com/cvdlab/LARLIB.jl) but I do not think it contains what I’m looking for.

For illustrations of what I mean, and related links:

- [Abstract cell complex - Wikipedia](https://en.wikipedia.org/wiki/Abstract_cell_complex#Abstract_Cell_Complex_Digital_Image_Representation) and
- [Grid edges](https://www.redblobgames.com/grids/edges/#diagram-corner-coordinates)
- [DGtal: Cellular grid space and topology, unoriented and oriented cells, incidence](https://dgtal.org/doc/stable/moduleCellularTopology.html)

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [April 4, 2021, 1:37am UTC](https://discourse.julialang.org/t/abstract-cell-complex-points-edges-faces-etc-for-grids/58460/2 "2021-04-04T01:37:53Z")

</div>

Thanks for posting this. I somehow missed this work. It looks quite relevant to my MeshCore.jl package.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [April 5, 2021, 1:08am UTC](https://discourse.julialang.org/t/abstract-cell-complex-points-edges-faces-etc-for-grids/58460/3 "2021-04-05T01:08:33Z")

</div>

I 've had a look at the paper. I liked it. As far as I can tell it implements the storage scheme based on the Hasse matrix ([GitHub - cvdlab/LinearAlgebraicRepresentation.jl: Official repository of the package LAR for Julia.](https://github.com/cvdlab/LinearAlgebraicRepresentation.jl)). Which is curious, since this very scheme is also used in DMPlex (petsc). DMPlex is supported with a few papers that speak to the efficiency of the scheme and the representation of data on the meshes.

So both groups published quite similar ideas. Neither of the groups cite the other one. The good news is one can pick and choose.
