# Computing Homology

DevFeed: [Computing Homology](<https://devfeed.tech/articles/computing-homology-40311.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/04/10/computing-homology/>)

Published: 2013-04-10T16:38:25Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Computing](<https://devfeed.tech/topics/computing.md>), [Code](<https://devfeed.tech/topics/code.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Collections](<https://devfeed.tech/topics/collections.md>), [.NET 11 Preview 7](<https://devfeed.tech/topics/net-11-preview-7.md>)

Tags: [algebraic-topology](<https://devfeed.tech/tags/algebraic-topology.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [code](<https://devfeed.tech/tags/code.md>), [collections](<https://devfeed.tech/tags/collections.md>), [computing](<https://devfeed.tech/tags/computing.md>), [homology](<https://devfeed.tech/tags/homology.md>), [linear-maps](<https://devfeed.tech/tags/linear-maps.md>), [matrices](<https://devfeed.tech/tags/matrices.md>), [matrix](<https://devfeed.tech/tags/matrix.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [row-reduction](<https://devfeed.tech/tags/row-reduction.md>), [structure](<https://devfeed.tech/tags/structure.md>)

## AI overview

This tutorial explains an algorithmic approach to computing homology for a simplicial complex. It represents chain groups and boundary homomorphisms as matrices, uses row reduction, and works through an extended example for computing H₁.

## Source excerpt

Update: the mistakes made in the code posted here are fixed and explained in a subsequent post (one minor code bug was fixed here, and a less minor conceptual bug is fixed in the linked post). In our last post in this series on topology, we defined the homology group. Specifically, we built up a topological space as a simplicial complex (a mess of triangles glued together), we defined an algebraic way to represent collections of simplices called chains as vectors in a vector space, we defined the boundary homomorphism $ \partial_k$ as a linear map on chains, and finally defined the homology groups as the quotient vector spaces