igraph
| igraph | |
|---|---|
| Original authors | Gábor Csárdi and Tamás Nepusz |
| Developers | Gábor Csárdi, Tamás Nepusz, Szabolcs Horvát, Vincent Traag, Fabio Zanini and Daniel Noom |
| Initial release | 2006 |
| Repository |
|
| Written in | C and C++ |
| Engine | |
| Operating system | Cross-platform |
| Type | Science software |
| License | GPL-2.0-or-later |
| Website | igraph |
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.[1] There exists moreover an interface for Mathematica.[2] 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.
igraph was originally developed by Gábor Csárdi and Tamás Nepusz.[3] 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
[edit | edit source]The three most important properties of igraph that shaped its development are as follows:[3]
- igraph is capable of handling large networks efficiently
- it can be productively used with a high-level programming language
- interactive and non-interactive usage are both supported
Characteristics
[edit | edit source]The software is open source, source code can be downloaded from the project's GitHub page.[4] There are several open source software packages that use igraph functions. As an example, R packages tnet,[5] igraphtosonia[6] and cccd[7] 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[8] as well as the R package[9] and the Python package[10]
Functions
[edit | edit source]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.[11] The library contains several layout tools as well.[3]
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
External links
[edit | edit source]- Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).