Algebraic Topology: Functors and Invariants
Algebraic topology provides a bridge between the continuous world of topology and the discrete, structured world of algebra. The central goal is to assign algebraic invariants (groups, rings, etc.) to topological spaces such that homeomorphic—and often homotopy equivalent—spaces possess isomorphic algebraic structures.
1. Homotopy and Homotopy Equivalence
Two continuous maps are homotopic, denoted , if there exists a continuous map (the homotopy) such that and for all .
A map is a homotopy equivalence if there exists a map such that and . If such a map exists, we say and have the same homotopy type ().
Homotopy equivalence is a coarser relation than homeomorphism; for instance, is homotopy equivalent to a point (it is contractible), though they are clearly not homeomorphic for .
2. The Fundamental Group
The fundamental group captures the way loops can be drawn in a space. Let be a topological space and a base point. A loop is a map with .
We define as the set of homotopy classes of loops (relative to endpoints), where the group operation is the concatenation of loops:
The Fundamental Group of the Circle
A classic result is . This is proved by considering the universal cover given by . A loop in lifts to a path in starting at and ending at some , which is the degree (or winding number) of the loop.
3. Covering Spaces
A map is a covering map if every has an open neighborhood such that is a disjoint union of open sets in , each mapped homeomorphically onto by .
The Path Lifting Property and Homotopy Lifting Property are fundamental:
- Given a path and a lift of , there is a unique lift .
- A homotopy lifts uniquely given a lift of .
These properties imply that is an injective homomorphism, and its image is a subgroup whose conjugacy class corresponds to the covering .
4. Simplicial Homology
While captures 1-dimensional “holes,” homology provides a way to detect -dimensional holes.
An -simplex is the convex hull of points in general position. A simplicial complex is a collection of simplices such that every face of a simplex in is also in .
Let be the free abelian group generated by the -simplices of . Elements of are called -chains.
The Boundary Operator
The boundary operator is defined linearly on simplices by: where denotes that the vertex is omitted.
Lemma: . Proof: Each term appears twice with opposite signs (due to the vs indexing), so they cancel.
Because , we define the -th homology group:
5. Betti Numbers and Euler Characteristic
The -th Betti number is the rank of the free part of . Intuitively:
- is the number of connected components.
- is the number of 1-dimensional holes (loops).
- is the number of 2-dimensional holes (voids).
The Euler Characteristic is a topological invariant defined as: For a finite simplicial complex with vertices, edges, and faces, this identity holds: .
6. Functoriality
Algebraic topology is fundamentally functorial. A continuous map induces:
- A homomorphism .
- Homomorphisms for all .
Crucially, and . This allows us to use algebra to prove topological impossibilities.
7. Famous Applications
Brouwer Fixed Point Theorem
Theorem: Every continuous map has a fixed point. Proof: If has no fixed point, we can construct a retraction by sending to the intersection of the ray from through with the boundary . However, and . Functoriality would require the identity on to factor through 0, a contradiction.
The Hairy Ball Theorem
Theorem: A continuous tangent vector field on must vanish at some point if is even. This follows from the fact that if a non-vanishing vector field existed, the antipodal map would be homotopic to the identity. However, the antipodal map has degree , while the identity has degree 1. For even , these are different.
Computational Example: Euler Characteristic
The following Python snippet computes the Euler characteristic of a simplicial complex represented by its simplices across dimensions.
def compute_euler_characteristic(simplices_by_dim):
"""
simplices_by_dim: Dict where keys are dimension (int)
and values are lists of simplices (tuples of vertex indices).
"""
chi = 0
for dim, simplices in simplices_by_dim.items():
count = len(simplices)
# Standard alternating sum Formula: sum (-1)^n * n_k
if dim % 2 == 0:
chi += count
else:
chi -= count
return chi
# Example: A Tetrahedron (homeomorphic to S^2)
# 4 vertices, 6 edges, 4 faces
tetrahedron = {
0: [(0,), (1,), (2,), (3,)],
1: [(0,1), (0,2), (0,3), (1,2), (1,3), (2,3)],
2: [(0,1,2), (0,1,3), (0,2,3), (1,2,3)]
}
chi_sphere = compute_euler_characteristic(tetrahedron)
print(f"Euler Characteristic of Sphere (Tetrahedron): {chi_sphere}")
# Example: A Torus (triangulated)
# A minimal triangulation of the torus requires V=7, E=21, F=14.
torus = {
0: [i for i in range(7)],
1: [i for i in range(21)],
2: [i for i in range(14)]
}
chi_torus = compute_euler_characteristic(torus)
print(f"Euler Characteristic of Torus: {chi_torus}")