Tutorials for TDA4j
These tutorials each take one question, one or two small data sets, and work through to an answer, showing the code and what it prints. They assume no topology beyond the idea of a hole; the user guide is the place for complete lists of options. Every number quoted on these pages is checked by a test that runs the same code, so the pages and the library cannot quietly drift apart.
Start here
- All the ways to call TDA4j: the same three tasks (a hand-built octahedron, a barcode from a file, circular coordinates) from the command line, MATLAB, Scala, a lab, and an engine run by hand.
- Finding a loop in noisy data: a first barcode, how to read it, and which bars to ignore.
Point clouds
- Choosing a complex: Vietoris-Rips, Čech, alpha, sparse Rips and witness complexes on the same data.
- Scaling up: four engines and edge collapse giving the same diagram at different cost.
- Noise and outliers: when stray points plant false holes, and how distance-to-measure weighting copes.
- Circular and toroidal coordinates: not just that there is a loop, but where each point is on it.
- Comparing barcodes: distances between barcodes, and barcodes as vectors for machine learning.
Other kinds of data
- Topology of an image: sublevel and superlevel sets, and the fast cubical engine.
- Networks and relations: Dowker complexes of a people-and-clubs table, and Dowker duality.
Spaces and algebra
- Telling spaces apart: Betti numbers over two fields, then cup products and Steenrod squares for what counting cannot see.
- Persistent group cohomology: the homology of a group as the group grows (a proof of concept).
The data sets. The point clouds are in data/ and are produced by a seeded generator in the repository's tests (TutorialData), which also checks that the files are exactly what the generator makes. Every other data set is generated in the code on its page.
In this article