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 byfurnishes a more sophisticated measure of the importance of node i than its degree;
- the f-communicability between nodes i and j,quantifies the ease of traveling between nodes i and j;
- the f-starting convenience of node i, given byquantifies the ease of traveling from node i to anywhere in the network. This is the sum of the communicabilities from node i to all other nodes, scaled so that the sum of the quantity over all nodes is one.
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

