Supra-Adjacency Matrices
Multiplex networks can be represented as supra-adjacency matrices for tensor-based operations.
from py3plex.core import multinet, random_generators
# Generate network
network = random_generators.random_multilayer_ER(
num_nodes=500, num_layers=8, probability=0.05, directed=False)
# Get supra-adjacency matrix
supra_matrix = network.get_supra_adjacency_matrix()
# Visualize matrix
network.visualize_matrix({"display": True})
Examples
See:
example_supra_adjacency.py
- Supra-adjacency operationsexample_tensorial_manipulation.py
- Tensor operations
Repository: https://github.com/SkBlaz/Py3Plex/tree/master/examples

Some additional tensor-like indexing:
1 ## tensor-based operations examples
2
3 from py3plex.core import multinet
4 from py3plex.core import random_generators
5
6 ## initiate an instance of a random graph
7 ER_multilayer = random_generators.random_multilayer_ER(500,8,0.05,directed=False)
8
9 ## some simple visualization
10 visualization_params = {"display":True}
11 ER_multilayer.visualize_matrix(visualization_params)
12
13 some_nodes = [node for node in ER_multilayer.get_nodes()][0:5]
14 some_edges = [node for node in ER_multilayer.get_edges()][0:5]
15
16
17 ## random node is accessed as follows
18 print(ER_multilayer[some_nodes[0]])
19
20 ## and random edge as
21 print(ER_multilayer[some_edges[0][0]][some_edges[0][1]])