Skip to content

Tutorials ​

Every tutorial is a Julia script whose code runs when this site is built, so the outputs on each page are PATHPACK.jl's own. Each one has a notebook download under its title, and all of them run as is in a Codespace.

New to PATHPACK.jl? Start with Get Started, then Road Networks and One Graph, Many Questions.

The Basics ​

TutorialWhat it showsSemiring
Road NetworksEvery travel time on a street grid, the most central intersection, and rows from a factorizationMinPlus
One Graph, Many QuestionsOne landscape, three questions: cheapest route, worst barrier, where a random walk goesMinPlus, MinMax, PlusProd
Shortest and Widest PathsA small directed graph, all pairs and single-source queriesMinPlus, MaxMin
Factorize Once, Query Many Timesmlu and triangular solves: some rows or columns without the whole matrixMinPlus

Other Questions, Same Call ​

TutorialWhat it showsSemiring
Longest Paths and SchedulesEarliest start times and the critical path of a projectMaxPlus
Most Reliable RoutesThe route most likely to work when links failMaxProd
Bandwidth and Widest PathsThe largest capacity between every pair of nodesMaxMin, MinMax
Access AuditsWho can read which files on a Linux file system, by any route, and the leak a bind mount opensOrAnd

Applications ​

TutorialWhat it showsSemiring
Exact Diffusion for GNNsPersonalized PageRank diffusion, the matrix PyTorch Geometric's GDC computesPlusProd
Isomap and Manifold LearningUnrolling a swiss roll from the distances of its nearest-neighbour graphMinPlus
Distances on SurfacesDistances along a folded surface, for spatial null models of brain mapsMinPlus

Scaling Up ​

PageWhat it shows
GPUs, One or Manyapsp_gpu on one GPU and on several, plans, and keeping results on the device
Performance GuideThreads, orderings, element types and when to use a GPU
BenchmarksPATHPACK.jl against GPU codes, graph libraries and the tools of each field

Released under the MIT License.