# Vizualizing fundamental group

https://en.wikipedia.org/wiki/Computational_topology

https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BC%D0%BF%D0%BB%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%81

http://graphics.stanford.edu/courses/cs468-09-fall/

hmm wonder if that does it. they mention triangulation.

https://en.wikipedia.org/wiki/Triangulation_(topology)

https://en.wikipedia.org/wiki/Digital_manifold

## Table of Contents

- hmm that looks pretty similar… https://math.stackexchange.com/a/1792315/15108 autopology
- STRT [A] Visualisations for SU2, manually entangling loops autopologythink
- autopology
my initial notes
- TODO how to define manifolds? parametric? works for Rn Sn and Tn autopology
- TODO somehow use van kampen's theorem? autopology
- TODO mm. ok this ended up a bit different from what I imagined initially. still though, maybe contracting loops manually is ok, people are better at that? autopology
- TODO hmm. if you consider a torus, composed of two triangles, looks like all vertices are labeled in the same autopology

- DONE initial python impl in file:projects/fund/main.py autopology
- TODO [D] name it 'mental' (for fundamental) instead of topology? or pione?? autopology
- related autopologytopologyviz
- [C] SnapPea - Wikipedia autopology
- TODO [C] Dynamical triangulation of the 2-torus - YouTube autopologyqg
- [C] Keep it Simplex, Stupid! | Bartosz Milewski's Programming Cafe autopology
- STRT [C] summary on trying to understand triangulated fundamental group autopologytopology
- https://math.stackexchange.com/questions/1778421/fundamental-group-of-the-sphere-via-triangulation autopologytopology
- TODO [B] http://homepage.divms.uiowa.edu/~jsimon/COURSES/M201Fall08/HandoutsAndHomework/Graph1.pdf autopologytopology
- klein bottle (with triangulation) https://math.stackexchange.com/questions/1778465/fundamental-group-klein-bottle-triangulation autopologytopology
- edge-path https://en.wikipedia.org/wiki/Fundamental_group#Edge-path_group_of_a_simplicial_complex autopologytopology
- faces in triangulation must be distinct autopologytopology
- make sure you don't have loop in spanning tree autopologytopology
- fun fact: computing fundamental group is undecidable https://mathoverflow.net/a/304484/29889 (in terms of figuring out whether it's trivial) autopologytopology
- https://math.stackexchange.com/questions/1666146/fundamental-group-from-triangulation#comment3399175_1666146 autopologytopology
- basically, I don't understand what all they mean by subcomplex. why do they color all of it??? autopologytopology
- STRT book by Armstrong, p. 134. Don't really understand the statement, it's all very vague autopologytopology
- torus – here they mention there are quite a lot of relations… autopologytopology

- TODO [D] at.algebraic topology - Algorithm for computing fundamental group of simplicial complexes - MathOverflow autopology
- [D] at.algebraic topology - Algorithm for computing fundamental group of simplicial complexes - MathOverflow autopology

## ¶hmm that looks pretty similar… https://math.stackexchange.com/a/1792315/15108 autopology

## ¶STRT [A] Visualisations for SU2, manually entangling loops autopologythink

Approximate them by segments, that should work

### ¶TODO hmm. sample random loops and then try to contract them? autopologythink

## ¶ my initial notes autopology

Triangulate the manifold

then do some sort of random walk and stop at the initial point with some probability

then, do some sort of simulated annealing to transform the loops according to the certain rules.

basically, we can contract certain subpaths (or expand?) e.g. a -> b -> a can be contracted to a. unless the points are glued?

try to guess groups from equivalence classes? then try combining them and guessing against known groups?

to contract, define some sort of 'tension' function? not sure if makes sense

this is a conservative method in the sense that it can answer what your fundamental group is NOT

in a sense, fundamental group is a conservative concept too, it can answer what your topological space is NOT

triangulation, or squares?

if the point or edge is glued, treat it as special?

### ¶TODO how to define manifolds? parametric? works for Rn Sn and Tn autopology

