1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
\myprogram{{tune\_qnn\_adaptive}}
{Construct a multiplex with prescribed inter-layer correlations.}
{$<$degs1$>$ $<$degs2$>$ $<$mu$>$ $<$eps$>$ $<$beta$>$ [RND|NAT|INV]}
\mydescription{This programs tunes the inter-layer degree correlation
exponent $\mu$. If we consider two layers of a multiplex,
and we denote by $k$ the degree of a node on the first layer
and by $q$ the degree of the same node on the second layers,
the inter-layer degree correlation function is defined as:
\begin{equation*}
\overline{q}(k) = \sum_{q'} q' P(q'|k)
\end{equation*}
where $\overline{q}(k)$ is the average degree on layer $2$
of nodes having degree $k$ on layer $1$.
The program assumes that we want to set the degree
correlation function such that:
\begin{equation*}
\overline{q}(k) = a k^{\mu}
\end{equation*}
where the exponent of the power-law function is given by
the user (it is indeed the parameter \textit{mu}), and
successively adjusts the pairing between nodes at the two
layers in order to obtain a correlation function as close
as possible to the desired one. The files \textit{degs1}
and \textit{degs2} contain, respectively, the degrees of
the nodes on the first layer and on the second layer.
The parameter \textit{eps} is the accuracy of \textit{mu}.
For instance, if \textit{mu} is set equal to -0.25
and \textit{eps} is equal to 0.0001, the program stops when
the configuration of node pairing corresponds to a value of
the exponent $\mu$ which differs from -0.25 by less than
0.0001.
The parameter \textit{beta} is the typical inverse
temperature of simulated annealing.
If no other parameter is specified, or if the last parameter
is \texttt{RND}, the program starts from a random pairing of
nodes. If the last parameter is \texttt{NAT} then the
program assumes that the initial pairing is the natural one,
where the nodes have the same ID on both layers. Finally,
if \texttt{INV} is specified, the initial pairing is the
inverse pairing, i.e. the one where node 0 on layer 1 is
paired with node N-1 on layer 2, and so on.
}
\myreturn{The program prints on \texttt{stdout} a pairing, i.e. a list
of lines in the format:
\hspace{0.5cm} \textit{IDL1 IDL2}
where \textit{IDL1} is the ID of the node on layer 1 and \textit{IDL2}
is the corresponding ID of the same node on layer 2.
}
\myreference{\refcorrelations}
|