public interface MatrixElementOperations
Graph/matrix multiplication requires the definition of two operations:
Together, computePathData() and mergePaths() specify how the equivalent of the vector inner (dot) product is to function.
For instance, to implement the equivalent of standard matrix multiplication on two graphs, computePathData() should return the products of the weights of a two-edge path, and mergePaths() should add the output of computePathData() to an existing edge (or possibly create such an edge if none exists).
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
computePathData(Edge e1,
Edge e2)
If either e1 or e2 is null, the Object reference returned should be null.
|
void |
mergePaths(Edge e,
java.lang.Object pathData)
If either e or pathData is null, the effect of mergePaths() is
implementation-dependent.
|
void mergePaths(Edge e, java.lang.Object pathData)
e
- (possibly) existing edge in the output graph which
represents a path in the input graph(s)pathData
- data (which represents another path with the same source
and destination as e in the input graphs) which is to be merged into ejava.lang.Object computePathData(Edge e1, Edge e2)
e1
- first edge from 2-edge path in input graph(s)e2
- second edge from 2-edge path in input graph(s)