Skip to content

Tags: python-graphblas/graphblas-algorithms

Tags

2023.10.0

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Support Python 3.12 and update pre-commit versions (#79)

2023.6.0

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
[pre-commit.ci] pre-commit autoupdate (#69)

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

* Drop Python 3.8, which latest networkx dropped

2023.5.0

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add `bellman_ford_path` (#64)

* Add `bellman_ford_path`

* Make sure README.md lists all algorithms

2023.2.1

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Bump ruff to v0.0.253 (#50)

2023.2.1a0

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update publish_pypi GithubAction (#49)

2023.2.0

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add latest algorithms to README.md (#48)

2022.12.0

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
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

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add test to ensure dispatched functions in nxapi match networkx (#29)

* Add test to ensure dispatched 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

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
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

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
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