summaryrefslogtreecommitdiff
path: root/doc/latex/latex/structure/metrics
diff options
context:
space:
mode:
Diffstat (limited to 'doc/latex/latex/structure/metrics')
-rw-r--r--doc/latex/latex/structure/metrics/aggregate_layers_w.tex30
-rw-r--r--doc/latex/latex/structure/metrics/avg_edge_overlap.tex42
-rw-r--r--doc/latex/latex/structure/metrics/cartography_from_columns.tex35
-rw-r--r--doc/latex/latex/structure/metrics/cartography_from_deg_vectors.tex32
-rw-r--r--doc/latex/latex/structure/metrics/cartography_from_layers.tex45
-rw-r--r--doc/latex/latex/structure/metrics/edge_overlap.tex36
-rw-r--r--doc/latex/latex/structure/metrics/intersect_layers.tex28
-rw-r--r--doc/latex/latex/structure/metrics/overlap_degree.tex45
-rw-r--r--doc/latex/latex/structure/metrics/part_coeff.tex43
9 files changed, 336 insertions, 0 deletions
diff --git a/doc/latex/latex/structure/metrics/aggregate_layers_w.tex b/doc/latex/latex/structure/metrics/aggregate_layers_w.tex
new file mode 100644
index 0000000..8917e3e
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/aggregate_layers_w.tex
@@ -0,0 +1,30 @@
+\myprogram{{aggregate\_layers\_w.py}}
+ {compute the (weighted) aggregated graph associated to a
+ multiplex.} {$<$layer1$>$ $<$layer2$>$ [$<$layer3$>$...]}
+
+\mydescription{Compute and print on output the edge list of the
+ weighted aggregated graph associated to the multiplex
+ network given on input. An edge is present in the
+ aggregated graph if it exists in at least one of the M
+ layers of the multiplex.
+
+ Each input file contains the (undirected) edge list of a layer, and
+ each line 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.}
+
+\myreturn{The program prints on \texttt{stdout} the edge list of the
+ aggregated graph associated to the multiplex network. The edge list
+ is a list of lines in the format:
+
+
+ \hspace{0.5cm} \textit{ID1 ID2 weight}
+
+ \noindent where \textit{ID1} and \textit{ID2} are the IDs of the two
+ nodes and \textit{weight} is the number of layers in which an edge
+ between \textit{ID1} and \textit{ID2} exists.}
+
+\myreference{\refcorrelations}
diff --git a/doc/latex/latex/structure/metrics/avg_edge_overlap.tex b/doc/latex/latex/structure/metrics/avg_edge_overlap.tex
new file mode 100644
index 0000000..4df2d51
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/avg_edge_overlap.tex
@@ -0,0 +1,42 @@
+\myprogram{{avg\_edge\_overlap.py}}
+ {compute the average edge overlap of a multiplex.}
+ {$<$layer1$>$ [$<$layer2$>$...]}
+
+\mydescription{Compute and print on output the average edge overlap
+
+ \begin{equation*} \omega^{*}
+ = \frac{\sum_{i}\sum_{j>i}\sum_{\alpha}a_{ij}\lay{\alpha}}{ \sum_{i}\sum_{j>i}(1
+ - \delta_{0,\sum_{\alpha}a_{ij}\lay{\alpha}})} \end{equation*}
+
+ \noindent i.e., the expected \textit{number} of layers on which an
+ edge of the multiplex exists, and the corresponding normalised
+ quantity:
+
+ \begin{equation*}
+ \omega = \frac{\sum_{i}\sum_{j>i}\sum_{\alpha}a_{ij}\lay{\alpha}}{M \sum_{i}\sum_{j>i}(1
+ - \delta_{0,\sum_{\alpha}a_{ij}\lay{\alpha}})}
+ \end{equation*}
+
+ \noindent that is the expected \textit{fraction} of layers on which
+ an edge of the multiplex is present.
+
+ Each input file contains the (undirected) edge list of a layer, and
+ each line 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.}
+
+\myreturn{The program prints on \texttt{stdout} a single line, in the
+ format:
+
+ \hspace{0.5cm} \textit{omega\_star omega}
+
+ \noindent where \textit{omega\_star} and \textit{omega} are,
+ respectively, the expected number and fraction of layers in which an
+ edge is present.}
+
+\myreference{\refmetrics
+
+ \vspace{0.5cm}\refvisibility}
diff --git a/doc/latex/latex/structure/metrics/cartography_from_columns.tex b/doc/latex/latex/structure/metrics/cartography_from_columns.tex
new file mode 100644
index 0000000..8e797af
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/cartography_from_columns.tex
@@ -0,0 +1,35 @@
+\myprogram{{cartography\_from\_columns.py}}
+ {compute total and participation coefficient of generic
+ structural descriptors of the nodes of a multiplex.}
+ {$<$filein$>$ $<$col1$>$ $<$col2$>$ [$<$col3$>$...]}
+
+\mydescription{Compute and print on output the sum and the
+ corresponding participation coefficient of a generic
+ structural descriptor of the nodes of a multiplex.
+
+ \noindent The input file is a generic collection of
+ single-space-separated columns, where each line corresponds to a
+ node. The user must specify the IDs of the columns which contain
+ the node structural descriptors to be used in the cartography
+ diagram. Columns IDs start from ZERO. For example:
+
+ \textbf{python cartography\_from\_layers.py filein.txt 0
+ 2 4 6 8}
+
+ \noindent will create a cartography diagram assuming that the
+ multiplex network has five layers, and that the node structural
+ descriptors at each layers are contained in the first (0), third
+ (2), fifth (4), seventh (6) and nineth (8) columns of each row.}
+
+
+\myreturn{The program prints on \texttt{stdout} a list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{tot\_n P\_n}
+
+ where \textit{tot\_n} is the sum over the layers of the considered
+ structural descriptor for node $n$, and \textit{P\_n} is the
+ associated participation coefficient
+ }
+
+\myreference{\refcorrelations}
diff --git a/doc/latex/latex/structure/metrics/cartography_from_deg_vectors.tex b/doc/latex/latex/structure/metrics/cartography_from_deg_vectors.tex
new file mode 100644
index 0000000..848ffd1
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/cartography_from_deg_vectors.tex
@@ -0,0 +1,32 @@
+\myprogram{{cartography\_from\_deg\_vectors.py}}
+ {create a multiplex cartography diagram.}
+ {$<$node\_deg\_vectors$>$}
+
+\mydescription{Compute and print on output the total degree and the
+ multiplex participation coefficient of all the nodes of a
+ multiplex network whose list of node degree vectors is
+ provided as input. The input file is in the format:
+
+ \hspace{0.5cm} \textit{IDn\_deg1 IDn\_deg\_2 ... IDn\_degM}
+
+ \noindent where \textit{IDn\_degX} is the degree of node $n$ at
+ layer $X$. The input file can be generated using the
+ script \texttt{node\_degree\_vectors.py}.}
+
+
+\myreturn{The program prints on \texttt{stdout} a list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{tot\_deg part\_coeff}
+
+ \noindent where \textit{tot\_deg} is the total degree of the node
+ and \textit{part\_coeff} is the corresponding participation
+ coefficient.
+
+ \noindent As usual, node IDs start from zero and proceed
+ sequentially, without gaps, so if one of the lines in the input
+ files contains just zeros, the program considers the corresponding
+ node as being isolated on all the layers, and both its total degree
+ and multiplex participation coefficient are set equal to zero. }
+
+\myreference{\refmetrics}
diff --git a/doc/latex/latex/structure/metrics/cartography_from_layers.tex b/doc/latex/latex/structure/metrics/cartography_from_layers.tex
new file mode 100644
index 0000000..8958cef
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/cartography_from_layers.tex
@@ -0,0 +1,45 @@
+\myprogram{{cartography\_from\_layers.py}}
+ {compute the total degree and the multiplex participation
+ coefficient of all the nodes of a multiplex.} {$<$layer1$>$
+ $<$layer2$>$ [$<$layer3$>$...]}
+
+\mydescription{Compute and print on output the total degree and the multiplex participation
+ coefficient $P_i$ for each node $i$ of a multiplex. The
+ participation coefficient is defined as:
+
+ \begin{equation*}
+ P_i=\frac{M}{M-1}\left[1-\sum_{\alpha=1}^M\biggl(\frac{k_i^{[\alpha]}}{o_i}\biggr)^2\right]
+ \end{equation*}
+
+ \noindent Note that $P_i$ takes values in $[0,1]$, where $P_i=0$
+ if and only if node $i$ is active on exactly one of the layers,
+ while $P_i=1$ if node $i$ has equal degree on all the $M$ layers.
+
+ Each input file contains the (undirected) edge list of a layer, and
+ each line 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.}
+
+\myreturn{The program prints on \texttt{stdout} a list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{deg\_n P\_n col\_n}
+
+ where \textit{deg\_n} is the total degree of node $n$, \textit{P\_n}
+ is the participation coefficient of node $n$ and \textit{col} is the
+ integer representation of the activity bitstring of node $n$, which
+ is a number between $0$ and $2^{M}-1$. The field \textit{col} might
+ be useful for the visualisation of the multiplex cartography
+ diagram, where it would be possible to associate different colors to
+ nodes having different node activity patterns.
+
+ \noindent As usual, node IDs start from zero and proceed
+ sequentially, without gaps, i.e., if a node ID is not present in any
+ of the layer files given as input, the program considers it as being
+ isolated on all the layers, and is set to zero.
+ }
+
+\myreference{\refmetrics}
diff --git a/doc/latex/latex/structure/metrics/edge_overlap.tex b/doc/latex/latex/structure/metrics/edge_overlap.tex
new file mode 100644
index 0000000..64d7dbf
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/edge_overlap.tex
@@ -0,0 +1,36 @@
+\myprogram{{edge\_overlap.py}}
+ {compute the edge overlap of all the edges of the
+ multiplex.}
+ {$<$layer1$>$ [$<$layer2$>$...]}
+
+\mydescription{Compute and print on output the edge overlap $o_{ij}$ of each
+ edge of the multiplex. Given a pair of nodes $(i,j)$ that
+ are directly connected on at least one of the $M$ layers,
+ the edge overlap $o_{ij}$ is defined as:
+
+ \begin{equation*}
+ o_{ij} = \sum_{\alpha}a_{ij}\lay{\alpha}
+ \end{equation*}
+
+ \noindent i.e., the number of layers on which the edge $(i,j)$
+ exists.
+
+
+ Each input file contains the (undirected) edge list of a layer, and
+ each line 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.}
+
+\myreturn{The program prints on \texttt{stdout} a list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{ID\_1 ID\_2 overlap}
+
+ \noindent where \textit{ID\_1} and \textit{ID\_2} are the IDs of the
+ end-points of the edge, and \textit{overlap} is the number of layers
+ in which the edge exists.}
+
+\myreference{\refmetrics}
diff --git a/doc/latex/latex/structure/metrics/intersect_layers.tex b/doc/latex/latex/structure/metrics/intersect_layers.tex
new file mode 100644
index 0000000..0824400
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/intersect_layers.tex
@@ -0,0 +1,28 @@
+\myprogram{{intersect\_layers.py}}
+ {compute the intersection graph associated to a
+ multiplex.} {$<$layer1$>$ $<$layer2$>$ [$<$layer3$>$...]}
+
+\mydescription{Compute and print on output the edge list of the
+ intersection graph associated to the multiplex network
+ given on input, where an edge exists only if it is
+ present on \textbf{all} the layers of the multiplex.
+
+ Each input file contains the (undirected) edge list of a layer, and
+ each line 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.}
+
+\myreturn{The program prints on \texttt{stdout} the edge list of the
+ intersection graph associated to the multiplex network. The edge
+ list is a list of lines in the format:
+
+
+ \hspace{0.5cm} \textit{ID1 ID2}
+
+ \noindent where \textit{ID1} and \textit{ID2} are the IDs of the two
+ nodes.}
+
+\myreference{\refcorrelations}
diff --git a/doc/latex/latex/structure/metrics/overlap_degree.tex b/doc/latex/latex/structure/metrics/overlap_degree.tex
new file mode 100644
index 0000000..500a76a
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/overlap_degree.tex
@@ -0,0 +1,45 @@
+\myprogram{{overlap\_degree.py}}
+ {compute the total (overlapping) degree of all the nodes of
+ a multiplex and the corresponding Z-score. } {$<$layer1$>$ $<$layer2$>$ [$<$layer3$>$...]}
+
+\mydescription{Compute and print on output the total degree $o_i$ of each
+ node $i$ of a multiplex, defined as:
+
+ \begin{equation*}
+ o_{i} = \sum_{\alpha}\sum_{j}a_{ij}\lay{\alpha}
+ \end{equation*}
+
+ \noindent and the corresponding Z-score:
+
+ \begin{equation*}
+ z(o_i) = \frac{o_i - \avg{o}}{\sigma_o}
+ \end{equation*}
+
+ \noindent where $\avg{o}$ and $\sigma_o$ are, respectively, the mean
+ and the standard deviation of the total degree computed over all the
+ active nodes of the multiplex.
+
+
+ Each input file contains the (undirected) edge list of a layer, and
+ each line 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.}
+
+\myreturn{The program prints on \texttt{stdout} a list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{ID\_n deg\_n z\_n}
+
+ where \textit{ID\_n} is the ID of the node, \textit{deg\_n} is its
+ total degree, and \textit{z\_n} is the corresponding Z-score.
+
+ \noindent As usual, node IDs start from zero and proceed
+ sequentially, without gaps, i.e., if a node ID is not present in any
+ of the layer files given as input, the program considers it as being
+ isolated on all the layers, and the node is omitted from the
+ output.}
+
+\myreference{\refmetrics}
diff --git a/doc/latex/latex/structure/metrics/part_coeff.tex b/doc/latex/latex/structure/metrics/part_coeff.tex
new file mode 100644
index 0000000..f3afd7d
--- /dev/null
+++ b/doc/latex/latex/structure/metrics/part_coeff.tex
@@ -0,0 +1,43 @@
+\myprogram{{part\_coeff.py}}
+ {compute the multiplex partifipation coefficient of all the nodes of
+ a multiplex.} {$<$layer1$>$ $<$layer2$>$ [$<$layer3$>$...]}
+
+\mydescription{Compute and print on output the multiplex participation
+ coefficient $P_i$ for each node $i$ of a multiplex. The
+ participation coefficient is defined as:
+
+ \begin{equation*}
+ P_i=\frac{M}{M-1}\left[1-\sum_{\alpha=1}^M\biggl(\frac{k_i^{[\alpha]}}{o_i}\biggr)^2\right]
+ \end{equation*}
+
+ \noindent Note that $P_i$ takes values in $[0,1]$, where $P_i=0$
+ if and only if node $i$ is active on exactly one of the layers,
+ while $P_i=1$ if node $i$ has equal degree on all the $M$ layers.
+
+ Each input file contains the (undirected) edge list of a layer, and
+ each line 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.}
+
+\myreturn{The program prints on \texttt{stdout} a list of lines in the
+ format:
+
+ \hspace{0.5cm} \textit{deg\_n P\_n col\_n}
+
+ where \textit{deg\_n} is the total degree of node $n$, \textit{P\_n}
+ is the participation coefficient of node $n$ and \textit{col} is the
+ integer representation of the activity bitstring of node $n$, which
+ is a number between $0$ and $2^{M}-1$. The field \textit{col} might
+ be useful in visualisations, where it would be possible to associate
+ different colors to nodes having diffrent node activity patterns.
+
+ \noindent As usual, node IDs start from zero and proceed
+ sequentially, without gaps, i.e., if a node ID is not present in any
+ of the layer files given as input, the program considers it as being
+ isolated on all the layers, and is set to zero.
+ }
+
+\myreference{\refmetrics}