graph-embed is a small library for (multi-level) graph partitioning and embedding.
To build the project:
- mkdir build && cd build
- cmake ../
- make -j9
Graphs can be read in using linalgcpp.
Once imported, partition the graph using
partition::partition which takes a graph and a coarsening factor. This returns a hierarchy of partitions of the given graph, which each coarsen approximately by the given coarsening factor.
These can be used to create a hierarchy of graphs.
partition::embed with the hierarchy of graphs, hierarchy of partitions, and desired dimension. This returns a vector of coordinates, indexed by the vertices of the graph.
See examples/embed.cpp and examples/embedder.cpp for an example.
graph-embed was created by Benjamin Quiring (email@example.com) at LLNL.
Please email firstname.lastname@example.org if you are interested in this project.
Feel free to open a pull request to contribute.
This project is licensed under the LGPL-2.1 License. See the LICENSE file for details.