diff options
Diffstat (limited to 'doc/latex/latex/structure/metrics')
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} |