Igraph Reference Manual

Total Page:16

File Type:pdf, Size:1020Kb

Igraph Reference Manual igraph Reference Manual Gábor Csárdi, Department of Statistics, Harvard University Tamás Nepusz, Department of Biological Physics, Eötvös Loránd University Vincent Traag, Centre for Science and Technology Studies, Leiden University Szabolcs Horvát, Center for Systems Biology Dres- den, Max Planck Institute for Cell Biology and Genetics Fabio Zanini, Lowy Cancer Research Centre, University of New South Wales igraph Reference Manual by Gábor Csárdi, Tamás Nepusz, Vincent Traag, Szabolcs Horvát, and Fabio Zanini 0.9.4 This manual is for igraph, version 0.9.4. Copyright (C) 2005-2019 Gábor Csárdi and Tamás Nepusz. Copyright (C) 2020-2021 igraph development team. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”. Table of Contents 1. Introduction .............................................................................................................. 1 igraph is free software ........................................................................................... 1 Citing igraph ........................................................................................................ 2 2. Installation ................................................................................................................ 3 Prerequisites ......................................................................................................... 3 Installation ........................................................................................................... 3 General build instructions ............................................................................... 3 Specific instructions for Windows .................................................................... 4 Notable configuration options .......................................................................... 5 Building the documentation .................................................................................... 6 Notes for package maintainers ................................................................................. 6 Auto-detection of dependencies ....................................................................... 6 Shared and static builds .................................................................................. 7 Cross-compiling ............................................................................................ 7 Additional notes ............................................................................................ 7 3. Tutorial .................................................................................................................... 8 Compiling programs using igraph ............................................................................ 8 Compiling with CMake .................................................................................. 8 Compiling without CMake .............................................................................. 9 Running the program ..................................................................................... 9 Creating your first graphs ....................................................................................... 9 Calculating various properties of graphs .................................................................. 11 4. About igraph graphs, the basic interface ....................................................................... 13 The igraph data model .......................................................................................... 13 The basic interface ............................................................................................... 14 Graph constructors and destructors ................................................................. 14 Basic query operations ................................................................................. 16 Adding and deleting vertices and edges ........................................................... 24 5. Error handling ......................................................................................................... 27 Error handling basics .......................................................................................... 27 Error handlers .................................................................................................... 27 igraph_error_handler_t — The type of error handler functions. ................ 27 igraph_error_handler_abort — Abort program in case of error. .............. 28 igraph_error_handler_ignore — Ignore errors. ................................... 28 igraph_error_handler_printignore — Print and ignore errors. ............ 28 Error codes ........................................................................................................ 28 igraph_error_type_t — Error code type. ............................................... 28 igraph_strerror — Textual description of an error. ................................... 31 Warning messages .............................................................................................. 32 igraph_warning_handler_t — The type of igraph warning handler func- tions. ......................................................................................................... 32 igraph_set_warning_handler — Installs a warning handler. .................... 32 IGRAPH_WARNING — Triggers a warning. ..................................................... 32 IGRAPH_WARNINGF — Triggers a warning, with printf-like syntax. ................... 33 igraph_warning — Triggers a warning. ..................................................... 33 igraph_warningf — Triggers a warning, printf-like version. ......................... 33 igraph_warning_handler_ignore — Ignores all warnings. ..................... 34 igraph_warning_handler_print — Prints all warnings to the standard error. ......................................................................................................... 34 Advanced topics .................................................................................................. 35 Writing error handlers ................................................................................. 35 Error handling internals ............................................................................... 35 Deallocating memory .................................................................................. 37 Writing igraph functions with proper error handling ......................................... 38 Fatal errors ................................................................................................ 39 iii igraph Reference Manual Error handling and threads ........................................................................... 41 6. Memory (de)allocation .............................................................................................. 42 igraph_malloc — Allocate memory that can be safely deallocated by igraph func- tions. ................................................................................................................. 42 igraph_free — Deallocate memory that was allocated by igraph functions. ............... 42 7. Data structure library: vector, matrix, other data types .................................................... 44 About template types ........................................................................................... 44 Vectors .............................................................................................................. 45 About igraph_vector_t objects ...................................................................... 45 Constructors and Destructors ........................................................................ 45 Initializing elements ..................................................................................... 47 Accessing elements ..................................................................................... 48 Vector views ............................................................................................... 50 Copying vectors .......................................................................................... 50 Exchanging elements .................................................................................... 52 Vector operations ........................................................................................ 53 Vector comparisons ...................................................................................... 56 Finding minimum and maximum .................................................................... 59 Vector properties ......................................................................................... 61 Searching for elements ................................................................................. 65 Resizing operations ...................................................................................... 67 Sorting ....................................................................................................... 71 Set operations on sorted vectors ..................................................................... 71 Pointer vectors (igraph_vector_ptr_t) ............................................................. 72 Matrices ............................................................................................................
Recommended publications
  • Practical Parallel Hypergraph Algorithms
    Practical Parallel Hypergraph Algorithms Julian Shun [email protected] MIT CSAIL Abstract v While there has been signicant work on parallel graph pro- 0 cessing, there has been very surprisingly little work on high- e0 performance hypergraph processing. This paper presents v0 v1 v1 a collection of ecient parallel algorithms for hypergraph processing, including algorithms for betweenness central- e1 ity, maximal independent set, k-core decomposition, hyper- v2 trees, hyperpaths, connected components, PageRank, and v2 v3 e single-source shortest paths. For these problems, we either 2 provide new parallel algorithms or more ecient implemen- v3 tations than prior work. Furthermore, our algorithms are theoretically-ecient in terms of work and depth. To imple- (a) Hypergraph (b) Bipartite representation ment our algorithms, we extend the Ligra graph processing Figure 1. An example hypergraph representing the groups framework to support hypergraphs, and our implementa- , , , , , , and , , and its bipartite repre- { 0 1 2} { 1 2 3} { 0 3} tions benet from graph optimizations including switching sentation. between sparse and dense traversals based on the frontier size, edge-aware parallelization, using buckets to prioritize processing of vertices, and compression. Our experiments represented as hyperedges, can contain an arbitrary number on a 72-core machine and show that our algorithms obtain of vertices. Hyperedges correspond to group relationships excellent parallel speedups, and are signicantly faster than among vertices (e.g., a community in a social network). An algorithms in existing hypergraph processing frameworks. example of a hypergraph is shown in Figure 1a. CCS Concepts • Computing methodologies → Paral- Hypergraphs have been shown to enable richer analy- lel algorithms; Shared memory algorithms.
    [Show full text]
  • Networkx: Network Analysis with Python
    NetworkX: Network Analysis with Python Salvatore Scellato Full tutorial presented at the XXX SunBelt Conference “NetworkX introduction: Hacking social networks using the Python programming language” by Aric Hagberg & Drew Conway Outline 1. Introduction to NetworkX 2. Getting started with Python and NetworkX 3. Basic network analysis 4. Writing your own code 5. You are ready for your project! 1. Introduction to NetworkX. Introduction to NetworkX - network analysis Vast amounts of network data are being generated and collected • Sociology: web pages, mobile phones, social networks • Technology: Internet routers, vehicular flows, power grids How can we analyze this networks? Introduction to NetworkX - Python awesomeness Introduction to NetworkX “Python package for the creation, manipulation and study of the structure, dynamics and functions of complex networks.” • Data structures for representing many types of networks, or graphs • Nodes can be any (hashable) Python object, edges can contain arbitrary data • Flexibility ideal for representing networks found in many different fields • Easy to install on multiple platforms • Online up-to-date documentation • First public release in April 2005 Introduction to NetworkX - design requirements • Tool to study the structure and dynamics of social, biological, and infrastructure networks • Ease-of-use and rapid development in a collaborative, multidisciplinary environment • Easy to learn, easy to teach • Open-source tool base that can easily grow in a multidisciplinary environment with non-expert users
    [Show full text]
  • Planar Hypohamiltonian Graphs on 40 Vertices
    Planar Hypohamiltonian Graphs on 40 Vertices Mohammadreza Jooyandeh, Brendan D. McKay Research School of Computer Science, Australian National University, ACT 2601, Australia Patric R. J. Osterg˚ard,¨ Ville H. Pettersson Department of Communications and Networking, Aalto University School of Electrical Engineering, P.O. Box 13000, 00076 Aalto, Finland Carol T. Zamfirescu Department of Applied Mathematics, Computer Science and Statistics, Ghent University, Krijgslaan 281 - S9, 9000 Ghent, Belgium Abstract A graph is hypohamiltonian if it is not Hamiltonian, but the deletion of any single vertex gives a Hamiltonian graph. Until now, the smallest known planar hypohamiltonian graph had 42 vertices, a result due to Araya and Wiener. That result is here improved upon by 25 planar hypohamiltonian graphs of order 40, which are found through computer-aided generation of certain families of planar graphs with girth 4 and a fixed number of 4-faces. It is further shown that planar hypohamiltonian graphs exist for all orders greater than or equal to 42. If Hamiltonian cycles are replaced by Hamilto- nian paths throughout the definition of hypohamiltonian graphs, we get the definition of hypotraceable graphs. It is shown that there is a planar hypo- traceable graph of order 154 and of all orders greater than or equal to 156. We also show that the smallest planar hypohamiltonian graph of girth 5 has 45 vertices. Email addresses: [email protected] (Mohammadreza Jooyandeh), [email protected] (Brendan D. McKay), [email protected] (Patric R. J. Osterg˚ard),¨ [email protected] (Ville H. Pettersson), [email protected] (Carol T. Zamfirescu) URL: http://www.jooyandeh.com (Mohammadreza Jooyandeh), http://cs.anu.edu.au/~bdm (Brendan D.
    [Show full text]
  • STATS 701 Data Analysis Using Python Lecture 27: Apis and Graph Processing Some Slides Adapted from C
    STATS 701 Data Analysis using Python Lecture 27: APIs and Graph Processing Some slides adapted from C. Budak Previously: Scraping Data from the Web We used BeautifulSoup to process HTML that we read directly We had to figure out where to find the data in the HTML This was okay for simple things like Wikipedia… ...but what about large, complicated data sets? E.g., Climate data from NOAA; Twitter/reddit/etc.; Google maps Many websites support APIs, which make these tasks simpler Instead of scraping for what we want, just ask! Example: ask Google Maps for a computer repair shop near a given address Three common API approaches Via a Python package Service (e.g., Google maps, ESRI*) provides library for querying DB Example: from arcgis.gis import GIS Via a command-line tool Ultimately, all three of these approaches end up submitting an Example: twurl https://developer.twitter.com/ HTTP request to a server, which returns information in the form of a Via HTTP requests JSON or XML file, typically. We submit an HTTP request to a server Supply additional parameters in URL to specify our query Example: https://www.yelp.com/developers/documentation/v3/business_search * ESRI is a GIS service, to which the university has a subscription: https://developers.arcgis.com/python/ Web service APIs Step 1: Create URL with query parameters Example (non-working): www.example.com/search?key1=val1&key2=val2 Step 2: Make an HTTP request Communicates to the server what kind of action we wish to perform https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods Step 3: Server returns a response to your request May be as simple as a code (e.g., 404 error)..
    [Show full text]
  • Q(A) - Balance Super Edge Magic Graphs Results
    International Journal of Pure and Applied Mathematical Sciences. ISSN 0972-9828 Volume 10, Number 2 (2017), pp. 157-170 © Research India Publications http://www.ripublication.com Q(A) - Balance Super Edge Magic Graphs Results M. Rameshpandi and S. Vimala 1Assistant Professor, Department of Mathematics, Pasumpon Muthuramalinga Thevar College, Usilampatti, Madurai. 2Assistant Professor, Department of Mathematics, Mother Teresa Women’s University, Kodaikanal. Abstract Let G be (p,q)-graph in which the edges are labeled 1,2,3,4,…q so that the vertex sums are constant, mod p, then G is called an edge magic graph. Magic labeling on Q(a) balance super edge–magic graphs introduced [5]. In this paper extend my discussion of Q(a)- balance super edge magic labeling(BSEM) to few types of special graphs. AMS 2010: 05C Keywords: edge magic graph, super edge magic graph, Q(a) balance edge- magic graph. 1.INTRODUCTION Magic graphs are related to the well-known magic squares, but are not quite as famous. Magic squares are an arrangement of numbers in a square in such a way that the sum of the rows, columns and diagonals is always the same. All graphs in this paper are connected, (multi-)graphs without loop. The graph G has vertex – set V(G) and edge – set E(G). A labeling (or valuation) of a graph is a map that carries graph elements to numbers(usually to the positive or non- negative integers). Edge magic graph introduced by Sin Min Lee, Eric Seah and S.K Tan in 1992. Various author discussed in edge magic graphs like Edge magic(p,3p-1)- graphs, Zykov sums of graphs, cubic multigraphs, Edge-magicness of the composition of a cycle with a null graph.
    [Show full text]
  • Every Graph Occurs As an Induced Subgraph of Some Hypohamiltonian Graph
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE Received: 27 October 2016 Revised: 31 October 2017 Accepted: 20 November 2017 provided by Ghent University Academic Bibliography DOI: 10.1002/jgt.22228 ARTICLE Every graph occurs as an induced subgraph of some hypohamiltonian graph Carol T. Zamfirescu1 Tudor I. Zamfirescu2,3,4 1 Department of Applied Mathematics, Com- Abstract puter Science and Statistics, Ghent University, Krijgslaan 281 - S9, 9000 Ghent, Belgium We prove the titular statement. This settles a problem 2Fachbereich Mathematik, Universität of Chvátal from 1973 and encompasses earlier results Dortmund, 44221 Dortmund, Germany of Thomassen, who showed it for 3, and Collier and 3 “Simion Stoilow” Institute of Mathematics, Schmeichel, who proved it for bipartite graphs. We also Roumanian Academy, Bucharest, Roumania show that for every outerplanar graph there exists a pla- 4College of Mathematics and Information Science, Hebei Normal University, 050024 nar hypohamiltonian graph containing it as an induced Shijiazhuang, P.R. China subgraph. Correspondence Carol T. Zamfirescu, Department of KEYWORDS Applied Mathematics, Computer Sci- hypohamiltonian, induced subgraph ence and Statistics, Ghent University, Krijgslaan 281 - S9, 9000 Ghent, Belgium. MSC 2010. Email: czamfi[email protected] 05C10, 05C45, 05C60 Funding information Fonds Wetenschappelijk Onderzoek 1 INTRODUCTION Consider a non-hamiltonian graph . We call hypohamiltonian if for every vertex in , the graph − is hamiltonian. In similar spirit, is said to be almost hypohamiltonian if there exists a vertex in , which we will call exceptional, such that − is non-hamiltonian, and for any vertex ≠ in , the graph − is hamiltonian. For an overview of results on hypohamiltonicity till 1993, see the survey by Holton and Sheehan [7].
    [Show full text]
  • On the Group-Theoretic Properties of the Automorphism Groups of Various Graphs
    ON THE GROUP-THEORETIC PROPERTIES OF THE AUTOMORPHISM GROUPS OF VARIOUS GRAPHS CHARLES HOMANS Abstract. In this paper we provide an introduction to the properties of one important connection between the theories of groups and graphs, that of the group formed by the automorphisms of a given graph. We provide examples of important results in graph theory that can be understood through group theory and vice versa, and conclude with a treatment of Frucht's theorem. Contents 1. Introduction 1 2. Fundamental Definitions, Concepts, and Theorems 2 3. Example 1: The Orbit-Stabilizer Theorem and its Application to Graph Automorphisms 4 4. Example 2: On the Automorphism Groups of the Platonic Solid Skeleton Graphs 4 5. Example 3: A Tight Bound on the Product of the Chromatic Number and Independence Number of Vertex-Transitive Graphs 6 6. Frucht's Theorem 7 7. Acknowledgements 9 8. References 9 1. Introduction Groups and graphs are two highly important kinds of structures studied in math- ematics. Interestingly, the theory of groups and the theory of graphs are deeply connected. In this paper, we examine one particular such connection: that which emerges from the observation that the automorphisms of any given graph form a group under composition. In section 2, we provide a framework for understanding the material discussed in the paper. In sections 3, 4, and 5, we demonstrate how important results in group theory illuminate some properties of automorphism groups, how the geo- metric properties of particular embeddings of graphs can be used to determine the structure of the automorphism groups of all embeddings of those graphs, and how the automorphism group can be used to determine fundamental truths about the structure of the graph.
    [Show full text]
  • On Stable Cycles and Cycle Double Covers of Graphs with Large Circumference
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector Discrete Mathematics 312 (2012) 2540–2544 Contents lists available at SciVerse ScienceDirect Discrete Mathematics journal homepage: www.elsevier.com/locate/disc On stable cycles and cycle double covers of graphs with large circumference Jonas Hägglund ∗, Klas Markström Department of Mathematics and Mathematical Statistics, Umeå University, SE-901 87 Umeå, Sweden article info a b s t r a c t Article history: A cycle C in a graph is called stable if there exists no other cycle D in the same graph such Received 11 October 2010 that V .C/ ⊆ V .D/. In this paper, we study stable cycles in snarks and we show that if a Accepted 16 August 2011 cubic graph G has a cycle of length at least jV .G/j − 9 then it has a cycle double cover. We Available online 23 September 2011 also give a construction for an infinite snark family with stable cycles of constant length and answer a question by Kochol by giving examples of cyclically 5-edge connected snarks Keywords: with stable cycles. Stable cycle ' 2011 Elsevier B.V. All rights reserved. Snark Cycle double cover Semiextension 1. Introduction In this paper, a cycle is a connected 2-regular subgraph. A cycle double cover (usually abbreviated CDC) is a multiset of cycles covering the edges of a graph such that each edge lies in exactly two cycles. The following is a famous open conjecture in graph theory. Conjecture 1.1 (CDCC).
    [Show full text]
  • Practical Parallel Hypergraph Algorithms
    Practical Parallel Hypergraph Algorithms Julian Shun [email protected] MIT CSAIL Abstract v0 While there has been significant work on parallel graph pro- e0 cessing, there has been very surprisingly little work on high- v0 v1 v1 performance hypergraph processing. This paper presents a e collection of efficient parallel algorithms for hypergraph pro- 1 v2 cessing, including algorithms for computing hypertrees, hy- v v 2 3 e perpaths, betweenness centrality, maximal independent sets, 2 v k-core decomposition, connected components, PageRank, 3 and single-source shortest paths. For these problems, we ei- (a) Hypergraph (b) Bipartite representation ther provide new parallel algorithms or more efficient imple- mentations than prior work. Furthermore, our algorithms are Figure 1. An example hypergraph representing the groups theoretically-efficient in terms of work and depth. To imple- fv0;v1;v2g, fv1;v2;v3g, and fv0;v3g, and its bipartite repre- ment our algorithms, we extend the Ligra graph processing sentation. framework to support hypergraphs, and our implementations benefit from graph optimizations including switching between improved compared to using a graph representation. Unfor- sparse and dense traversals based on the frontier size, edge- tunately, there is been little research on parallel hypergraph aware parallelization, using buckets to prioritize processing processing. of vertices, and compression. Our experiments on a 72-core The main contribution of this paper is a suite of efficient machine and show that our algorithms obtain excellent paral- parallel hypergraph algorithms, including algorithms for hy- lel speedups, and are significantly faster than algorithms in pertrees, hyperpaths, betweenness centrality, maximal inde- existing hypergraph processing frameworks.
    [Show full text]
  • Constructions and Enumeration Methods for Cubic Graphs and Trees
    Butler University Digital Commons @ Butler University Undergraduate Honors Thesis Collection Undergraduate Scholarship 2013 Constructions and Enumeration Methods for Cubic Graphs and Trees Erica R. Gilliland Butler University Follow this and additional works at: https://digitalcommons.butler.edu/ugtheses Part of the Discrete Mathematics and Combinatorics Commons Recommended Citation Gilliland, Erica R., "Constructions and Enumeration Methods for Cubic Graphs and Trees" (2013). Undergraduate Honors Thesis Collection. 360. https://digitalcommons.butler.edu/ugtheses/360 This Thesis is brought to you for free and open access by the Undergraduate Scholarship at Digital Commons @ Butler University. It has been accepted for inclusion in Undergraduate Honors Thesis Collection by an authorized administrator of Digital Commons @ Butler University. For more information, please contact [email protected]. BUTLER UNIVERSITY HONORS PROGRAM Honors Thesis Certification Please type all information in this section: Applicant Erica R. Gilliland (Name as it is to appear on diploma) Thesis title Constructions and Enumeration Methods for Cubic Graphs and Trees Intended date of commencement May 11, 2013 --~------------------------------ Read, approved, and signed by: tf -;t 'J,- J IJ Thesis adviser(s) D'rt/~ S// CWiV'-~ Date Date t.-t - 2. Z - 2.C?{3 Reader(s) Date Date Certified by Director, Honors Program Date For Honors Program use: Level of Honors conferred: University Departmental MtH1t£W1Ah"LS with ttijutt HoVJQ(5 ik1vrj,,1 r"U)U ",1-111 ttlStl HMbCS V(IIVet>i}\j HtlYlb6 froyrltm I Constructions and Enumeration Methods for Cubic Graphs and Trees Erica R. Gilliland A Thesis Presented to the Department of Mathematics College of Liberal Arts and Sciences and Honors Program of Butler University III Partial Fulfillment of the ncCIuirclllcnts for G rae! ua lion Honors Submitted: April 2:3, 2()1:3 Constructions and Enumeration Methods for Cubic Graphs and Trees Erica It Gilliland Under the supervision of Dr.
    [Show full text]
  • Empire Maps on Surfaces Arxiv:1106.4235V1 [Math.GT]
    University of Durham Final year project Empire Maps on Surfaces An exploration into colouring empire maps on the sphere and higher genus surfaces Author: Supervisor: Caspar de Haes Dr Vitaliy Kurlin D C 0 7 8 0 E 6 9 5 10 0 0 4 11 B 1' 3' F 3 5' 12 12' 0 7' 0 2 10' 2 A 13 9' A 1 1 8' 11' 0 0 0' 11 6' 4 4' 2' F 12 3 B 0 0 9 6 5 10 C E 0 7 8 0 arXiv:1106.4235v1 [math.GT] 21 Jun 2011 D April 28, 2011 Abstract This report is an introduction to mathematical map colouring and the problems posed by Heawood in his paper of 1890. There will be a brief discussion of the Map Colour Theorem; then we will move towards investigating empire maps in the plane and the recent contri- butions by Wessel. Finally we will conclude with a discussion of all known results for empire maps on higher genus surfaces and prove Heawoods Empire Conjecture in a previously unknown case. Contents 1 Introduction 3 1.1 Overview of the Problem . 3 1.2 History of the Problem . 3 1.3 Chapter Plan . 5 2 Graphs 6 2.1 Terminology and Notation . 6 2.2 Complete Graphs . 8 3 Surfaces 9 3.1 Surfaces and Embeddings . 9 3.2 Euler Characteristic . 10 3.3 Orientability . 11 3.4 Classification of surfaces . 11 4 Map Colouring 14 4.1 Maps and Colouring . 14 4.2 Dual Graphs . 15 4.3 Colouring Graphs .
    [Show full text]
  • Fastnet: an R Package for Fast Simulation and Analysis of Large-Scale Social Networks
    JSS Journal of Statistical Software November 2020, Volume 96, Issue 7. doi: 10.18637/jss.v096.i07 fastnet: An R Package for Fast Simulation and Analysis of Large-Scale Social Networks Xu Dong Luis Castro Nazrul Shaikh Tamr Inc. World Bank Cecareus Inc. Abstract Traditional tools and software for social network analysis are seldom scalable and/or fast. This paper provides an overview of an R package called fastnet, a tool for scaling and speeding up the simulation and analysis of large-scale social networks. fastnet uses multi-core processing and sub-graph sampling algorithms to achieve the desired scale-up and speed-up. Simple examples, usages, and comparisons of scale-up and speed-up as compared to other R packages, i.e., igraph and statnet, are presented. Keywords: social network analysis, network simulation, network metrics, multi-core process- ing, sampling. 1. Introduction It has been about twenty years since the introduction of social network analysis (SNA) soft- ware such as Pajek (Batagelj and Mrvar 1998) and UCINET (Borgatti, Everett, and Freeman 2002). Though these software packages are still existent, the last ten years have witnessed a significant change in the needs and aspiration of researchers working in the field. The growth of popular online social networks, such as Facebook, Twitter, LinkedIn, Snapchat, and the availability of data from large systems such as the telecommunication system and the inter- net of things (IoT) has ushered in the need to focus on computational and data management issues associated with SNA. During this period, several Python (Van Rossum et al. 2011) and Java based SNA tools, such as NetworkX (Hagberg, Schult, and Swart 2008) and SNAP (Leskovec and Sosič 2016), and R (R Core Team 2020) packages, such as statnet (Hunter, Handcock, Butts, Goodreau, and Morris 2008; Handcock et al.
    [Show full text]