summaryrefslogtreecommitdiff
path: root/doc/latex/latex/models
diff options
context:
space:
mode:
Diffstat (limited to 'doc/latex/latex/models')
-rw-r--r--doc/latex/latex/models/correlations/tune_qnn_adaptive.tex64
-rw-r--r--doc/latex/latex/models/correlations/tune_rho.tex45
-rw-r--r--doc/latex/latex/models/growth/nibilab_linear_delay.tex67
-rw-r--r--doc/latex/latex/models/growth/nibilab_linear_delay_mix.tex68
-rw-r--r--doc/latex/latex/models/growth/nibilab_linear_delta.tex57
-rw-r--r--doc/latex/latex/models/growth/nibilab_linear_random_times.tex63
-rw-r--r--doc/latex/latex/models/growth/nibilab_nonlinear.tex60
-rw-r--r--doc/latex/latex/models/growth/node_deg_over_time.tex50
-rw-r--r--doc/latex/latex/models/nullmodels/model_MDM.tex37
-rw-r--r--doc/latex/latex/models/nullmodels/model_MSM.tex38
-rw-r--r--doc/latex/latex/models/nullmodels/model_hypergeometric.tex33
-rw-r--r--doc/latex/latex/models/nullmodels/model_layer_growth.tex46
12 files changed, 628 insertions, 0 deletions
diff --git a/doc/latex/latex/models/correlations/tune_qnn_adaptive.tex b/doc/latex/latex/models/correlations/tune_qnn_adaptive.tex
new file mode 100644
index 0000000..016b674
--- /dev/null
+++ b/doc/latex/latex/models/correlations/tune_qnn_adaptive.tex
@@ -0,0 +1,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}
diff --git a/doc/latex/latex/models/correlations/tune_rho.tex b/doc/latex/latex/models/correlations/tune_rho.tex
new file mode 100644
index 0000000..27b6079
--- /dev/null
+++ b/doc/latex/latex/models/correlations/tune_rho.tex
@@ -0,0 +1,45 @@
+\myprogram{{tune\_rho}}
+ {Construct a multiplex with prescribed inter-layer correlations.}
+ {$<$rank1$>$ $<$rank2$>$ $<$rho$>$ $<$eps$>$ $<$beta$>$ [RND|NAT|INV]}
+
+\mydescription{This programs tunes the inter-layer degree correlation
+ coefficient $\rho$ (Spearman's rank correlation) of two
+ layers, by adjusting the inter-layer pairing of nodes. The
+ files \textit{rank1} and \textit{rank2} are the rankings of
+ nodes in the first and second layer, where the n-th line of
+ the file contains the rank of the n-th node (the highest
+ ranked node has rank equal to 1).
+
+ The parameter \textit{rho} is the desired value of the
+ Spearman's rank correlation coefficient, while \textit{eps}
+ is the accuracy of \textit{rho}. For instance,
+ if \textit{rho} 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 $\rho$ 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}
diff --git a/doc/latex/latex/models/growth/nibilab_linear_delay.tex b/doc/latex/latex/models/growth/nibilab_linear_delay.tex
new file mode 100644
index 0000000..afbf083
--- /dev/null
+++ b/doc/latex/latex/models/growth/nibilab_linear_delay.tex
@@ -0,0 +1,67 @@
+\myprogram{{nibilab\_linear\_delay}}
+ {Multiplex linear preferential attachment model --
+ Asynchronous arrival.}
+ {$<$N$>$ $<$m$>$ $<$m0$>$ $<$outfile$>$ $<$a$>$ $<$b$>$
+ $<$c$>$ $<$d$>$ $<$beta$>$}
+
+\mydescription{Grow a two-layer multiplex network using the multiplex linear
+ preferential attachment model by Nicosia, Bianconi, Latora,
+ Barthelemy (NiBiLaB).
+
+ The probability for a newly arrived node $i$ to create a
+ link to node $j$ on layer $1$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{1} \propto ak\lay{1}_j + bk\lay{2}_j
+ \end{equation*}
+
+ and the dual probability for $i$ to create a link to $j$ on
+ layer $2$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{2} \propto ck\lay{1}_j + dk\lay{2}_j
+ \end{equation*}
+
+ Each new node arrives first on layer $1$, and its replica on
+ the layer $2$ appears after a time delay $\tau$ sampled from
+ the power-law function:
+
+ \begin{equation*}
+ P(\tau) \sim \tau^{-\beta}
+ \end{equation*}
+
+ The (mandatory) parameters are as follows:
+
+ \begin{itemize}
+
+ \item \textbf{N} number of nodes in the final graph
+
+ \item \textbf{m} number of new edges brought by each new node
+
+ \item \textbf{m0} number of nodes in the initial seed
+ graph. \textit{m0} must be larger than of equal
+ to \textit{m}.
+
+ \item \textbf{outfile} the name of the file which will contain the
+
+ \item \textbf{a,b,c,d} the coefficients of the attaching probability
+ function
+
+ \item \textbf{beta} the exponent of the power-law delay
+ function which determines the arrival of replicas on layer $2$
+
+ \end{itemize}
+ }
+
+
+\myreturn{The program dumps on the file \texttt{outfile} the
+ (undirected) edge list of the resulting network. Each line of the
+ file is in the format:
+
+ \hspace{0.5cm}\textit{src\_ID} \textit{dest\_ID}
+
+ where \textit{src\_ID} and \textit{dest\_ID} are the IDs of the two
+ endpoints of an edge.
+}
+
+\myreference{\refgrowth}
diff --git a/doc/latex/latex/models/growth/nibilab_linear_delay_mix.tex b/doc/latex/latex/models/growth/nibilab_linear_delay_mix.tex
new file mode 100644
index 0000000..5863951
--- /dev/null
+++ b/doc/latex/latex/models/growth/nibilab_linear_delay_mix.tex
@@ -0,0 +1,68 @@
+\myprogram{{nibilab\_linear\_delay\_mix}}
+ {Multiplex linear preferential attachment model --
+ Asynchronous arrival and randomly selected first layer.}
+ {$<$N$>$ $<$m$>$ $<$m0$>$ $<$outfile$>$ $<$a$>$ $<$b$>$
+ $<$c$>$ $<$d$>$ $<$beta$>$}
+
+\mydescription{Grow a two-layer multiplex network using the multiplex linear
+ preferential attachment model by Nicosia, Bianconi, Latora,
+ Barthelemy (NiBiLaB).
+
+ The probability for a newly arrived node $i$ to create a
+ link to node $j$ on layer $1$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{1} \propto ak\lay{1}_j + bk\lay{2}_j
+ \end{equation*}
+
+ and the dual probability for $i$ to create a link to $j$ on
+ layer $2$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{2} \propto ck\lay{1}_j + dk\lay{2}_j
+ \end{equation*}
+
+ Each new node arrives on one of the two layers, chosen
+ uniformly at random, and its replica on the other layer
+ appears after a time delay $\tau$ sampled from the power-law
+ function:
+
+ \begin{equation*}
+ P(\tau) \sim \tau^{-\beta}
+ \end{equation*}
+
+ The (mandatory) parameters are as follows:
+
+ \begin{itemize}
+
+ \item \textbf{N} number of nodes in the final graph
+
+ \item \textbf{m} number of new edges brought by each new node
+
+ \item \textbf{m0} number of nodes in the initial seed
+ graph. \textit{m0} must be larger than of equal
+ to \textit{m}.
+
+ \item \textbf{outfile} the name of the file which will contain the
+
+ \item \textbf{a,b,c,d} the coefficients of the attaching probability
+ function
+
+ \item \textbf{beta} the exponent of the power-law delay
+ function which determines the arrival of replicas on layer $2$
+
+ \end{itemize}
+ }
+
+
+\myreturn{The program dumps on the file \texttt{outfile} the
+ (undirected) edge list of the resulting network. Each line of the
+ file is in the format:
+
+ \hspace{0.5cm}\textit{src\_ID} \textit{dest\_ID}
+
+ where \textit{src\_ID} and \textit{dest\_ID} are the IDs of the two
+ endpoints of an edge.
+}
+
+\myreference{\refgrowth}
diff --git a/doc/latex/latex/models/growth/nibilab_linear_delta.tex b/doc/latex/latex/models/growth/nibilab_linear_delta.tex
new file mode 100644
index 0000000..27ebbd0
--- /dev/null
+++ b/doc/latex/latex/models/growth/nibilab_linear_delta.tex
@@ -0,0 +1,57 @@
+\myprogram{{nibilab\_linear\_delta}}
+ {Multiplex linear preferential attachment model --
+ Synchronous arrival.}
+ {$<$N$>$ $<$m$>$ $<$m0$>$ $<$outfile$>$ $<$a$>$ $<$b$>$ $<$c$>$ $<$d$>$}
+
+\mydescription{Grow a two-layer multiplex network using the multiplex linear
+ preferential attachment model by Nicosia, Bianconi, Latora,
+ Barthelemy (NiBiLaB).
+
+ The probability for a newly arrived node $i$ to create a
+ link to node $j$ on layer $1$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{1} \propto ak\lay{1}_j + bk\lay{2}_j
+ \end{equation*}
+
+ and the dual probability for $i$ to create a link to $j$ on
+ layer $2$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{2} \propto ck\lay{1}_j + dk\lay{2}_j
+ \end{equation*}
+
+ Each new node arrives at the same time on both layers.
+
+ The (mandatory) parameters are as follows:
+
+ \begin{itemize}
+
+ \item \textbf{N} number of nodes in the final graph
+
+ \item \textbf{m} number of new edges brought by each new node
+
+ \item \textbf{m0} number of nodes in the initial seed
+ graph. \textit{m0} must be larger than of equal
+ to \textit{m}.
+
+ \item \textbf{outfile} the name of the file which will contain the
+
+ \item \textbf{a,b,c,d} the coefficients of the attaching probability
+ function
+
+ \end{itemize}
+ }
+
+
+\myreturn{The program dumps on the file \texttt{outfile} the
+ (undirected) edge list of the resulting network. Each line of the
+ file is in the format:
+
+ \hspace{0.5cm}\textit{src\_ID} \textit{dest\_ID}
+
+ where \textit{src\_ID} and \textit{dest\_ID} are the IDs of the two
+ endpoints of an edge.
+}
+
+\myreference{\refgrowth}
diff --git a/doc/latex/latex/models/growth/nibilab_linear_random_times.tex b/doc/latex/latex/models/growth/nibilab_linear_random_times.tex
new file mode 100644
index 0000000..5f1c0fe
--- /dev/null
+++ b/doc/latex/latex/models/growth/nibilab_linear_random_times.tex
@@ -0,0 +1,63 @@
+\myprogram{{nibilab\_linear\_random\_times}}
+ {Multiplex linear preferential attachment model --
+ Asynchronous arrival with randomly sampled arrival times on
+ layer 2.}
+ {$<$N$>$ $<$m$>$ $<$m0$>$ $<$outfile$>$ $<$a$>$ $<$b$>$
+ $<$c$>$ $<$d$>$ }
+
+\mydescription{Grow a two-layer multiplex network using the multiplex linear
+ preferential attachment model by Nicosia, Bianconi, Latora,
+ Barthelemy (NiBiLaB).
+
+ The probability for a newly arrived node $i$ to create a
+ link to node $j$ on layer $1$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{1} \propto ak\lay{1}_j + bk\lay{2}_j
+ \end{equation*}
+
+ and the dual probability for $i$ to create a link to $j$ on
+ layer $2$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{2} \propto ck\lay{1}_j + dk\lay{2}_j
+ \end{equation*}
+
+ Each new node arrives on layer $1$, but its replica on the
+ other layer appears at a uniformly chosen random time in
+ $[m0+1; N]$.
+
+
+ The (mandatory) parameters are as follows:
+
+ \begin{itemize}
+
+ \item \textbf{N} number of nodes in the final graph
+
+ \item \textbf{m} number of new edges brought by each new node
+
+ \item \textbf{m0} number of nodes in the initial seed
+ graph. \textit{m0} must be larger than of equal
+ to \textit{m}.
+
+ \item \textbf{outfile} the name of the file which will contain the
+
+ \item \textbf{a,b,c,d} the coefficients of the attaching probability
+ function
+
+
+ \end{itemize}
+ }
+
+
+\myreturn{The program dumps on the file \texttt{outfile} the
+ (undirected) edge list of the resulting network. Each line of the
+ file is in the format:
+
+ \hspace{0.5cm}\textit{src\_ID} \textit{dest\_ID}
+
+ where \textit{src\_ID} and \textit{dest\_ID} are the IDs of the two
+ endpoints of an edge.
+}
+
+\myreference{\refgrowth}
diff --git a/doc/latex/latex/models/growth/nibilab_nonlinear.tex b/doc/latex/latex/models/growth/nibilab_nonlinear.tex
new file mode 100644
index 0000000..2e48a18
--- /dev/null
+++ b/doc/latex/latex/models/growth/nibilab_nonlinear.tex
@@ -0,0 +1,60 @@
+\myprogram{{nibilab\_nonlinear}}
+ {Multiplex non-linear preferential attachment model --
+ Synchronous arrival.}
+ {$<$N$>$ $<$m$>$ $<$m0$>$ $<$outfile$>$ $<$alpha$>$ $<$beta$>$}
+
+\mydescription{Grow a two-layer multiplex network using the multiplex non-linear
+ preferential attachment model by Nicosia, Bianconi, Latora,
+ Barthelemy (NiBiLaB).
+
+ The probability for a newly arrived node $i$ to create a
+ link to node $j$ on layer $1$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{1} \propto \frac{\left(k\lay{1}_j\right)^{\alpha}}
+ {\left(k\lay{2}_j\right)^{\beta}}
+ \end{equation*}
+
+ and the dual probability for $i$ to create a link to $j$ on
+ layer $2$ is:
+
+ \begin{equation*}
+ \Pi_{i\to j}^{2} \propto \frac{\left(k\lay{2}_j\right)^{\alpha}}
+ {\left(k\lay{1}_j\right)^{\beta}}
+ \end{equation*}
+
+ Each node arrives simultaneously on both layers.
+
+
+ The (mandatory) parameters are as follows:
+
+ \begin{itemize}
+
+ \item \textbf{N} number of nodes in the final graph
+
+ \item \textbf{m} number of new edges brought by each new node
+
+ \item \textbf{m0} number of nodes in the initial seed
+ graph. \textit{m0} must be larger than of equal
+ to \textit{m}.
+
+ \item \textbf{outfile} the name of the file which will contain the
+
+ \item \textbf{alpha, beta} exponents of of the attaching probability
+ function
+
+ \end{itemize}
+ }
+
+
+\myreturn{The program dumps on the file \texttt{outfile} the
+ (undirected) edge list of the resulting network. Each line of the
+ file is in the format:
+
+ \hspace{0.5cm}\textit{src\_ID} \textit{dest\_ID}
+
+ where \textit{src\_ID} and \textit{dest\_ID} are the IDs of the two
+ endpoints of an edge.
+}
+
+\myreference{\refgrowth}
diff --git a/doc/latex/latex/models/growth/node_deg_over_time.tex b/doc/latex/latex/models/growth/node_deg_over_time.tex
new file mode 100644
index 0000000..351045e
--- /dev/null
+++ b/doc/latex/latex/models/growth/node_deg_over_time.tex
@@ -0,0 +1,50 @@
+\myprogram{{node\_deg\_over\_time.py}}
+ {Time evolution of the degree of a node in a growing graph.}
+ {$<$layer$>$ $<$arrival\_times$>$ $<$node\_id$>$
+ [$<$node\_id$>$ ...]}
+
+\mydescription{Compute the degree $k_{i}(t)$ of node $i$ in a growing
+ network as a function of time. The file \textit{layer}
+ contains the edge list of the final network. Each line of
+ the file is in the format:
+
+ \hspace{0.5cm}\textit{src\_ID} \textit{dest\_ID}
+
+ where \textit{src\_ID} and \textit{dest\_ID} are the IDs of the two
+ endpoints of an edge.
+
+ The file \textit{arrival\_times} is a list of node arrival times, in
+ the format:
+
+ \hspace{0.5cm} \textit{time\_i node\_i}
+
+ where \textit{time\_i} is the time at which \textit{node\_i} arrived
+ in the graph. Notice that \textit{time\_i} must be an integer in the
+ range [0, N-1], where N is the total number of nodes in the final
+ graph.
+
+ The third parameter \textit{node\_id} is the ID of the node whose
+ degree over time will be printed on output. If more than
+ one \textit{node\_id} is provided, the degrees over time of all the
+ corresponding nodes are printed on output.
+ }
+
+
+\myreturn{The program prints on \texttt{stdout} a list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{t kit}
+
+ where \textit{kit} is the degree of node \textit{i} at
+ time \textit{t}. The first line of output is in the format:
+
+ \hspace{0.5cm} \textit{\#\#\#\# node\_id}
+
+ where \textit{node\_id} is the ID of node \textit{i}.
+
+ If more than one \textit{node\_id}s is provided as input, the program
+ prints the degree over time of all of them, sequentially.
+
+}
+
+\myreference{\refgrowth}
diff --git a/doc/latex/latex/models/nullmodels/model_MDM.tex b/doc/latex/latex/models/nullmodels/model_MDM.tex
new file mode 100644
index 0000000..dd754b8
--- /dev/null
+++ b/doc/latex/latex/models/nullmodels/model_MDM.tex
@@ -0,0 +1,37 @@
+\myprogram{{model\_MDM.py}}
+ {Multi-activity Deterministic Model.}
+ {$<$Bi\_file$>$ $<$M$>$}
+
+\mydescription{This is the Multi-activity Deterministic Model (MDM).
+ In this model each node $i$ is considered active if it was
+ active in the reference multiplex, maintains the same value
+ of node activity $B_i$ (i.e., the number of layers in which
+ it was active) and is associated an activity vector sampled
+ uniformly at random from the $M\choose{B_i}$ possible
+ activity vectors with $B_i$ non-null entries.
+
+ The file \textit{Bi\_file} is in the format:
+
+ \hspace{0.5cm} \textit{Bi N(Bi)}
+
+ where \textit{Bi} is a value of node activity
+ and \textit{N(Bi)} is the number of nodes which had node
+ activity equaly to \textit{Bi} in the reference multiplex.
+
+ The parameter \textit{M} is the number of layers in the
+ multiplex.
+}
+
+
+\myreturn{The program prints on \texttt{stdout} a distribution of
+ bit-strings, in the format:
+
+ \hspace{0.5cm} \textit{Bi bitstring count}
+
+ where \textit{bitstring} is the activity
+ bitstring, \textit{Bi} is the number of non-zero entries
+ of \textit{bitstring} and \textit{count} is the number of
+ times that \textit{bitstrings} appear in the null model.}
+
+
+\myreference{\refcorrelations}
diff --git a/doc/latex/latex/models/nullmodels/model_MSM.tex b/doc/latex/latex/models/nullmodels/model_MSM.tex
new file mode 100644
index 0000000..e3c8abf
--- /dev/null
+++ b/doc/latex/latex/models/nullmodels/model_MSM.tex
@@ -0,0 +1,38 @@
+\myprogram{{model\_MSM.py}}
+ {Multi-activity Stochastic Model.}
+ {$<$node\_Bi\_file$>$ $<$M$>$}
+
+\mydescription{This is the Multi-activity Stochastic Model (MSM).
+ In this model each node $i$ is considered active if it was
+ active in the reference multiplex, and is activated on
+ each layer with a probability equal to $B_i/M$ where $B_i$
+ was the activity of node $i$ in the reference multiplex.
+
+ The file \textit{node\_Bi\_file} is in the format:
+
+ \hspace{0.5cm} \textit{node\_i Bi)}
+
+ where \textit{Bi} is the value of node activity
+ of \textit{node\_i} in the reference multiplex.
+
+
+ The parameter \textit{M} is the number of layers in the
+ multiplex.
+}
+
+\myreturn{The program prints on \texttt{stdout} a node-layer list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{node\_i layer\_i}
+
+ where \textit{node\_i} is the ID of a node and \textit{layre\_i} is
+ the ID of a layer. This list indicates which nodes are active in
+ which layer. For instance, the line:
+
+ \hspace{0.5cm} \textit{24 3}
+
+ indicates that the node with ID \textit{24} is active on
+ layer \textit{3}.
+}
+
+\myreference{\refcorrelations}
diff --git a/doc/latex/latex/models/nullmodels/model_hypergeometric.tex b/doc/latex/latex/models/nullmodels/model_hypergeometric.tex
new file mode 100644
index 0000000..0315c7b
--- /dev/null
+++ b/doc/latex/latex/models/nullmodels/model_hypergeometric.tex
@@ -0,0 +1,33 @@
+\myprogram{{model\_hypergeometric.py}}
+ {Hypergeometric node activity null model.}
+ {$<$layer\_N\_file$>$ $<$N$>$}
+
+\mydescription{This is the hypergeometric model of node activation. In
+ this model each layer has exactly the same number of active
+ node of a reference multiplex network, but nodes on each
+ layer are activated uniformly at random, thus destroying all
+ inter-layer activity correlation patterns.
+
+ The file \textit{layer\_N\_file} reports on the n-th line
+ the number of active nodes on the n-th layer (starting from
+ zero). The second parameter \textit{N} is the total number
+ of active nodes in the multiplex.
+ }
+
+
+\myreturn{The program prints on \texttt{stdout} a node-layer list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{node\_i layer\_i}
+
+ where \textit{node\_i} is the ID of a node and \textit{layre\_i} is
+ the ID of a layer. This list indicates which nodes are active in
+ which layer. For instance, the line:
+
+ \hspace{0.5cm} \textit{24 3}
+
+ indicates that the node with ID \textit{24} is active on
+ layer \textit{3}.
+}
+
+\myreference{\refcorrelations}
diff --git a/doc/latex/latex/models/nullmodels/model_layer_growth.tex b/doc/latex/latex/models/nullmodels/model_layer_growth.tex
new file mode 100644
index 0000000..9c0bb12
--- /dev/null
+++ b/doc/latex/latex/models/nullmodels/model_layer_growth.tex
@@ -0,0 +1,46 @@
+\myprogram{{model\_layer\_growth.py}}
+ {Layer growth with preferential activation model.}
+ {$<$layer\_N\_file$>$ $<$N$>$ $<$M0$>$ $<$A$>$ [RND]}
+
+\mydescription{This is the model of layer growth with preferential
+ node activation. In this model an entire new layer arrives
+ at time $t$ and a number of nodes $N_t$ is activated ($N\_t$
+ is equal to the number of nodes active on that layer in the
+ reference multiplex). Then, each node $i$ of the new layer
+ is activated with a probability:
+
+ \begin{equation*}
+ P_i(t) \propto A + B_i(t)
+ \end{equation*}
+
+ where $B_i(t)$ is the activity of node $i$ at time $t$
+ (i.e., the number of layers in which node $i$ is active at
+ time $t$) while $A>0$ is an intrinsic attractiveness.
+
+ The file \textit{layer\_N\_file} reports on the n-th line
+ the number of active nodes on the n-th layer.
+
+ The parameter \textit{N} is the number of nodes in the
+ multiplex, \textit{M0} is the number of layers in the
+ initial network, \textit{A} is the value of
+ node attractiveness.
+
+ If the user specifies \texttt{RND} as the last parameter,
+ the sequence of layers is }
+
+\myreturn{The program prints on \texttt{stdout} a node-layer list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{node\_i layer\_i}
+
+ where \textit{node\_i} is the ID of a node and \textit{layre\_i} is
+ the ID of a layer. This list indicates which nodes are active in
+ which layer. For instance, the line:
+
+ \hspace{0.5cm} \textit{24 3}
+
+ indicates that the node with ID \textit{24} is active on
+ layer \textit{3}.
+}
+
+\myreference{\refcorrelations}