announcing matlab-igraph toolbox

I have been working on a MATLAB toolbox, matlab-igraph, to use igraph inside MATLAB. So far I have a small C library for converting between igraph types and MATLAB’s C matrix API types and have been using that to call igraph’s routines.

An example of some of it in use can be found in the getting started document.

Development stage

Currently, it’s still pretty early in development and I’m having difficulty getting it to compile correctly on Windows, so it may be hard for others to test out. I have been trying to set up Github actions to compile the toolbox for different OSes but have not been able to get it working yet. But, I have been looking closer at python-igraph and that has been helping me figure out what I should be doing.

Short-term goals

  • As mentioned above, I’m currently trying to simplify installation across systems and release precompiled binaries.
  • Move from representing graphs in MATLAB from matrices to MATLAB’s graph objects. This will allow for multigraphs, igraph attributes, and storing metadata—such as type data, as node attributes, for bipartite and other graphs—as well as allow us to take advantage of non-igraph features provided by the object type.
  • Move to using stimulus for code generation.

There’s some more details of future goals in the Contributing guide.

I also announced the toolbox in this reddit post.

If there is any advice or feedback, I am interested in hearing it.

3 Likes

CMake has a built-in FindMatlab module. If you can handle the build fully in CMake, I would strongly recommend that. It makes it much easier to configure igraph correctly.

Ok thanks. I was referencing this example for using CMake with mex and there’s a lot of good things in there so I think it’s possible. Just haven’t used CMake before so it’ll take a little to learn the basics.