Skip to content

Commit 45c797d

Browse files
authored
Sparse Int Adjacency matrix (#79)
* Sparce Int Adjacancy matrix * Factor and Varaible labels split to fit IIF * renamed and exported
1 parent c639c9c commit 45c797d

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/LightGraphsDFG/LightGraphsDFG.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export ls, lsf, getVariables, getFactors, getVariableIds, getFactorIds
1616
export getVariable, getFactor
1717
export updateVariable!, updateFactor!
1818
export deleteVariable!, deleteFactor!
19-
export getAdjacencyMatrix
19+
export getAdjacencyMatrix, getAdjacencyMatrixSparse
2020
export getAdjacencyMatrixDataFrame
2121
export getNeighbors
2222
export getSubgraphAroundNode

src/LightGraphsDFG/services/LightGraphsDFG.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,15 @@ function getAdjacencyMatrix(dfg::LightGraphsDFG)::Matrix{Union{Nothing, Symbol}}
525525
return adjMat
526526
end
527527

528+
function getAdjacencyMatrixSparse(dfg::LightGraphsDFG)
529+
adj = LightGraphs.adjacency_matrix(dfg.g)
530+
v_labels = getVariableIds(dfg)
531+
f_labels = getFactorIds(dfg)
532+
v_index = [dfg.g[s,:label] for s in v_labels]
533+
f_index = [dfg.g[s,:label] for s in f_labels]
534+
adjvf = adj[f_index, v_index]
535+
return adjvf, v_labels, f_labels
536+
end
528537

529538
"""
530539
$(SIGNATURES)

0 commit comments

Comments
 (0)