|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface MatrixElementOperations<E>
An interface for specifying the behavior of graph/matrix operations for a particular element type.
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).
Method Summary | |
---|---|
Number |
computePathData(E e1,
E e2)
If either e1 or e2 is null, the Object reference returned should be null. |
Map<E,Number> |
getEdgeData()
Returns a map from edges to values. |
void |
mergePaths(E e,
Object pathData)
If either e or pathData is null, the effect of mergePaths() is implementation-dependent. |
Method Detail |
---|
void mergePaths(E e, 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 eNumber computePathData(E e1, E e2)
e1
- first edge from 2-edge path in input graph(s)e2
- second edge from 2-edge path in input graph(s)
Map<E,Number> getEdgeData()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |