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