Introduction
igraph is a free software package for creating and manipulating undirected and directed graphs. It includes implementations for classic graph theory problems like minimum spanning trees and network flow, and also implements algorithms for some recent network analysis methods, like community structure search.
The efficient implementation of igraph allows it to handle graphs with millions of vertices and edges. The rule of thumb is that if your graph fits into the physical memory then igraph can handle it.
igraph can be installed in several forms:
- igraph as a C library is useful if you want to use it in your C/C++ projects, or want to implement your own network analysis or model in C/C++ using the data structures and functions igraph provides.
- igraph as an R package. You can use igraph as an extension package to The GNU R project for Statistical Computing. The flexibility of the R language and its richness in statistical methods add a great deal of productivity to igraph, with a very small speed penalty.
- igraph as a Python extension module. This way you can combine igraph with the huge set of Python functions and modules available, and the ease of the Python language, with a small speed penalty.
- igraph as a Ruby extension. If you like the Ruby language, then this might be the right choice for you.
Every form of igraph contain the same code at the very heart, written in ANSI C.
Please note that the ways of installing igraph depends on which its forms you actually want to use. Eg. for using igraph as an R package, you don't need to download the C library at all. See the download page for details.
