JuliaCon 2023

MultilayerGraphs.jl: Multilayer Network Science in Julia
2023-07-27 , 32-123

MultilayerGraphs.jl is a Julia package for the creation, manipulation and analysis of multilayer graphs, which have been adopted to model a wide range of complex systems from bio-chemical to socio-technical networks.

We will synthetically introduce multilayer network science, illustrate some of the main features of the current version of the package and talk about its future developments.


MultilayerGraphs.jl is a Julia package for the creation, manipulation and analysis of the structure, dynamics and functions of multilayer graphs.

A multilayer graph consists of multiple subgraphs called layers which can be interconnected through bipartite graphs called interlayers.

In order to formally represent multilayer networks, several theoretical paradigms have been proposed (e.g. see Bianconi (2018) and De Domenico (2022)) and adopted to model the structure and dynamics of a wide spectrum of high-dimensional, multi-scale, time-dependent complex systems including molecular, neuronal, social, ecological and economic networks (e.g. see Amato et al. (2017), DeDomenico (2017), Timteo et al. (2018), Aleta et al. (2020), Aleta et al. (2022)).

The package features an implementation that maps a standard integer-labelled vertex representation to a more user-friendly framework exporting all the objects a practitioner would expect such as nodes, vertices, layers, interlayers, etc.

MultilayerGraphs.jl has been integrated with the JuliaGraphs and the JuliaDynamics ecosystems through:

  • the extension of Graphs.jl with several methods and metrics including the multilayer eigenvector centrality, the multilayer modularity and the Von Newman entropy;
  • the compatibility with Agents.jl allowing for agent-based modelling on general multilayer networks.

In our talk we will briefly introduce the theory and applications of multilayer graphs and showcase some of the main features of the current version of the package through a quick tutorial including:

  • how to install the package;
  • how to define layers and interlayers with a variety of constructors and underlying graphs;
  • how to construct a directed multilayer graph with those layers and interlayers;
  • how to add nodes, vertices and edges to the multilayer graph;
  • how to compute some standard multilayer metrics.

For a more comprehensive exploration of the package functionalities and further details on the future developments the user is invited to consult the package README, documentation and issues.

See also:

Main Activities

  • Mathematics at the University of Trento;
  • Mathematical, statistical and computational modelling of complex systems at the Interdisciplinary Physics Team (InPhyT);
  • Developing FOSS at InPhyT, UniTO-SEPI, JuliaEpi, JuliaHealth, JuliaGraphs;
  • Working on NeuronalModelling.jl: a flexible and high-performance computational framework for the specification, calibration and simulation of quantitative single-neuron models;
  • Learning about automated theorem provers and interactive proof assistants to formalise, digitise and verify mathematical assertions.

Main Contacts

M. Sc. student in Physics of Complex Systems at the University of Turin | Complex systems modeling
InPhyT | Open source development UniTo-SEPI, JuliaEpi, JuliaHealth, JuliaGraphs.

  • Soon working on my thesis at CENTAI;
  • Working on NeuronalModelling.jl: a flexible and high-performance computational framework for the specification, calibration and simulation of quantitative single-neuron models.

Contacts: