2 ms·
No, it's not nonsense at all. GraphBLAS does rely on semirings on sparse matrices, so it does use linear matrix algebra. But it doesn't use or compute a kerne
by DocSparse 7y ago
No, it's not nonsense at all. GraphBLAS does rely on semirings on sparse matrices, so it does use linear matrix algebra. But it doesn't use or compute a kernel explicitly.
A kernel is a vector x so that Ax = 0. There are places where y<m> = Ax = 0 is useful to compute (m is a mask, like a bulk-if statement, where y(i) is modified only if m(i)=1). If x is a set of nodes then A'x is the set union of the neighbors of x (assuming A(i,j) is the edge (i,j), which is typical but not required). Then if x has no neighbors in the set m, then y = 0. I use this in the GraphBLAS implementation of Luby's independent set algorithm (in my Demo/ folder of SuiteSparse/GraphBLAS).
There are lots of connections between linear algebra and graph theory. In this case, the idea of a kernel does find its place in a graph algorithm, but it's a special case. It's not something that appears everywhere in every graph algorithm.