python-graphblas/graphblas-algorithms

Raw vs Wrapped objects

jim22k opened this issue · 0 comments

Calling an algorithm should accept two types of inputs: a raw Matrix or a wrapped Graph.

  • When given a Matrix, the return type should be raw (i.e. a Matrix or Vector).
  • When given a Graph, the return type should be wrapped (i.e. a Graph or NodeMap).

This will make the interface more uniform when interacting with nxapi as Graphs will always be passed in, so a wrapper instance will be returned. But when using graphblas-algorithms without nxapi, the need for wrapping can be controlled by the user in how they call algorithms.