rustworkx icon indicating copy to clipboard operation
rustworkx copied to clipboard

Expand graph operations

Open georgios-ts opened this issue 4 years ago • 3 comments

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.

georgios-ts avatar Sep 08 '21 11:09 georgios-ts

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

nahumsa avatar Oct 18 '21 16:10 nahumsa

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

e-eight avatar Oct 27 '21 18:10 e-eight

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:

  • [x] Complement
  • [ ] Reverse
  • [x] Compose
  • [x] Union
  • [ ] Disjoint union
  • [ ] Intersection
  • [ ] Difference (#571)
  • [ ] Symmetric difference (@e-eight)
  • [ ] Full join
  • [x] Cartesian product
  • [ ] Lexicographic Product
  • [ ] Rooted Product
  • [ ] Strong Product
  • [x] Tensor Product (#472)
  • [ ] Power

nahumsa avatar Feb 10 '22 19:02 nahumsa