Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Discourse topics GitHub (pre-)release GitHub All Releases Contributions welcome DOI

IGraph/M – igraph for Mathematica

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.

📦 Installation

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:

Get["https://raw.githubusercontent.com/szhorvat/IGraphM/master/IGInstaller.m"]

IGraph/M can also be installed manually in the same way as any Mathematica application distributed as a paclet.

Download the .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 ~/Downloads, evaluate:

Needs["PacletManager`"]
PacletInstall["~/Downloads/IGraphM-0.5.1.paclet"]

After installation, the package can now be loaded with:

Needs["IGraphM`"]

Verify that it works by evaluating IGVersion[], then continue to the documentation with the IGDocumentation[] command.

To uninstall all currently installed versions of IGraph/M, evaluate PacletUninstall["IGraphM"]. This will remove all traces of IGraph/M from your system.

📖 Documentation

To open the documentation notebook, evaluate:

Needs["IGraphM`"]
IGDocumentation[]

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.

🛠️ Contributions

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:

Uncompress["1:eJxTTMoPChZiYGAorsrILypLLHFIz03MzNFLzs8FAG/xCOI="]

C++ programmers should look at Development.md for additional information.

💡Additional information

⚖️ License

IGraph/M is licensed under the GNU GPLv3. See LICENSE.txt for details.