JuliaCon 2022 (Times are UTC)

MathLink(Extras): The powers of Mathematica and Julia combined
2022-07-28 , Green

Mathematica is a powerful tool for many purposes, but it can be cumbersome to work with. This is especially clear for more automated tasks.
In this short talk, I will introduce MathLink and MathLinkExtras, which enable interoperability between Julia and Mathematica.
I will introduce the basic syntax of MathLink and discuss an application of automated computation of nested integrals.


Mathematica is arguably the go-to tool for your everyday mathematical needs. It can efficiently perform integrals, solve equations, find roots, refine expression, plot functions, and many more things.
However, there are tasks where Mathematica performs poorly or is just plain inconvenient to work with.
One such place is if/else statements and the control flow.
Try, for instance, to construct programs where the algebraic manipulations depend on the functional form of the expression.
Or if you want to make non-trivial variable changes inside and expression.

These limitations and many more are solved by Julia's MathLink (https://github.com/JuliaInterop/MathLink.jl) and MathLinkExtras (https://github.com/fremling/MathLinkExtras.jl) packages.
The first package provides access to Mathematica/Wolfram Engine, via the Wolfram Symbolic Transfer Protocol (WSTP).

The second is "sugar on top" and provides the basic algebraic operations (+,-,*,/) for the MathLink variable types.

As a practical example, I will show how MathLink and MathLinkExtras were used in a research project[1] to compute nested gaussian integrals.

[1] M. Fremling, "Exact gap-ratio results for mixed Wigner surmises of up to 4 eigenvalues", arXiv preprint arXiv:2202.01090 (2022). (https://arxiv.org/abs/2202.01090)

My name is Mikael Fremling, and I am working as a postdoc in physics at Utrecht University, The Netherlands.
I study the fascinating properties that develop when a material is prevented from exploring the whole three-dimensional world around us.

In my research, I routinely perform various types of numerical simulations. For a few years, the Julia language has been my go-to choice for numerics.