Making waves with Macaulay 2

This page contains the code described in Section 6 of the paper:
Marc Härkönen, Jonas Hirsch, Bernd Sturmfels: Making waves

The file makingWaves.m2 implements the function wavePairs in Macaulay2, which computes the wave pair variety of a system of linear PDE with constant coefficients.

The \(\ell \times k\) matrix \(A(\partial)\) with entries in \(\mathbb{C}[\partial_1,\dotsc,\partial_n]\) represents the PDE \(A \bullet \phi = 0\), whose solutions are \(k\)-tuples of distributions \(\phi \in \mathcal{D}'(\mathbb{R}^n, \mathbb{C}^k)\). For \(r = 0,\dotsc,n-1\), the wave pair variety \(\mathcal{P}_A^r \subseteq \operatorname{Gr}(n-r, n) \times \mathbb{P}^{k-1}\) consists of pairs \((\pi, z)\) such that \(A(y)z = 0\) for all \(y \in \pi\).

If \((\pi, z) \in \mathcal{P}_A^r\) such that \(\dim_\mathbb{R} (\pi \cap \mathbb{R}^n) = \dim_\mathbb{C} \pi\), then there is a real \(n-r \times n\) matrix \(L\) whose rows span \(\pi\), and the wave

\[\phi(x) := \delta(Lx) \cdot z\]

is a solution to the PDE represented by \(A(\partial)\) for any distribution \(\delta \colon \mathbb{R}^{n-r} \to \mathbb{C}^k\).

Project page created: 25/11/2021

Project contributors: Marc Härkönen, Jonas Hirsch, Bernd Sturmfels

Software used: Macaulay2 (v1.18)

System setup used: Dell XPS 13 7390 2-in-1 with Arch Linux (kernel 5.14.13), Processor 3,9 GHz Intel i7-1065G7, Memory 16 GB 4267 MHz LPDDR4, Graphics Intel Iris Plus Graphics G7.

Corresponding author of this page: Marc Härkönen,