SoftNet: A Package for the Analysis of Complex Networks
Abstract
:1. Introduction
- the degree of node i, given by , provides a measure of the importance of node i;
- the f-subgraph centrality of node i, defined by
- the f-communicability between nodes i and j,
- the f-starting convenience of node i, given by
2. Approximation by Gauss Quadrature
3. Bounds via Partial Spectral Factorization
4. The Hybrid Method
5. The SoftNet Software Package
- karate (34 nodes, 78 edges): represents the social relationships among the 34 individuals of a university karate club [27];
- internet (22,963 nodes, 96,872 edges): snapshot of the structure of the Internet at the level of autonomous systems from data for 22 July 2006 [27];
- collaborations (40,421 nodes, 351,304 edges): collaboration network of scientists who posted preprints at www.arxiv.org (accessed on 20 August 2022) between 1 January 1995 and 31 March 2005 [27,32];
- [vip, vipsgc] = sgcenlr(A,’exp’,10);
- func = ’exp’; % the function to be used
- nnodes = 5; % the number of nodes to be identified
- theta = eigs(double(A),1,’LA’); % estimation of the largest eigenvalue
- opts = struct(’gausstolq’,1e-5,’gaussmaxn’,150,’gaussmu’,theta,’show’,1)
- [vip, vipsgc, info, iters, allstconv] = stconvgauss(A,func,nnodes,opts);
- vip: indices for the most important nodes;
- vipsgc: values of starting convenience for the identified nodes;
- info: a vector containing a flag that indicates convergence and shows the number of matrix-vector products;
- iters: the number of iterations performed for each node;
- allstconv: the values of the starting convenience for each node.
- File. This menu allows the user to load a network in three different ways: load it from a mat file, extract it from the workspace, and create it using the Contest package [35], if the latter is installed.
- Export. This menu allows the user to export the results as a mat file, as a text file, or export them to variables in the workspace.
- Reset. Reset options and computed results or just the results.
- Stop. Interrupt the computations if they take too long time.
- Previous results. Display a table with results of the previous computation.
- the method used to perform the computation (low-rank with strong convergence, hybrid method or Gauss quadrature);
- the line of code that has to be written on the command window to perform the same computation without using the graphical user interface;
- whether the strong or weak convergence criteria are satisfied (if one of them was selected);
- the number of used eigenpairs (if either the low-rank or hybrid methods have been used for the computations);
- the number of VIP nodes identified (if either the low-rank or hybrid methods have been used);
- the elapsed time;
- a table with the index of the identified nodes and the value of the corresponding centrality index.
6. Numerical Experiments
- degree: the number of edges adjacent to a node;
- betweeness: the number of shortest paths that pass through the node;
- closeness: the reciprocal of the sum of the length of the shortest paths between a node and all other nodes in the graph;
- eigenvector: a score is assigned to each node taking into account connections with nodes that have high scores;
- pagerank: a variant of the eigenvector centrality.
- centr = ’betweenness’; % the centrality to be used
- nnodes = 5; % the number of nodes to be identified
- G = graph(A); % converts the adjacency matrix A in to the graph G
- values = centrality(G,centr); % computes all the centralities of graph G
- [∼, node_ind] = sort(values,’descend’); % sorts all the centralities
- disp(node_ind(1:nnodes)); % displays the index for the nodes with the largest centrality
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
GUI | graphical user interface |
References
- Bini, D.A.; Del Corso, G.M.; Romani, F. Evaluating scientific products by means of citation-based models: A first analysis and validation. Electron. Trans. Numer. Anal. 2008, 33, 1–16. [Google Scholar]
- Estrada, E. The Structure of Complex Networks; Oxford University Press: Oxford, UK, 2012. [Google Scholar]
- Estrada, E.; Hatano, N. Statistical-mechanical approach to subgraph centrality in complex networks. Chem. Phys. Lett. 2007, 439, 247–251. [Google Scholar] [CrossRef]
- Newman, M.E.J. Networks: An Introduction; Oxford University Press: Oxford, UK, 2010. [Google Scholar]
- Estrada, E.; Rodríguez-Velázquez, J.A. Subgraph centrality in complex networks. Phys. Rev. E 2005, 71, 056103. [Google Scholar] [CrossRef] [PubMed]
- Estrada, E.; Rodríguez-Velázquez, J.A. Subgraph centrality and clustering in complex hyper-networks. Phys. A 2006, 364, 581–594. [Google Scholar] [CrossRef]
- Estrada, E.; Hatano, N.; Benzi, M. The physics of communicability in complex networks. Phys. Rep. 2012, 514, 89–119. [Google Scholar] [CrossRef]
- Estrada, E.; Hatano, N. Communicability in complex networks. Phys. Rev. E 2008, 77, 036111. [Google Scholar] [CrossRef]
- Fenu, C.; Martin, D.; Reichel, L.; Rodriguez, G. Block Gauss and anti-Gauss quadrature with application to networks. SIAM J. Matrix Anal. Appl. 2013, 34, 1655–1684. [Google Scholar] [CrossRef]
- Aprahamian, M.; Higham, D.J.; Higham, N.J. Matching exponential-based and resolvent-based centrality measures. J. Complex Netw. 2016, 4, 157–176. [Google Scholar] [CrossRef]
- Benzi, M.; Boito, P. Quadrature rule-based bounds for functions of adjacency matrices. Linear Algebra Its Appl. 2010, 433, 637–652. [Google Scholar] [CrossRef]
- Bini, D.A.; Del Corso, G.M.; Romani, F. A combined approach for evaluating papers, authors and scientific journals. J. Comput. Appl. Math. 2010, 234, 3104–3121. [Google Scholar] [CrossRef]
- Benzi, M.; Klymko, C. Total communicability as a centrality measure. J. Complex Netw. 2013, 1, 124–149. [Google Scholar] [CrossRef]
- Bonacich, P.F. Power and centrality: A family of measures. Am. J. Sociol. 1987, 92, 1170–1182. [Google Scholar] [CrossRef]
- Crofts, J.J.; Estrada, E.; Higham, D.J.; Taylor, A. Mapping directed networks. Electron. Trans. Numer. Anal. 2010, 37, 337–350. [Google Scholar]
- Crofts, J.J.; Higham, D.J. Googling the brain: Discovering hierarchical and asymmetric network structures, with applications in neuroscience. Internet Math. 2011, 7, 233–254. [Google Scholar] [CrossRef]
- Del Corso, G.M.; Romani, F. Versatile weighting strategies for a citation-based research evaluation model. Bull. Belg. Math. Soc. Simon Stevin 2009, 16, 723–743. [Google Scholar] [CrossRef]
- Estrada, E.; Higham, D.J. Network properties revealed through matrix functions. SIAM Rev. 2010, 52, 696–714. [Google Scholar] [CrossRef]
- Henson, V.E.; Sanders, G. Locally supported eigenvectors and matrices associated with connected and unweighted power-law graphs. Electron. Trans. Numer. Anal. 2012, 39, 353–378. [Google Scholar]
- Fenu, C.; Martin, D.; Reichel, L.; Rodriguez, G. Network analysis via partial spectral factorization and Gauss quadrature. SIAM J. Sci. Comput. 2013, 35, A2046–A2068. [Google Scholar] [CrossRef]
- Gleich, D.F. PageRank beyond the web. SIAM Rev. 2015, 57, 321–363. [Google Scholar] [CrossRef]
- Langville, A.N.; Meyer, C.D. Google’s Pagerank and Beyond: The Science of Search Engine Rankings; Princeton University Press: Princeton, NJ, USA, 2006. [Google Scholar]
- Golub, G.H.; Meurant, G. Matrices, Moments and Quadrature in Numerical Analysis; Griffiths, D.F., Watson, G.A., Eds.; Longman: Essex, UK, 1994; pp. 105–156. [Google Scholar]
- Golub, G.H.; Meurant, G. Matrices, Moments and Quadrature with Applications; Princeton University Press: Princeton, NJ, USA, 2010. [Google Scholar]
- Baglama, J.; Calvetti, D.; Reichel, L. IRBL: An implicitly restarted block Lanczos method for large-scale Hermitian eigenproblems. SIAM J. Sci. Comput. 2003, 24, 1650–1677. [Google Scholar] [CrossRef]
- Baglama, J.; Calvetti, D.; Reichel, L. Algorithm 827: Irbleigs: A MATLAB program for computing a few eigenpairs of a large sparse Hermitian matrix. ACM Trans. Math. Softw. 2003, 29, 337–348. [Google Scholar] [CrossRef]
- Newman, M.E.J. Newman’s Web Page. Available online: http://www-personal.umich.edu/~mejn/netdata/ (accessed on 28 June 2022).
- Jeong, H.; Mason, S.; Barabási, A.-L.; Oltvai, Z.N. Lethality and centrality of protein networks. Nature 2001, 411, 41–42. [Google Scholar] [CrossRef] [PubMed]
- Sun, S.; Ling, L.; Zhang, N.; Li, G.; Chen, R. Topological structure analysis of the protein–protein interaction network in budding yeast. Nucleic Acids Res. 2003, 31, 2443–2450. [Google Scholar]
- Batagelj, V.; Mrvar, A. Pajek Datasets. 2006. Available online: http://vlado.fmf.uni-lj.si/pub/networks/data/ (accessed on 28 June 2022).
- Watts, D.J.; Strogatz, S.H. Collective dynamics of ‘small-world’ networks. Nature 1998, 393, 440–442. [Google Scholar] [CrossRef] [PubMed]
- Newman, M.E.J. The structure of scientific collaboration networks. Proc. Natl. Acad. Sci. USA 2001, 98, 404–409. [Google Scholar] [CrossRef]
- Viswanath, B.; Mislove, A.; Cha, M.; Gummadi, K.P. On the evolution of user interaction in Facebook. In Proceedings of the 2nd ACM SIGCOMM Workshop on Social Networks (WOSN’09), Barcelona, Spain, 17 August 2009. [Google Scholar]
- The Max Plank Institute for Software Systems Web Site. Available online: http://socialnetworks.mpi-sws.org/data-wosn2009.html (accessed on 28 June 2022).
- Taylor, A.; Higham, D.J. CONTEST: A controllable test matrix toolbox for MATLAB. ACM Trans. Math. Softw. 2009, 35, 26:1–26:17. [Google Scholar] [CrossRef]
Computational Routines | |
---|---|
commgauss | Identifies the m most important nodes according to f-communicability of node i through Gauss quadrature; see Section 2. |
commhyb | Identifies the m most important nodes according to f-communicability of node i through partial singular value decomposition (SVD) and Gauss quadrature; see Section 4. |
commlr | Identifies the m most important nodes according to f-communicability of node i through partial SVD; see Section 3. |
gaussexp | Computes the bilinear form , with through Gauss quadrature; see Section 2. |
gaussres | Computes the bilinear form , with through Gauss quadrature; see Section 2. |
sgcengauss | Identifies the m most important nodes according to f-subgraph centrality through Gauss quadrature; see Section 2. |
sgcenhyb | Identifies the m most important nodes according to f-subgraph centrality through partial SVD and Gauss quadrature; see Section 4. |
sgcenlr | Identifies the m most important nodes according to f-subgraph centrality through partial SVD; see Section 3. |
stconvgauss | Identifies the m most important nodes according to f-starting convenience through Gauss quadrature; see Section 2. |
stconvhyb | Identifies the m most important nodes according to f-starting convenience through partial SVD and Gauss quadrature; see Section 4. |
stconvlr | Identifies the m most important nodes according to f-starting convenience through partial SVD; see Section 3. |
Auxiliary Routines for the Graphical User Interface | |
vipnodes | Starts the graphical user interface. |
compute | Performs the computations according to the chosen parameters. |
choose_contest | Allow selection of a synthetic network from the Contest Package; [35]. |
initialize_gui | Initializes the default settings for the graphical user interface. |
Problem Definition | |
---|---|
func | function to be used ((2) or (3)) |
nnodes | number of nodes to be identified |
Fields for the opts variable | |
gausstolq | tolerance for Gauss quadrature |
gaussmaxn | maximum number of iterations |
gaussmu | approximation of the largest eigenvalue for the spectrum shift |
alpha | constant for the resolvent |
show | if shows some information during the computation |
sgcmaxva | maximum number of stored eigenvectors |
sgctoll | tolerance for weak convergence |
sgcshift | if applies spectrum shift |
Degree | betw | clos | eigvec | pagerank | exp-sgc | res-sgc | exp-stc | res-stc |
---|---|---|---|---|---|---|---|---|
34 | 1 | 1 | 34 | 34 | 34 | 34 | 34 | 34 |
1 | 34 | 3 | 1 | 1 | 1 | 1 | 1 | 1 |
33 | 33 | 34 | 3 | 33 | 33 | 33 | 3 | 33 |
3 | 3 | 32 | 33 | 3 | 3 | 3 | 33 | 3 |
2 | 32 | 9 | 2 | 2 | 2 | 2 | 2 | 2 |
Degree | Betweenness | Closeness | Eigenvector | Pagerank |
---|---|---|---|---|
2332 | 554 | 2332 | 9904 | 554 |
471 | 471 | 471 | 2322 | 471 |
554 | 2332 | 23 | 5170 | 2332 |
2322 | 23 | 554 | 5157 | 23 |
451 | 451 | 1463 | 2362 | 451 |
23 | 280 | 207 | 3943 | 2208 |
2208 | 1463 | 280 | 7765 | 1463 |
9904 | 207 | 451 | 133 | 423 |
1463 | 84 | 1996 | 2332 | 280 |
3943 | 1996 | 2805 | 1902 | 207 |
sgcen_exp | sgcen_res(.95) | sgcen_res(.1) | stconv_exp | stconv_res(.95) | stconv_res(.1) |
---|---|---|---|---|---|
9904 | 9904 | 2332 | 9904 | 9904 | 2332 |
2322 | 2322 | 471 | 2322 | 2322 | 471 |
5170 | 5170 | 451 | 5170 | 5170 | 451 |
5157 | 3943 | 2208 | 5157 | 3943 | 2208 |
2362 | 2362 | 9904 | 2362 | 2362 | 9904 |
3943 | 7765 | 3943 | 3943 | 7765 | 3943 |
7765 | 5157 | 133 | 7765 | 5157 | 133 |
133 | 2332 | 423 | 133 | 2332 | 423 |
2332 | 1902 | 7765 | 2332 | 1902 | 7765 |
1902 | 133 | 14,253 | 1902 | 133 | 14,253 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Fenu, C.; Reichel, L.; Rodriguez, G. SoftNet: A Package for the Analysis of Complex Networks. Algorithms 2022, 15, 296. https://doi.org/10.3390/a15090296
Fenu C, Reichel L, Rodriguez G. SoftNet: A Package for the Analysis of Complex Networks. Algorithms. 2022; 15(9):296. https://doi.org/10.3390/a15090296
Chicago/Turabian StyleFenu, Caterina, Lothar Reichel, and Giuseppe Rodriguez. 2022. "SoftNet: A Package for the Analysis of Complex Networks" Algorithms 15, no. 9: 296. https://doi.org/10.3390/a15090296
APA StyleFenu, C., Reichel, L., & Rodriguez, G. (2022). SoftNet: A Package for the Analysis of Complex Networks. Algorithms, 15(9), 296. https://doi.org/10.3390/a15090296