{"slug": "show-hn-pysimplicial-python-library-for-simplicial-complexes-in-topological-ml", "title": "Show HN: Pysimplicial, Python library for simplicial complexes in topological ML", "summary": "Developer siritoriyowai released pysimplicial, an experimental Python library for simplicial complexes and topology-oriented machine learning, installable via pip from the kaifczxc-lab GitHub repository. The toolkit provides Pachner moves (2-2, 3-1, 1-3, 2-3, 3-2, 1-4, 4-1), 2D/3D triangulation generators, topological invariants such as genus and connected components, TQFT state-sum code, and converters for GNN/TNN/MLP, and grew out of the author's Open-Closed State-sum Neural Network research report. The author states the code is early-stage and not intended for production use.", "body_md": "pysimplicial, small experimental research toolkit for simplicial triangulations and topology-oriented ML experiments,\n\nIt grew out from my research report called [Open-Closed State-sum Neural Network](https://github.com/kaifczxc-lab/OCSSN)\n\nNote: This is experimental research code for topological deep learning. Not intended for production use\n\nAuthor: siritoriyowai\n\nStage: Early development / experimental\n\n```\npip install git+https://github.com/kaifczxc-lab/pysimplicial.git\n```\n\n(The visualization results can be found in [showcase](https://github.com/kaifczxc-lab/pysimplicial/blob/SiritoriProjects/Tutorials/showcase.ipynb))\n\n``` python\nimport PySimplicial.utils\nfrom PySimplicial.utils import Converters\n\nconv = Converters()\n\noctahedron_ = [(10, 50, 15),(10, 15, 25),(10, 25, 40),(10, 40, 50),(90, 15, 50),(90, 25, 15),(90, 40, 25),(90, 50, 40)]\n\noctahedron_relabeled = conv.relabel(octahedron_)\n\nprint(\"Let's visualize the octahedron!\")\nPySimplicial.utils.visualize_triangulation_2D(octahedron_relabeled)\n\nprint(\"Let's modify this octahedron with Pachner Move 1-3 and visualize it!\")\noctahedron_modify = PySimplicial.utils.move_1_3(octahedron_relabeled)\nPySimplicial.utils.visualize_triangulation_2D(octahedron_modify)\n\nprint(\"Let's return all back with Pachner move 3-1 and visualize it!\")\noctahedron_return = PySimplicial.utils.move_3_1(octahedron_modify)\nPySimplicial.utils.visualize_triangulation_2D(octahedron_return)\n\nprint(\"Let's calculate genus of this octahedron!\")\nCompute_genus = PySimplicial.utils.euler_characteristics(octahedron_return)\nprint(f\"genus={Compute_genus}\")\n\"\"\"\ngenus=0\n\"\"\"\n\nprint(\"Let's convert this figure to into the feature vector for MLP!\")\n\nConverter = conv.to_mlp(octahedron_return, return_chi=True) # return F, V, E, g, bins[0], bins[1], bins[2], bins[3], avg_degree, tpv ; \n# Where V = unique vertices, E = unique edges, F = number of faces, g = surface genus ; bins is Histogram of vertex degrees ; avg_degree is \"2 * unique edges / unique vertices\" ; tpv is \"Number of faces / unique vertices\"\nprint(f\"result={Converter}\")\n\"\"\"\nresult=(8, 6, 12, 0, 0, 6, 0, 0, 4.0, 1.3333333333333333)\n\"\"\"\n```\n\n- \nPachner Moves (2-2 ; 3-1 ; 1-3 ; 2-3 ; 3-2 ; 1-4 ; 4-1)\n- \nTriangulation generators (2D/3D torus)\n- \nTopological invariants (genus, connected components)\n- \nTQFT state-sum (on foundation of [Aaron D. Lauda , Hendryk Pfeiffer (2006): State sum construction of two-dimensional open-closed Topological Quantum Field Theories](https://arxiv.org/abs/math/0602047) )\n- \nConverters for GNN/TNN/MLP and 3D versions\n\nSee [showcase notebook](https://github.com/kaifczxc-lab/pysimplicial/blob/SiritoriProjects/Tutorials/showcase.ipynb) to see how all functions work (visualization & logs)\n\nDocumentation can be found in [Documents\\Documentation-Pysimplicial](https://github.com/kaifczxc-lab/pysimplicial/blob/SiritoriProjects/Documents/Documentation-Pysimplicial.md)\n\nContributions welcome! See [CONTRIBUTING.md](https://github.com/kaifczxc-lab/pysimplicial/blob/SiritoriProjects/CONTRIBUTING.md) for guidelines", "url": "https://wpnews.pro/news/show-hn-pysimplicial-python-library-for-simplicial-complexes-in-topological-ml", "canonical_source": "https://github.com/kaifczxc-lab/pysimplicial", "published_at": "2026-09-26 06:09:25+00:00", "updated_at": "2026-09-26 06:31:13.888661+00:00", "lang": "en", "topics": ["machine-learning", "ai-research", "developer-tools", "neural-networks"], "entities": ["pysimplicial", "siritoriyowai", "kaifczxc-lab", "Open-Closed State-sum Neural Network", "Aaron D. Lauda", "Hendryk Pfeiffer", "Python", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-pysimplicial-python-library-for-simplicial-complexes-in-topological-ml", "markdown": "https://wpnews.pro/news/show-hn-pysimplicial-python-library-for-simplicial-complexes-in-topological-ml.md", "text": "https://wpnews.pro/news/show-hn-pysimplicial-python-library-for-simplicial-complexes-in-topological-ml.txt", "jsonld": "https://wpnews.pro/news/show-hn-pysimplicial-python-library-for-simplicial-complexes-in-topological-ml.jsonld"}}