/GraphHierarchy.jl

A package to get the hierarchical levels and influence centrality of a graph

Primary LanguageJuliaMIT LicenseMIT

(README.md is under construction)

GraphHierarchy

This package computes the Hierarchical structure of a graph, which was introduced here.

The module exports two functions graphHierarchicalStructure and graphHierarchicalCoefficients.

The function graphHierarchicalStructure takes a LightGraphs.jl graph, a LightGraphs.jl digraph or a sparse matrix as an argument and an optional boolean argument If the boolean value is set to true, then the result is given as BigFloat. The function has the following 3 methods:

graphHierarchicalStructure(g::SimpleDiGraph{T} where T <: Int, big::Bool=false)

graphHierarchicalStructure(g::SimpleGraph{T} where T <: Int, big::Bool=false)

graphHierarchicalStructure(A::SparseMatrixCSC{T1,T2} where T1 <: Number where T2 <: Int, big::Bool=false)

It returns the (HL,IC,HD) where HL is the vector of the hierarchical levels of the vertices, IC is the vector of the influence centralities of the vertices and HD is a sparse matrix with the hierarchical differences of each edge.

The function graphHierarchicalCoefficients takes as an argument the tuple (HL,IC,HD) or just HD and returns (dc,hi) where dc is the democracy coefficient and hi the hierarchical incoherence parameter of the graph.

Build Status Build Status Codecov Coveralls