Skip to content

heitorbaldo/DigplexQ

Repository files navigation

drawing

License: MIT Open In Colab PyPI version


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.

Installation

pip3 install digplexq

Examples

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.

Issues

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().

Dependencies

About

DigplexQ is a Python package to perform computations with digraph-based complexes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published