Qiskit / rustworkx

A high performance Python graph library implemented in Rust.
https://www.rustworkx.org
Apache License 2.0
1.07k stars 147 forks source link

Expand graph operations #440

Open georgios-ts opened 3 years ago

georgios-ts commented 3 years ago

What is the expected enhancement?

Graph operations (https://en.wikipedia.org/wiki/Graph_operations) produce new graphs from initial ones. Right now retworkx can compose, take the union of two graphs or return the complement of a graph. We can expand this list similar to NetworkX functionality https://networkx.org/documentation/stable/reference/algorithms/operators.html.

nahumsa commented 2 years ago

I would like to work on the cartesian_product of graphs. If anyone is already working on it, please let me know.

e-eight commented 2 years ago

I plan to work on the symmetric difference operation. If anyone is already working on it, please let me know.

nahumsa commented 2 years ago

Since that are a lot of graph operations that could be implemented, I think it is useful to have a summary of which operations are already implemented. Let me know if I missed something.

Operations: