- Notifications
You must be signed in to change notification settings - Fork5
Open
Description
It would be super-duper handy to be able to automatically generate input graphs and node selection lists (i.e., masks) to run with both NetworkX andgraphblas-algorithms and compare results.
For example, it would be nice to cover:
- Graph and DiGraph
- With and w/o self-edges
- Symmetric and asymmetric DiGraph
- Purely structural (all edges 1)
- Edge values contain all combinations of {positive, 0, negative}, and with ints or floats
- Different edge densities, including full graph (w/ and w/o self-edges)
- Empty graph, only self-edges
- Some rows and/or columns are empty (i.e., no in-edges or out-edges or both)
- Perhaps some graphs with specific shapes: ring, tree, DAG, etc
- Bipartite graphs
- More than one groups of connected components (by construction)
- etc.
Perhaps we could leveragehypothesis to help generate random inputs. I would be delighted if we began with a very small subset of the above.
CC@jim22k who has done similar work in the past. Having this functionality would beincredibly useful in making sure we match NetworkX. For one thing, it would help us determine what to do about self-edges, whichmay be poorly defined at times for NetworkX (I really don't know if it is or not), but should be well-defined for us: do what NetworkX does.