### ¶TODO somehow use van kampen's theorem? autopology

### ¶TODO mm. ok this ended up a bit different from what I imagined initially. still though, maybe contracting loops manually is ok, people are better at that? autopology

basically you declare some of the loops as 'trivial', but manually

### ¶TODO hmm. if you consider a torus, composed of two triangles, looks like all vertices are labeled in the same autopology

however, that's not enough to classify, we should be considering edges instead?

## ¶DONE initial python impl in projects/fund/main.py autopology

pretty inefficient, should rewrite in rust for finer control. also, make multithreaded

## ¶TODO [D] name it 'mental' (for fundamental) instead of topology? or pione?? autopology

## ¶related autopologytopologyviz

## ¶[C] SnapPea - Wikipedia autopology

## ¶TODO [C] Dynamical triangulation of the 2-torus - YouTube autopologyqg

## ¶[C] Keep it Simplex, Stupid! | Bartosz Milewski's Programming Cafe autopology

## ¶STRT [C] summary on trying to understand triangulated fundamental group autopologytopology

### ¶https://math.stackexchange.com/questions/1778421/fundamental-group-of-the-sphere-via-triangulation autopologytopology

FG for the sphere

### ¶TODO [B] http://homepage.divms.uiowa.edu/~jsimon/COURSES/M201Fall08/HandoutsAndHomework/Graph1.pdf autopologytopology

most useful so far.. the idea is you construct spanning tree, choose a base point and assign all loops from base point to 1 (for each edge not in the maximal tree). does that work for higher dimensions??

### ¶klein bottle (with triangulation) https://math.stackexchange.com/questions/1778465/fundamental-group-klein-bottle-triangulation autopologytopology

### ¶edge-path https://en.wikipedia.org/wiki/Fundamental_group#Edge-path_group_of_a_simplicial_complex autopologytopology

### ¶faces in triangulation must be distinct autopologytopology

### ¶make sure you don't have loop in spanning tree autopologytopology

### ¶fun fact: computing fundamental group is undecidable https://mathoverflow.net/a/304484/29889 (in terms of figuring out whether it's trivial) autopologytopology

#### ¶TODO encode turing machines via topological spaces? lol autopologytopology

### ¶https://math.stackexchange.com/questions/1666146/fundamental-group-from-triangulation#comment3399175_1666146 autopologytopology

look at remaining

### ¶basically, I don't understand what all they mean by subcomplex. why do they color all of it??? autopologytopology

### ¶STRT book by Armstrong, p. 134. Don't really understand the statement, it's all very vague autopologytopology

### ¶torus – here they mention there are quite a lot of relations… autopologytopology

https://books.google.co.uk/books?id=xwzX9h_hyMUC&pg=PA202&lpg=PA202&dq=%22fundamental+group%22+triangulation+spanning+tree&source=bl&ots=m9NZ4m5lP4&sig=ACfU3U0epWUJDPHbx_RBUiq6uoTL6Zhj6Q&hl=en&sa=X&ved=2ahUKEwjhqcrXr7HgAhXwIjQIHbVmD10Q6AEwBXoECAkQAQ#v=onepage&q=%22fundamental%20group%22%20triangulation%20spanning%20tree&f=false

book: simplicial structure by ferrario, p.202

right, apparently to compute really effeciently we need van kampen theorem..

## ¶TODO [D] at.algebraic topology - Algorithm for computing fundamental group of simplicial complexes - MathOverflow autopology

Kruskal's algorithm will give you a maximal tree, and after that the presentation just involves listing the remaining edges as generators, and listing the relations that come from the 2-simplices. I don't really see anything interesting going on algorithmically once you've selected a maximal tree.

## ¶[D] at.algebraic topology - Algorithm for computing fundamental group of simplicial complexes - MathOverflow autopology

Depends on what you mean by "computing" and "algorithm". It is undecidable (even for a two-complex) whether the fundamental group is trivial, though computing a presentation is relatively easy.