Tags: python-graphblas/graphblas-algorithms

2023.10.0

Toggle 2023.10.0's commit message
Support Python 3.12 and update pre-commit versions (#79)

2023.6.0

Toggle 2023.6.0's commit message
[pre-commit.ci] pre-commit autoupdate (#69)

* [pre-commit.ci] pre-commit autoupdate

* Drop Python 3.8, which latest networkx dropped

2023.5.0

Toggle 2023.5.0's commit message
Add `bellman_ford_path` (#64)

* Add `bellman_ford_path`

* Make sure README.md lists all algorithms

2023.2.1

Toggle 2023.2.1's commit message
Bump ruff to v0.0.253 (#50)

2023.2.1a0

Toggle 2023.2.1a0's commit message
Update publish_pypi Action (#49)

2023.2.0

Toggle 2023.2.0's commit message
Add latest algorithms to README.md (#48)

2022.12.0

Toggle 2022.12.0's commit message
Update README.md (#34)

* Update README.md

- Add conda install instructions
- Show basic usage of calling algorithms
- Show usage as a NetworkX plugin

2022.11.0

Toggle 2022.11.0's commit message
Add test to ensure dised functions in nxapi match networkx (#29)

* Add test to ensure dised functions in nxapi match networkx

* Uh, I was just testing the test ;)

* Require `pytest --check-structure` to run `test_match_nx.py` tests

2022.4.1

Toggle 2022.4.1's commit message
Add `triangles` (#3)

* Add `triangles`

I think the tests could be improved.  Some of the NetworkX tests get coverage,
but only compare to 0 triangles.  Also, we should test more with self-edges.

There may be better ways to compute triangles for:
- all nodes
- a subset of nodes
- a single node

There are *a lot* of different ways to compute triangles, so this could be
explored further in the future.  I hope the current PR is competitive.

* Handle and test triangle count with self-edges

* Add `has_self_edges=True` argument for single triangle count

* Tiny improvement

* Add transitivity

* Begin clustering coefficient; also, make computing properties easier.

* Better handling of properties

* Implement clustering for undirected, unweighted graphs

* Add `average_clustering` and helper functions to make things cleaner

2022.4.0

Toggle 2022.4.0's commit message
Add initial attempt at pagerank with hacky tests (#1)

* Add initial attempt at pagerank with hacky tests

* Install networkx too

* Fix failing test; maybe faster/better?

* Even better

* Split pagerank into two functions: grblas-native and networkx-facing.

Also, optimize if adjacency matrix is iso-valued.
I would bring this implementation to a benchmarking shootout!

* Change how we convert NetworkX dicts to vectors.

Also, sparsify vectors.  May be a decent idea?  Not sure.  It probably
doesn't matter most of the time, but I guess there's a chance it can make
the matrix-vector multiply faster for some inputs.  We don't drop 0s from
the input matrix, because that would be expensive.

* Clean up

* Don't be cute; don't use masks, because they're bad for benchmarks.

Also, add basic benchmark script.

* Update to use latest grblas; also, add verify option to bench script.

* Show grid of absolute differences between benchmark results