MultilayerGraphs.jl: Multilayer Network Science in Julia

07/27/2023, 3:50 PM4:00 PM UTC
32-123

Abstract:

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.

Description:

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.

Platinum sponsors

JuliaHub

Gold sponsors

ASML

Silver sponsors

Pumas AIQuEra Computing Inc.Relational AIJeffrey Sarnoff

Bronze sponsors

Jolin.ioBeacon BiosignalsMIT CSAILBoeing

Academic partners

NAWA

Local partners

Postmates

Fiscal Sponsor

NumFOCUS