LICENSE=BSD-3-ClauseCGO_ENABLED=0go-graphalgo is planned (wave 3 of the go-scikit roadmap): matching, isomorphism, cut extraction, the centralities gonum lacks and a MATLAB-style graph/digraph facade over gonum/graph, validated against NetworkX. No repository holds code yet.
status planned (wave 3) package graph (wave 3) plan github.com/go-scikit/roadmap
Nothing here is released. This is the scope of the plan, as PLAN.md states it: item 16 of wave 3 (go-graphalgo: matching, isomorphism, communities, the centralities gonum lacks; gonum/graph already has max flow and betweenness, so they are reused and not rewritten).
Hopcroft-Karp for bipartite graphs and Edmonds' blossom algorithm for general graphs: gonum has neither.
VF2 for matching subgraphs and a canonical labelling after nauty for canonical forms.
Minimum-cut extraction from gonum's Dinic maximum flow, and push-relabel only if it is needed.
The ones gonum lacks; Brandes betweenness, PageRank and HITS are already there and are reused.
graph, digraph, adjacency, incidence and Laplacian matrices over gonum/graph, which already covers the structures.
NetworkX (BSD-3-Clause) is the oracle; the igraph C core (GPL-2.0) is an oracle only.
Every item of the plan is validated against the tools that are the reference in its domain, driven as oracles from Go. These are plans, taken from the roadmap's bibliography; no result exists yet.
Integer-weight shortest paths, flow values, matching sizes and component partitions equal NetworkX’s. (planned)
Louvain and Leiden are not deterministic: the seed is fixed and modularity is compared within a tolerance, not labels. (planned)
SNAP graphs and the DIMACS implementation-challenge instances for flows, matching and shortest paths. (planned)
The documentation (Hugo + Hextra): the scope, the plan and one page per planned package, with its references. Source โ
Logos and icons for the organization, in SVG / PNG / JPG / ICO / ICNS across colour, white and black variants.
Graph algorithms that gonum/graph lacks, behind a MATLAB-style graph and digraph facade. No repository yet; the name is a working name.
The plan and its progress are public: PLAN.md says what each domain covers and in which wave, STATUS.md says where each item stands. The documentation describes the planned packages and the references they will be validated against.
See the organization on GitHub โ