Igraph

Last updated
igraph
Original author(s) Gábor Csárdi and Tamás Nepusz
Developer(s) Gábor Csárdi, Tamás Nepusz, Szabolcs Horvát, Vincent Traag, Fabio Zanini and Daniel Noom
Initial release2006 (2006)
Stable release
0.10.13 [1]   OOjs UI icon edit-ltr-progressive.svg / 28 June 2024;3 months ago (28 June 2024)
Repository
Written in C and C++
Operating system Cross-platform
Type Science software
License GPL-2.0-or-later
Website igraph.org

igraph is a library collection for creating and manipulating graphs and analyzing networks. It is written in C and also exists as Python and R packages. [2] There exists moreover an interface for Mathematica. [3] The software is widely used in academic research in network science and related fields. The publication that introduces the software has 13502 citations as of July 3, 2024 according to Google Scholar.

Contents

igraph was originally developed by Gábor Csárdi and Tamás Nepusz. [4] It is written in the C programming language in order to achieve good performance and it is freely available under GNU General Public License Version 2.

Basic properties

An example of a graph created using igraph, representing the email network of the Enron Corpus Enron Email Network.jpg
An example of a graph created using igraph, representing the email network of the Enron Corpus

The three most important properties of igraph that shaped its development are as follows: [4]

Characteristics

The software is open source, source code can be downloaded from the project's GitHub page. [5] There are several open source software packages that use igraph functions. As an example, R packages tnet, [6] igraphtosonia [7] and cccd [8] depend on igraph R package. Users can use igraph on many operating systems. The C library and R and Python packages need the respective software, otherwise igraph is portable. The C library of igraph is well documented [9] as well as the R package [10] and the Python package [11]

Functions

igraph can be used to generate graphs, compute centrality measures and path length based properties as well as graph components and graph motifs. It also can be used for degree-preserving randomization. igraph can read and write file formats such as Pajek, GraphML, LGL, NCOL, DIMACS, and GML, as well as simple edge lists. [12] The library contains several layout tools as well. [4]

Related Research Articles

The Comprehensive Perl Archive Network (CPAN) is a repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors. CPAN can denote either the archive network or the Perl program that acts as an interface to the network and as an automated software installer. Most software on CPAN is free and open source software.

<span class="mw-page-title-main">Wolfram Mathematica</span> Computational software program

Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimization, plotting functions and various types of data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other programming languages. It was conceived by Stephen Wolfram, and is developed by Wolfram Research of Champaign, Illinois. The Wolfram Language is the programming language used in Mathematica. Mathematica 1.0 was released on June 23, 1988 in Champaign, Illinois and Santa Clara, California.

DOT is a graph description language, developed as a part of the Graphviz project. DOT graphs are typically stored as files with the .gv or .dot filename extension — .gv is preferred, to avoid confusion with the .dot extension used by versions of Microsoft Word before 2007. dot is also the name of the main program to process DOT files in the Graphviz package.

<span class="mw-page-title-main">Orange (software)</span> Open-source data analysis software

Orange is an open-source data visualization, machine learning and data mining toolkit. It features a visual programming front-end for exploratory qualitative data analysis and interactive data visualization.

<span class="mw-page-title-main">SageMath</span> Computer algebra system

SageMath is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, group theory, differentiable manifolds, numerical analysis, number theory, calculus and statistics.

The following tables provide a comparison of numerical analysis software.

<span class="mw-page-title-main">IPython</span> Advanced interactive shell for Python

IPython is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history. IPython provides the following features:

Enthought, Inc. is a software company based in Austin, Texas, United States that develops scientific and analytic computing solutions using primarily the Python programming language. It is best known for the early development and maintenance of the SciPy library of mathematics, science, and engineering algorithms and for its Python for scientific computing distribution Enthought Canopy.

NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. The project homepage is hosted by the Unidata program at the University Corporation for Atmospheric Research (UCAR). They are also the chief source of netCDF software, standards development, updates, etc. The format is an open standard. NetCDF Classic and 64-bit Offset Format are an international standard of the Open Geospatial Consortium.

Tensor software is a class of mathematical software designed for manipulation and calculation with tensors.

<span class="mw-page-title-main">NetworkX</span> Python library for graphs and networks

NetworkX is a Python library for studying graphs and networks. NetworkX is free software released under the BSD-new license.

ggplot2 Data visualization package for R

ggplot2 is an open-source data visualization package for the statistical programming language R. Created by Hadley Wickham in 2005, ggplot2 is an implementation of Leland Wilkinson's Grammar of Graphics—a general scheme for data visualization which breaks up graphs into semantic components such as scales and layers. ggplot2 can serve as a replacement for the base graphics in R and contains a number of defaults for web and print display of common scales. Since 2005, ggplot2 has grown in use to become one of the most popular R packages.

<span class="mw-page-title-main">Torch (machine learning)</span> Deep learning software

Torch is an open-source machine learning library, a scientific computing framework, and a scripting language based on Lua. It provides LuaJIT interfaces to deep learning algorithms implemented in C. It was created by the Idiap Research Institute at EPFL. Torch development moved in 2017 to PyTorch, a port of the library to Python.

<span class="mw-page-title-main">DNF (software)</span> RPM package manager

DNF or Dandified YUM is the next-generation version of the Yellowdog Updater Modified (yum), a package manager for .rpm-based Linux distributions. DNF was introduced in Fedora 18 in 2013; it has been the default package manager since Fedora 22 in 2015, Red Hat Enterprise Linux 8, and OpenMandriva, and is also an alternative package manager for Mageia.

<span class="mw-page-title-main">Project Jupyter</span> Open source data science software

Project Jupyter is a project to develop open-source software, open standards, and services for interactive computing across multiple programming languages.

References

  1. "Release 0.10.13".
  2. "igraph - The network analysis package" . Retrieved 2021-11-12.
  3. "IGraphM". IGraph/M is an igraph interface for Mathematica. 2016-07-11. Retrieved 2021-11-12.
  4. 1 2 3 "Gábor Csárdi, Tamás Nepusz: The igraph software package for complex network research. InterJournal Complex Systems, 1695, 2006". InterJournal Complex Systems. Retrieved 2021-11-12.
  5. "Igraph development team". GitHub .
  6. "CRAN - Package tnet". cran.r-project.org. Retrieved 2015-06-05.
  7. "CRAN - Package igraphtosonia". cran.r-project.org. 29 October 2012. Retrieved 2015-06-05.
  8. "CRAN - Package cccd". cran.r-project.org. 2 June 2015. Retrieved 2015-06-05.
  9. "igraph library".
  10. "R/igraph".
  11. "python-igraph".
  12. "python-igraph".