petgraph
LAGraph
Our great sponsors
petgraph | LAGraph | |
---|---|---|
7 | 3 | |
2,648 | 221 | |
4.8% | 1.4% | |
7.0 | 8.2 | |
2 days ago | 12 days ago | |
Rust | C | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
petgraph
-
Borrow Checking, RC, GC, and the Eleven () Other Memory Safety Approaches
Are you just trying to throw shade on Rust?
https://doc.rust-lang.org/std/collections/struct.LinkedList....
> NOTE: It is almost always better to use Vec or VecDeque because array-based containers are generally faster, more memory efficient, and make better use of CPU cache.
https://docs.rs/petgraph 78 M downloads
-
The Hunt for the Missing Data Type
I used to think that since graphs are such a broad datastructure that can be represented in different ways depending on requirements that it just made more sense to implement them at a domain-ish level.
Then I saw Petgraph [0] which is the first time I had really looked at a generic graph library. It's very interesting, but I still have implemented graphs at a domain level.
[0] https://github.com/petgraph/petgraph
-
Many of the typical "Algorithms" as plain Rust implementation
For graph algorithms specifically, also consider looking at the implementations in petgraph.
-
2-way Weak
Take a look at: https://github.com/petgraph/petgraph
-
autograph v0.1.0
Render the backward "graph" using petgraph for visualization and debugging purposes.
-
Another graph library :)
I second the need for quickcheck-style tests. I implemented a matching algorithm in petgraph, and quickcheck discovered so many bugs on non-trivial graphs. Thanks to it, I am now much more confident that it is indeed correct.
-
Why Rust for Robots?
petgraph: Graph data structure library, compatible with Rust
LAGraph
-
The Hunt for the Missing Data Type
> you probably want more specialised tools like BLAS/LAPACK
The GraphBLAS and LAGraph are sparse matrix optimized libraries for this exact purpose:
https://github.com/DrTimothyAldenDavis/GraphBLAS
https://github.com/GraphBLAS/LAGraph/
- A windowed graph Fourier transform
-
[D] Why I'm Lukewarm on Graph Neural Networks
I work on GraphBLAS, primarily on its LAGraph library and on tutorials. In the last few years, the GraphBLAS community has made a lot of progress on more efficient sparse matrix algorithms and porting graph algorithms to linear algebra – I hope LAGraph can play the role of a more efficient NetworkX in the future. The output of most LAGraph algorithms is a bunch of vectors/matrices so piping these into machine learning algorithms should be possible (and probably more efficient than using other representations).
What are some alternatives?
autograph - Machine Learning Library for Rust
node2vec-c - node2vec implementation in C++
rosrust - Pure Rust implementation of a ROS client library
cleora - Cleora AI is a general-purpose model for efficient, scalable learning of stable and inductive entity embeddings for heterogeneous relational data.
optimization-engine - Nonconvex embedded optimization: code generation for fast real-time optimization
prepona - A graph crate with simplicity in mind
nphysics - 2 and 3-dimensional rigid body physics engine for Rust.
graph-force - Python library for embedding large graphs in 2D space, using force-directed layouts.
openrr - Open Rust Robotics
ros2_rust - Rust bindings for ROS 2
rustros_tf - A port of ROS's TF library to rust
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