Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simplicial Homology

is a Wolfram Language paclet (package) for constructing, manipulating, and analysing abstract simplicial complexes. It provides tools for computing simplicial homology, performing common topological constructions, and studying combinatorial invariants of finite simplicial complexes. So far, Mathematica in-built or third party support for simplicial homology or discrete topology in general. Primarily, that motivated the development of this package. I have largely taken both inspiration and reference from the implementation of simplicial complexes in sagemath (Python).

Features include construction of simplicial complexes from facets or cells, computation of reduced and unreduced homology groups, Euler characteristic and f-vectors, joins, cones, suspensions, and access to a collection of standard and enumerated simplicial complexes for testing and experimentation. The paclet is designed for research, education, and computational topology workflows in the Wolfram Language.

Wolfram paclet repository: https://resources.wolframcloud.com/PacletRepository/resources/Taggar/SimplicialHomology/

Installation

Easily install the package from Wolfram paclet repository using the following command:

PacletInstall["Taggar/SimplicialHomology"]

Usage

Import the package by running

In[1]:= <<Taggar`SimplicialHomology`

Create a simplicial complex using facets as follows:

In[2]:= S1 = SimplicialComplex[{{1, 2}, {2, 3}, {3, 1}}];

or using one of the named objects:

In[3]:= torus = SimplicialComplex["Torus"];

Calculate the homology groups of torus:

In[4]:= HomologyGroup[torus]
Out[4]= <|0 -> Integers, 1 -> Superscript[Integers, 2], 2 -> Integers|>

or Betti numbers of S1:

In[5]:= BettiNumber[S1]
Out[5]= <|0 -> 1, 1 -> 1|>

Calculate cone, suspension, or join of spaces:

In[6]:= SimplicialCone[torus]
In[7]:= SimplicialSuspension[S1]
In[8]:= SimplicialJoin[S1, torus]

Check that two simplicial complexes are isomorphic to each other:

In[9]:= SimplicialIsomorphicQ[
            SimplicialComplex[{{1, 2, 3}}],
            SimplicialComplex[{{a, b, c}, {b, c}}]]
Out[9]= True

Find the automorphism group of a simplicial complex:

In[10]:= SimplicialAutomorphismGroup[
             SimplicialComplex["RealProjectivePlane"]]
Out[10]= PermutationGroup[{Cycles[{{3, 5},{4, 6}}], Cycles[{{2, 3}, {5, 6}}], Cycles[{{1, 2}, {3, 5}}]}]

Verify that it is isomorphic to the alternating group of degree 5:

In[11]:= ResourceFunction["FindGroupIsomorphism"][
             %,
             AlternatingGroup[5]]
Out[11]= True

For a full reference, visit the homepage at Wolfram paclet repository here.

Future scope

  • simplicial maps
  • relative homology
  • Stars, links, and related local constructions
  • wedge, products, and more

Version log

Version 1.0.0, on 10 July, 2026 — public release of v1.0.0.

Version 0.0.1, on 08 July, 2026 — initial upload with homology, Betti numbers and joins.

Contributions

are more than welcome. Open an issue to discuss!

References

[1] Munkres, J. R. Elements of Algebraic Topology, Addison Wesley Publishing Company, 1984.

[2] Hatcher A., Algebraic Topology, Cambridge University Press, Cambridge, 2002. W. Kühnel and T. F. Banchoff, The 9-vertex complex projective plane, Math. Intelligencer 5 (1983), no. 3, 11-22. doi:10.1007/BF03026567

[3] M. Hachimori. http://infoshako.sk.tsukuba.ac.jp/~hachi/math/library/dunce_hat_eng.html.

[4] Anders Björner and Frank H. Lutz, Simplicial manifolds, bistellar flips and a 16-vertex triangulation of the Poincaré homology 3-sphere, Experiment. Math. 9 (2000), no. 2, 275-289.

[5] U. Brehm and W. Kuhnel, 15-vertex triangulations of an 8-manifold, Math. Annalen 294 (1992), no. 1, 167-193.

[6] M. E. Rudin. An unshellable triangulation of a tetrahedron. Bull. Amer. Math. Soc. 64 (1958), 90-91.

[7] Frank H. Lutz, Császár's Torus, Electronic Geometry Model No. 2001.02.069 (2002). http://www.eg-models.de/models/Classical_Models/2001.02.069/_direct_link.html.

[8] G. M. Ziegler. Shelling polyhedral 3-balls and 4-polytopes. Discrete Comput. Geom. 19 (1998), 159-174. doi:10.1007/PL00009339

[9] https://doc.sagemath.org/html/en/reference/topology/sage/topology/simplicial_complex.html

[10] https://doc.sagemath.org/html/en/reference/topology/sage/topology/simplicial_complex_examples.html

[11] https://doc.sagemath.org/html/en/reference/references/index.html

[12] https://resources.wolframcloud.com/FunctionRepository/resources/FindGroupIsomorphism/

About

Simplicial homology in Wolfram language

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages