The IGraph/M package provides a Wolfram Language interface to the popular igraph network analysis and graph theory library, as well as many other useful functions for working with graphs in Mathematica. Check out the blog post for an overview.
The system requirements are Mathematica 10.0.2 or later, 64-bit Windows/macOS/Linux, or Raspberry Pi.
To install the package automatically, simply evaluate the following in Mathematica:
IGraph/M can also be installed manually in the same way as any Mathematica application distributed as a paclet.
.paclet file from the GitHub releases page, and install it using the
PacletInstall function in Mathematica. For example, assuming that the file
IGraphM-0.5.1.paclet was downloaded into the directory
After installation, the package can now be loaded with:
Verify that it works by evaluating
IGVersion, then continue to the documentation with the
To uninstall all currently installed versions of IGraph/M, evaluate
PacletUninstall["IGraphM"]. This will remove all traces of IGraph/M from your system.
To open the documentation notebook, evaluate:
Alternatively, search for "igraphm" in Mathematica's Documentation Center.
A web-based preview is also available.
The documentation is not yet complete and contributions are very welcome. If you would like to help out with expanding the documentation, send me an email.
For additional details about functions, also check the igraph documentation pages.
Help wanted with editing documentation and writing unit tests! Only basic Mathematica knowledge is required for this.
Contributions to IGraph/M are very welcome! Mathematica programmers of all levels of expertise can contribute.
In order of increasing difficulty, help is needed with the following tasks:
- Just play with the package, read the documentation, and try to find problems.
- Create examples for the documentation or edit the documentation.
- Write formal unit tests.
- Implement new functions in pure Wolfram Language code.
- Expose more igraph library functions to IGraph/M (C++ knowledge required)
- Implement entirely new functions in C++.
If you are interested in contributing, send me an email for guidance. Evaluate the following in Mathematica to get my email address:
C++ programmers should look at Development.md for additional information.