Other articles


  1. IGraph/M: a Mathematica interface for igraph

    IGraph/M is a Mathematica package for use in complex networks and graph theory research. It started out as a well-integrated Mathematica interface to igraph, one of the most popular open source network analysis packages available. In addition to exposing igraph functionality to Mathematica, the current version of IGraph/M contains many other functions for working with graphs.

    read more ...

    There are comments.

  2. LaTeX typesetting in Mathematica

    Mathematica is an excellent and flexible visualization tool, and even supports displaying complex mathematical formulae. However, its typesetting quality is not on par with \(\mathsf{\LaTeX}\). The visual style is not a good match for inclusion in LaTeX documents either. To improve the quality of my figures, I wrote a small Mathematica package that makes it easy to use LaTeX-generated labels: MaTeX.

    read more ...

    There are comments.

  3. Displaying debug messages coming from LibraryLink

    When extending Mathematica through C or C++ code using the LibraryLink API, one common annoyance is that it’s not possible to see messages that the C code sends to stdout or stderr when using the graphical interface. While there are ways to send output directly to the active Mathematica notebook, often the C code is not written to be used exclusively with Mathematica and it simply prints debug messages to stderr. Standard C assertion failures also cause messages to be printed to stderr.

    Here I will show how to view the Mathematica kernel’s output in a terminal window, even when using the graphical notebook interface.

    read more ...

    There are comments.

  4. Pasting tabular data from the web

    Have you ever wanted to quickly import some tabular data for quick-and-dirty analysis, either from the web, rich text document, part of a spreadsheet, etc., but then gave up because it seemed too much trouble? This is something I want to do quite frequently, so I wrote a small utility palette for directly pasting tables into Mathematica. To create the palette, just evaluate this code:

    read more ...

    There are comments.

  5. Memoization in Mathematica

    I wrote this short tutorial on memoization years ago. Since it turned out to be somewhat popular, and my old website is going away, I am reproducing it here.


    Memoization is a very well known programming pattern in Mathematica. Memoization is an optimisation technique: it means making a function “remember …

    read more ...

    There are comments.