DigplexQ is a Python package to perform computations with digraph-based complexes (directed flag complexes and path complexes). It is an "adjacency matrix-centered" package since it was designed so that the user can perform all computations just by entering an adjacency matrix as input.
This package implements several quantitative methods for the analysis of digraph-based complexes, mainly based on concepts from directed Q-Analysis.
- Free software: MIT license
- Documentation: Documentation
pip3 install digplexq
from digplexq.directed_q_analysis import *
from digplexq.digraph_based_complexes import *
from digplexq.structure_based_simplicial_measures import *
from digplexq.random_digraphs import *
from digplexq.utils import *
M = directed_erdos_renyi_GnM_model(20, 40, weight=False)
M = remove_double_edges(M) #remove double edges.
#Directed flag complex:
DFC = DirectedFlagComplex(M, "by_dimension_with_nodes")
#Maximal directed simplices:
maxsimp = MaximalSimplices(DFC)
#q-Adjacency matrix:
fast_q_adjacency_matrix(M, q=1)
#in-q-degree centrality
in_q_degree_centrality(M, q=1, results="nodes")
More examples are available in the Jupyter Notebook.
For versions prior to v0.0.8, you may encounter the following errors:
AttributeError: module 'networkx' has no attribute 'from_numpy_matrix'
AttributeError: module 'networkx' has no attribute 'to_numpy_matrix'
To solve these issues, downgrade networkx or use nx.from_numpy_array()
instead of nx.from_numpy_matrix()
, and nx.to_numpy_array()
instead of nx.to_numpy_matrix()
.