Welcome to libcolgraph on the web!

Summary

libcolgraph is a fast and memory-efficient library to construct, manipulate, and visualize graphs of vertex colorings, also called 'coloring graphs'.

the library includes modules to manipulate coloring graphs, visualize them, and form conjectures about them, using an easy to use design. the library is primarily written in C++, with wrapped and supporting code also written in Python, Cython, HTML, JavaScript.

please choose an option below to access the relevant resource:

  1. libcolgraph API documentation
  2. libcolgraph web visualization demo
  3. libcolgraph source on github & installation instructions
What's a coloring graph?

graph coloring

given a finite collection of colors 1...k, graph coloring is the task to assign each vertex (node) of a graph a color from among those, such that no two adjacent vertices share the same color.

such an assignment of colors to a graph is called a 'coloring'. there can be many ways to color a graph.

coloring graph

we are interested in how multiple colorings are related to each other. a coloring graph is a graph of vertex colorings of some 'base' graph, where two colorings are adjacent if and only if they differ in the color assignment of exactly one vertex of the base graph.

this library is built specifically for studying coloring graphs. the library allows you to construct coloring graphs of arbitrary graphs, learn about their structure by running algorithms on them, and visualize them.