Numerical Methods for the Discrete Map \(Z^a\)

  • Folkmar Bornemann
  • Alexander Its
  • Sheehan Olver
  • Georg Wechslberger
Open Access


As a basic example in nonlinear theories of discrete complex analysis, we explore various numerical methods for the accurate evaluation of the discrete map \(Z^a\) introduced by Agafonov and Bobenko. The methods are based either on a discrete Painlevé equation or on the Riemann–Hilbert method. In the latter case, the underlying structure of a triangular Riemann–Hilbert problem with a non-triangular solution requires special care in the numerical approach. Complexity and numerical stability are discussed, the results are illustrated by numerical examples.

1 Introduction

Following the famous ideas of Thurston’s for a nonlinear theory of discrete complex analysis based on circle packings, Bobenko and Pinkall [5] defined a discrete conformal map as a complex valued function \(f:\mathbb Z^2 \subset \mathbb {C}\rightarrow \mathbb {C}\) satisfying
$$\begin{aligned} \frac{(f_{n,m} - f_{n+1,m})(f_{n+1,m+1} - f_{n,m+1})}{(f_{n+1,m} - f_{n+1,m+1})(f_{n,m+1} - f_{n,m})} = -1. \end{aligned}$$
That is, the cross ratio on each elementary quadrilateral (fundamental cell) of the lattice \(\mathbb Z^2\) is \(-1\); infinitesimally, this property characterizes conformal maps among the smooth ones. A discrete conformal map \(f_{n,m}\) is called an immersion if the interiors of adjacent elementary quadrilaterals are disjoint.
A central problem in discrete complex analysis is to find discrete conformal analogues of classical holomorphic functions that are immersions; simply evolving just the boundary values of the classical function by (1) would not work [6]. To solve this problem, Bobenko [3] suggested to augment (1) by another equation: using methods from the theory of integrable systems it can be shown that the non-autonomous system of constraints
$$\begin{aligned} a f_{n,m} =2n\frac{(f_{n+1,m} - f_{n,m})(f_{n,m} - f_{n-1,m})}{(f_{n+1,m} - f_{n-1,m})} + 2m\frac{(f_{n,m+1} - f_{n,m})(f_{n,m} - f_{n,m-1})}{(f_{n,m+1} - f_{n,m-1})}, \end{aligned}$$
obtained as an integrable discretization of the differential equation
$$ a f = x f_x + y f_y = z f_z $$
that would define \(f(z)=z^a\) up to scaling, is compatible with (1). Agafonov and Bobenko [1] proved that, for \(0<a<2\), the system (1) and (2) of recursions, applied to the three initial values
$$\begin{aligned} f_{0,0} = 0,\quad f_{1,0} = 1, \quad f_{0,1} = e^{ia\pi /2}, \end{aligned}$$
defines a unique discrete conformal map \(Z^a_{n,m} = f_{n,m}\) that is an immersion [1, Theorem 1].
Fig. 1

Left Red dots are the discrete \(Z^{2/3}\) for \(0\leqslant n,m \leqslant 19\); blue circles are the asymptotics given by (4). Right The Schramm circle pattern of the discrete \(Z^{2/3}\) [courtesy of J. Richter-Gebert]

Moreover, they showed [1, Sect. 3] that this discrete conformal map \(Z^a\) determines a circle pattern of Schramm type, i.e., an orthogonal circle pattern with the combinatorics of the square grid, see Fig. 1. They conjectured, recently proved by Bobenko and Its [4] using the Riemann–Hilbert method, that asymptotically
$$\begin{aligned} Z^a_{n,m} = c_a\left( \frac{n+im}{2}\right) ^a \left( 1 + O\left( \frac{1}{n^2 + m^2}\right) \right) \qquad (n^2 + m^2 \rightarrow \infty ) \end{aligned}$$
with the constant
$$\begin{aligned} c_a = \frac{\varGamma \left( 1 - \frac{a}{2}\right) }{\varGamma \left( 1 + \frac{a}{2}\right) }. \end{aligned}$$
For \(0<a\leqslant 1\), as exemplified in Fig. 1, this asymptotics is already accurate to plotting accuracy for all but the very smallest values of n and m. If \(a\rightarrow 2\), however, it requires increasingly larger values of n and m to become accurate.
Fig. 2

Numerical discrete \(Z^{2/3}_{n,m}\) (\(0\leqslant n,m\leqslant 49\)): recursing from the initial values (3) by a straightforward application of the system (1) and (2) quickly develops numerical instabilities. The color cycles with the coordinate m

In this work we study the stable and accurate numerical calculation of \(Z^a\); to the best of our knowledge for the first time in the literature. This is an interesting mathematical problem in itself, but the underlying methods should be applicable to a large set of similar discrete integrable systems. Now, the basic difficulty is that the evolution of the discrete dynamical system (1) and (2), starting from the initial values (3), is numerically highly unstable, see Fig. 2.1

The support of the stencils of (1) and (2) has the form of a square and a five-point cross in the lattice \(\mathbb Z^2\), that is,
$$ \begin{matrix} f_{n,m+1} &{} f_{n+1,m+1}\\ f_{n,m} &{} f_{n+1,m} \end{matrix}\qquad \text {and}\qquad \begin{matrix} &{} f_{n,m+1}\\ f_{n-1,m} &{} f_{n,m} &{} f_{n+1,m}\\ &{}f_{n,m-1} \end{matrix}, $$
with the latter reducing to be dimensional along the boundary of \(\mathbb Z^2_+\), namely
$$ \begin{matrix} f_{0,m+1}\\ f_{0,m}\\ f_{0,m-1} \end{matrix}, \qquad \text {resp.}\qquad \begin{matrix} f_{n-1,0}&f_{n,0}&f_{n+1,0}, \end{matrix} $$
if \(n=0\) or \(m=0\). Thus, the forward evolution can be organized as follows. If \(f_{n,m}\) is known for \(0\leqslant n,m \leqslant N\) the upper index N is increased to \(N+1\) according to:
  1. (i)

    use (2) to compute the boundary values \(f_{N+1,0}\) and \(f_{0,N+1}\);

  2. (ii)

    use (1) to compute the row \(f_{N+1,m}\), \(1\leqslant m \leqslant N\);

  3. (iii)

    use (1) to compute the column \(f_{n,N+1}\), \(1\leqslant n \leqslant N\);

  4. (iv)

    use (1) to compute the diagonal value \(f_{N+1,N+1}\).

It is this algorithm that gives the unstable calculation shown in Fig. 2. Alternatively, one could use (2) to calculate the row values \(f_{N+1,m}\), \(1\leqslant m \leqslant N-1\), and column values \(f_{n,N+1}\), \(1\leqslant n \leqslant N-1\), up to the first sub- and superdiagonal (note that these calculations do not depend on order within the rows and columns). The missing values are then completed by using (1). However, this alternative forward evolution gives a result that is visually indistinguishable from Fig. 2.
Fig. 3

Numerical error of the diagonal values \(f_{n,n}\) from Fig. 2 (blue), of the \(x_n\) as in (5) and computed by forward evolution of the discrete Painlevé II equation (red), and of the corresponding invariant \(|x_n|=1\) (yellow); \(a=2/3\). They share the same rate of initial exponential growth

As can be seen from Fig. 2, the numerical instability starts spreading from the diagonal elements \(f_{n,n}\). In fact, there is an initial exponential growth of numerical errors to be found in the diagonal entries, see Fig. 3. Such a numerical instability of an evolution is the direct consequence of the instability of the underlying dynamical system, that is, of positive Lyapunov exponents.

As a remedy we suggest two different approaches to calculating \(Z^a_{n,m}\). In Sect. 2 we stabilize the calculation of the diagonal values by solving a boundary value problem for an underlying discrete Painlevé II equation and in Sects. 38 we explore numerical methods based on the Riemann–Hilbert method. The latter reveals an interesting structure (Sect. 4): the Riemann–Hilbert problem has triangular data but a non-triangular solution; the operator equation can thus be written as a uniquely solvable block triangular system where the infinite-dimensional diagonal operators are not invertible. We discuss two different ways to prevent this particular structure from hurting finite-dimensional numerical schemes: a coefficient-based spectral method with infinite-dimensional linear algebra in Sect. 6 and a modified Nyström method based on least squares in Sect. 8.

2 Discrete Painlevé II Separatrix as a Boundary Value Problem

Since the source of the numerical instability of the direct evolution of the discrete dynamical system (1) and (2) is found in the diagonal elements \(f_{n,n}\), we first express the \(f_{n,n}\) directly in terms of a one-dimensional three-term recursion and then study its stable numerical evaluation. To begin with, Agafonov and Bobenko [1, Proposition 3] proved that the geometric quantities
$$\begin{aligned} x_n^2 = \frac{f_{n,n+1}-f_{n,n}}{f_{n+1,n}-f_{n,n}},\qquad \arg x_n \in (0,\pi /2), \end{aligned}$$
have invariant magnitude \(|x_n|=1\) (see the circle packing in Fig. 1) and that they satisfy the following form of the discrete Painlevé II equation
$$\begin{aligned} (n+1)(x_n^2-1)\left( \frac{x_{n+1}-ix_n}{i+x_nx_{n+1}}\right) - n(x_n^2+1)\left( \frac{x_{n-1}+ix_n}{i+x_{n-1}x_n}\right) = a x_n, \end{aligned}$$
with initial value \(x_0 = e^{ia \pi /4}\). Note that for \(n=0\) this nonlinear three-term recurrence degenerates and gives the missing second initial value, namely
$$\begin{aligned} x_1=\frac{x_0(x_0^2+a -1)}{i((a -1)x_0^2+1)}. \end{aligned}$$
Reversely, given the solution \(x_n\) of this equation, the diagonal elements \(f_{n,n}\) can be calculated according to the simple recursion [1, p. 176]
$$\begin{aligned} u_n = \frac{r_n}{\text {Re} x_n}, \quad r_{n+1}=u_n \cdot \text {Im} x_n, \quad g_{n+1} = g_n + u_n, \quad f_{n+1,n+1} = g_{n+1} e^{ia\pi /4}, \end{aligned}$$
with inital values \(g_0 = 0\), \(r_0=1\) (note that \(u_n\), \(r_n\), \(g_n\) are all positive); the sub- and superdiagonal elements \(f_{n+1,n}\) and \(f_{n,n+1}\) are obtained from (1) and (5) by
$$\begin{aligned} f_{n+1,n}&= \frac{(x_n^2-1)f_{n,n} + (x_n^2+1)f_{n+1,n+1}}{2x_n^2}, \end{aligned}$$
$$\begin{aligned} f_{n,n+1}&= \frac{(1-x_n^2)f_{n,n} + (1+x_n^2)f_{n+1,n+1}}{2}. \end{aligned}$$
However, given that \(x_n\) is a separatrix solution of the discrete Painlevé II equation [1, p. 167], we expect that a forward evolution of (6), starting with the initial values \(x_0\) and \(x_1\), suffers from exactly the same instability as the calculation of the diagonal values \(f_{n,n}\) by evolving (1) and (2). Figure 3 shows that this is indeed the case, exhibiting the same initial exponential growth rate; it also shows that the deviation of the calculated values of \(|x_n|\) from its invariant value 1 can serve as an explicitly computable error indicator.
In the continuous case of the Hastings–McLeod solution of Painlevé II, which also constitutes a separatrix, Bornemann [8, Sect. 3.2] suggested to address such problems by solving an asymptotic two-point boundary value problem instead of the originally given evolution problem. To this end, one has to solve the connection problem first, that is, one has to establish the asymptotics of \(x_n\) as \(n\rightarrow \infty \). By inserting the known asymptotics (4) of \(Z_{n,m}^a\) into the defining Eq. (5), we obtain
$$ x_n = e^{i\pi /4}(1+O(n^{-1}))\qquad (n\rightarrow \infty ). $$
Since in actual numerical calculations we need accurate approximations already for moderately large n, we match the coefficients of an expansion in terms of \(n^{-1}\) to the discrete Painlevé II equation (6) and get, as \(n\rightarrow \infty \),
$$\begin{aligned}&x_n = e^{\frac{i \pi }{4}} \bigg (1+\frac{i (a -1)}{2 n} + \frac{-a ^2+(2-2 i) a -(1-2 i)}{8 n^2} - \frac{i \left( a ^3-(3-2 i) a ^2-(1+4 i) a +(3+2 i)\right) }{16 n^3}\\&\qquad \quad +\frac{3 a ^4-(12-12 i) a ^3-(2+36 i) a ^2+(28+4 i) a -(17-20 i)}{128 n^4}\\&\qquad +\frac{i \left( 3 a ^5-(15-12 i) a ^4-(30+48 i) a ^3+(150+24 i) a ^2-(5-48 i) a -(103+36 i)\right) }{256 n^5} \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad + O(n^{-6})\bigg ). \end{aligned}$$
We denote the r.h.s. of this asymptotic formula, without the \(O(n^{-6})\) term, by \(x_{n,6}\).
Fig. 4

Numerical discrete \(Z^{2/3}_{n,m}\) (\(0\leqslant n,m\leqslant 49\)): evolving from accurate values of \(f_{n,n}\), \(f_{n+1,n}\), \(f_{n,n+1}\) close to the diagonal back to the boundary by using the cross-ratio relations (1) develops numerical instabilities. The color cycles with the coordinate m

Next, using Newton’s method, we solve the nonlinear system of \(N+1\) equations in \(N+1\) unknowns \(x_0,\ldots ,x_N\) given by the discrete Painlevé equation (6) for \(1\leqslant n \leqslant N-1\) and the two boundary conditions
$$ x_1=\frac{x_0(x_0^2+a -1)}{i((a -1)x_0^2+1)},\qquad x_N = x_{N,6}. $$
Note that the value \(x_0 = e^{ia\pi /4}\) is not explicitly used and must be obtained as output of the Newton solve, that is, it can be used as an measure of success. We choose N large enough that \(|x_{N,6}| \doteq 1 \) up to machine precision (about \(N\approx 300\) uniformly in a). Then, using the excellent initial guesses (for the accuracy of the asymptotics cf. the left panel of Fig. 1)
$$ x_0^{(0)} = e^{ia\pi /4},\qquad x_n^{(0)} = x_{n,6}\quad (1\leqslant n \leqslant N), $$
Newton’s method will converge in about just 10 iterations to machine precision yielding a numerical solution that satisfies the invariant \(|x_n|=1\) also up to machine precision. Since the Jacobian of a nonlinear system stemming from a three-term recurrence is tridiagonal, each Newton step has an operation count of order O(N). Hence, the overall complexity of accurately calculating the values \(x_n\), \(0\leqslant n \leqslant N\), is of optimal order O(N).

Finally, having accurate values of \(x_n\) at hand, and therefore by (8) and (9) also those of \(f_{n,n}\), \(f_{n+1,n}\) and \(f_{n,n+1}\), one can calculate the missing values of \(f_{n,m}\) row- and column-wise, starting from the second sup- and superdiagonal and evolving to the boundary, either by evolving the cross-ratio relations (1) or by evolving the discrete differential equation (2). It turns out that the first option develops numerical instabilities spreading from the boundary, see Fig. 4, whereas the second option is, for a wide range of the parameter a, numerically observed to be perfectly stable, see Fig. 5. Note that this stable algorithm only differs from the alternative direct evolution discussed in the introduction in how the values close to the diagonal, that is \(f_{n,n}\), \(f_{n+1,n}\) and \(f_{n,n+1}\), are computed.

The total complexity of this stable numerical calculation of the array \(f_{n,m}\) with \(0\leqslant n,m \leqslant N\) is of optimal order \(O(N^2)\).
Fig. 5

Numerical discrete \(Z^{2/3}_{n,m}\) (\(0\leqslant n,m\leqslant 49\)): recursing from accurate values of \(f_{n,n}\), \(f_{n+1,n}\), \(f_{n,n+1}\) close to the diagonal back to the boundary by using the discrete differential equation (2) is perfectly stable. The color cycles with the coordinate m

3 The Riemann–Hilbert Method

Based on the integrability of the system (1) and (2), by identifying (1) as the compatibility condition of a Lax pair of linear difference equations [5] and by using isomonodromy, Bobenko and Its [4, p. 15] expressed the \(Z^a\) map in terms of the following Riemann–Hilbert problem (which is a slightly transformed and transposed version of the X-RHP by these authors): Let \(\varGamma _1\) be the oriented contour built of two non-intersecting circles in the complex plane centered at \(z=\pm 1\) (see Fig. 6 left), the holomorphic function \(X: \mathbb {C}\setminus \varGamma _1 \rightarrow {{\mathrm{GL}}}(2)\) satisfies the jump condition
$$\begin{aligned} X_+(\zeta ) = G_1(\zeta ) X_-(\zeta )\qquad (\zeta \in \varGamma _1) \end{aligned}$$
Fig. 6

Contours for the X-RHP [4, p. 15]. Left Two non-intersecting circles \(\varGamma _1\) centered at \(\pm 1\) (black); right additional circle \(\varGamma _2\) centered at 0 (red) for standard normalization at \(\infty \)

with the jump matrix2
$$\begin{aligned} G_1(\zeta ) = \begin{pmatrix} 1 &{} 0 \\ e^{ia \pi /2} \zeta ^{-a/2} (\zeta -1)^{-m} (\zeta +1)^{-n}\; &{} 1 \end{pmatrix} \end{aligned}$$
subject to the following normalization
$$\begin{aligned} X(z) = \begin{pmatrix} z^{\frac{m+n}{2}} &{} 0 \\ 0 &{} z^{-\frac{m+n}{2}} \end{pmatrix}(I+O(z^{-1}))\qquad (z\rightarrow \infty ). \end{aligned}$$
Here, we restrict ourselves to values of n and m having the same parity such that \((m+n)/2\) is an integer. The discrete \(Z^a\) map is now given by the values \(f_{n,m}\) extracted from an LU-decomposition at \(z=0\), namely,
$$ X(0) = \begin{pmatrix} 1 &{} 0\\ (-1)^{m+1}f_{n,m}\; &{} 1 \end{pmatrix} \left( \begin{array}{cc} \bullet \; &{} \;\bullet \;\\ 0 &{} \;\bullet \; \end{array}\right) , $$
that is,
$$ f_{n,m} = (-1)^{m+1} \frac{X_{21}(0)}{X_{11}(0)}. $$
Subsequently, using the Deift–Zhou nonlinear steepest decent method, Bobenko and Its [4] transform this X-RHP to a series of Riemann–Hilbert problems that are more suitable for asymptotic analysis. The last one of this series before introducing a global parametrix,3 the S-RHP [4, pp. 24–27], is based on the contour shown in the left part of Fig. 7. This rather elaborate S-RHP is, after normalizing at \(z=0\) and \(z\rightarrow \infty \) appropriately, amenable to the spectral collocation method of Olver [18]; we skip the details which can be found in the thesis of the fourth author G.W. [24, Sect. 5.4] that extends previous work on automatic contour deformation by Bornemann and Wechslberger [10, 25]. Here, the relative size of the inner and outer circles shaping the contour system shown in the right part of Fig. 7 have to be carefully adjusted to the parameters n and m to keep the condition number at a reasonable size. The complexity of computing \(f_{n,m}\) for fixed n and m is then basically independent of m and n.
Fig. 7

Left Contour of the S-RHP [4, pp.24–27] centered at \(z=0\). Right Modified contour after normalizing the RHP at \(z=0\) and \(z\rightarrow \infty \) (analogously to Fig. 6); the relative size of the inner and outer circles is chosen depending on n and m and has a major influence on the condition number of the spectral collocation method. Proper choices steer the condition number into a regime, which corresponds to a loss of about three to eight digits, see [24, Sect. 5.4]

In the rest of this work we explore to what extent the analytic transformation from the X-RHP to the S-RHP is a necessary preparatory step also numerically, or whether one can use the originally given X-RHP as the basis for numerical calculations. To this end, we replace the normalization (10c) by the standard one, that is,
$$\begin{aligned} X(z) = I + O(z^{-1})\qquad (z\rightarrow \infty ), \end{aligned}$$
and introduce a further circle \(\varGamma _2\) as shown in the right part of Fig. 6 with the jump condition
$$\begin{aligned} X_+(\zeta ) = G_2(\zeta ) X_-(\zeta )\quad (\zeta \in \varGamma _2),\qquad G_2(\zeta ) = \begin{pmatrix} \zeta ^{\frac{m+n}{2}} &{} 0 \\ 0 &{} \zeta ^{-\frac{m+n}{2}} \end{pmatrix}. \end{aligned}$$
We define \(\varGamma = \varGamma _1 \cup \varGamma _2\) and put \(G(\zeta ) = G_j(\zeta )\) for \(\zeta \in \varGamma _j\) (\(j=1,2\)). That way, the Riemann-Hilbert problem is given in the standard form
$$\begin{aligned} X_+(\zeta ) = G(\zeta ) X_-(\zeta ) \quad (\zeta \in \varGamma ),\qquad X(z) = I + O(z^{-1})\quad (z\rightarrow \infty ). \end{aligned}$$
Because of \(\det G = 1\), the solution \(X \in C^\omega (\mathbb {C}\setminus \varGamma , {{\mathrm{GL}}}(2))\) is unique, see [12, p. 104].

4 Lower Triangular Jump Matrices and Indices

We note that the jump matrix G defined in (10b) and (10e) is lower triangular. However, even though the non-singular lower triangular matrices form a multiplicative group and the normalization at \(z\rightarrow \infty \) is also lower triangular, the solution X turns out to not be lower triangular. Arguably the most natural source of RHPs exhibiting this structure are connected to orthogonal polynomials. By renormalizing at \(z\rightarrow \infty \) the standard RHP for the system of orthogonal polynomials on the unit circle with complex weight \(e^z\), we are led to consider the following model problem (\(m\in \mathbb N\))4:
$$\begin{aligned} Y_+(\zeta ) = \begin{pmatrix} \zeta ^m &{} 0\\ e^\zeta &{} \zeta ^{-m} \end{pmatrix} Y_-(\zeta )\quad (|\zeta |=1),\qquad Y(z) = I + O(z^{-1}) \quad (z\rightarrow \infty ). \end{aligned}$$
Though one could perform a set of transformations to this problem that are standard in the RHP approach to the asymptotics of orthogonal polynomials on the circle, basically resulting in an analogue of the S-RHP of [4], our point here is to understand the issues of a direct numerical approach to the X-RHP (11) in a simple model case. It is straightforward to check that the unique solution of (12) is given explicitly by
$$ Y(z) = {\left\{ \begin{array}{ll} \begin{pmatrix} 1 \;\;&{} -z^{-m} e_{m}(-z) \\ 0 &{} 1 \end{pmatrix} &{}\quad (|z|>1),\\ \\ \begin{pmatrix} z^{m} &{} -e_{m}(-z) \\ e^z\;\; &{} z^{-m}(1-e^z e_{m}(-z)) \end{pmatrix}&\quad (|z|<1), \end{array}\right. } $$
$$\begin{aligned} e_k(z) = 1 + z + \frac{z^2}{2!} + \cdots + \frac{z^{k-1}}{(k-1)!} = e^z\frac{\varGamma (k,z)}{\varGamma (k)}, \end{aligned}$$
where \(\varGamma (z)\) and \(\varGamma (k,z)\) denote the Gamma function and the incomplete Gamma function. In particular, we observe that \(Y_{12}(0)=-1 \ne 0\).
The nontrivial 12-component v of a Riemann–Hilbert problem with lower triangular jump matrices, such as (11) or (12), can be expressed independently of the other components, it satisfies a homogeneous scalar Riemann–Hilbert problem of its own. Namely, denoting the 11-component of G by g, we get
$$\begin{aligned} v_+(\zeta ) = g(\zeta ) v_-(\zeta ) \quad (\zeta \in \varGamma ),\qquad v(z) = O(z^{-1}) \quad (z\rightarrow \infty ). \end{aligned}$$
If the contour is a cycle as in (11), or as in the model problem above, the general theory [17, Sect. 127] of Riemann–Hilbert problems with Hölder continuous boundary regularity states that the Noether index5 \(\kappa \) of (14) is given by the winding number
$$ \kappa = {{\mathrm{ind}}}_\varGamma g. $$
More precisely, the nullity is the sum of the positive partial indices and the deficiency is the sum of the magnitudes of the negative partial indices, see [17, Eq. (127.30)]. Since there is just one partial index in the scalar case, the nullity of (14) is \(\kappa \) if \(\kappa >0\), and the deficiency is \(-\kappa \) if \(\kappa <0\).
Thus, in the case of the RHP (11), the nullity of the scalar sub-RHP for the 12-component is
$$ {{\mathrm{ind}}}_\varGamma g = {{\mathrm{ind}}}_{\varGamma _1} 1 + {{\mathrm{ind}}}_{\varGamma _2} \zeta ^{(n+m)/2} = \frac{n+m}{2}, $$
in the case of the model RHP (12) the corresponding nullity is m. In both cases, the unique non-zero solution of (14) that is induced by the solution of the defining \(2\times 2\) RHP is precisely selected by the compatibility conditions set up by the remaining linear relations of that RHP: the homogeneous part of these relations must then have Noether index \(-\kappa \).

Impact on Numerical Methods

This particular substructure of a Riemann–Hilbert problem with lower triangular jump matrices G is a major challenge for numerical methods. If a discretization of the \(2\times 2\) RHP induces a discretization of the scalar subproblem (14) that results in a homogeneous linear system with a square matrix \(S_N\) (that is, the same number of equations and unknowns), there are just two (non exclusive) options:
  • \(S_N\) is non-singular, which results in a 12-component \(v_N = 0\) that does not converge;

  • the full system is singular and therefore numerically of not much use (ill-conditioning and convergence issues will abound).

Such methods compute fake lower triangular solutions, are ill-conditioned, or both.

To understand this claim, let us denote the 12-component of the \(2\times 2\) discrete solution matrix by \(v_N\) and the vector of the three other components by \(w_N\). By inheriting the subproblem structure such as (14) for the 12-component, the discretization results then in a linear system of the block matrix form
$$ \underbrace{\begin{pmatrix} S_N &{} \;0\\ \bullet &{} T_N \end{pmatrix}} _{=A_N} \begin{pmatrix} v_N\\ w_N \end{pmatrix} = \begin{pmatrix} 0\\ \bullet \end{pmatrix} $$
Because of \(\det (A_N) = \det (S_N)\det (T_N)\) a non-singular discretization matrix \(A_N\) implies a non-singular \(S_N\) and, thus, a non-convergent trivial component \(v_N=0\). Such a non-convergent zero 12-component is what one gets, for example, if one applies the spectral collocation method of [18] (with square contours replacing the circles) to the Riemann–Hilbert problems (11) or to the model problem (14). As a hint of failure, the resulting discrete system is ill-conditioned; details which can be found in the thesis of the fourth author G.W. [24, Sect. 5.4].

The deeper structural reason for this problem can be seen in the fact that the Noether index of finite-dimensional square matrices is always zero, whereas the index of the infinite-dimensional subproblem (14) is strictly positive.

We suggest two approaches to deal with this problem: first, an infinite-dimensional discretization using sequence spaces, that is, without truncation, and using infinite-dimensional numerical linear algebra, and second, using underdetermined discretizations with rectangular linear systems that are complemented by a set of explicit compatibility conditions.

5 RHPs as Integral Equations with Singular Kernels

In this section, we recall a way to express the RHP (11), with standard normalization at infinity, as a particular system of singular integral equations, cf. [11, 16, 18]. We introduce the Cauchy transform
$$ C f(z) = \frac{1}{2\pi i}\int _\varGamma \frac{f(\zeta )}{\zeta -z}\,d\zeta \qquad (z\not \in \varGamma ) $$
and their directional limits \(C_\pm \) when approaching the left or right of the oriented contour \(\varGamma \), defined by
$$ C_\pm f(\eta ) = \lim _{z \rightarrow \eta _\pm } \frac{1}{2\pi i}\int _\varGamma \frac{f(\zeta )}{\zeta -z}\,d\zeta \qquad (\eta \in \varGamma ). $$
Note that \(C_\pm \) can be extended as bounded linear operators mapping \(L^2(\varGamma )\) (or spaces of Hölder continuous functions) into itself, and C (suitably extended) maps such functions into functions that are holomorphic on \(\mathbb {C}\setminus \varGamma \), see [12, p. 100]. By using the decomposition \(C_+ - C_- = {{\mathrm{id}}}\), the ansatz (by letting C act component-wise on the matrix-valued function u)
$$\begin{aligned} X(z) = I + C u(z),\qquad u \in L^2(\varGamma ,\mathbb {C}^{2\times 2}), \end{aligned}$$
establishes the equivalence of a RHP of the form (11) and the system of singular integral equations
$$\begin{aligned} ({{\mathrm{id}}} - (G-I) C_-) u = G-I \end{aligned}$$
As the following theorem shows, singular integral operators of the form
$$ T_G = {{\mathrm{id}}} - (G-I) C_- : L^2(\varGamma ,\mathbb {C}^{2\times 2}) \rightarrow L^2(\varGamma ,\mathbb {C}^{2\times 2}) $$
can be preconditioned by operators of exactly the same form.

Theorem 1

Let \(\varGamma \) be a smooth, bounded, and non-self intersecting6 contour system and \(G:\varGamma \rightarrow {{\mathrm{GL}}}(2)\) a system of jump matrices which continues analytically to a vicinity of \(\varGamma \). Then, \(T_{G^{-1}}\) is a Fredholm regulator of \(T_G\), that is, \(T_{G^{-1}} T_G = {{\mathrm{id}}} + K\) with a compact operator \(K : L^2(\varGamma ,\mathbb {C}^{2\times 2}) \rightarrow L^2(\varGamma ,\mathbb {C}^{2\times 2})\) that can be represented as a regular integral operator.


The Sokhotski–Plemelj formula [17, Eq. (17.2)] gives that \(2C_- = -{{\mathrm{id}}} + H\), where H denotes a variant of the Hilbert transform (normalized as in [17]),
$$ H f(\zeta ) = \frac{1}{\pi i} \int _\varGamma \frac{f(\eta )}{\eta - \zeta }\,d\eta \qquad (\zeta \in \varGamma ), $$
with the integral understood in the sense of principle values. This way, we have
$$\begin{aligned} T_G&= A_1 {{\mathrm{id}}} + B_1 H,\qquad A_1 = \frac{1}{2} (I+G),\quad B_1 = \frac{1}{2} (I-G),\\ T_{G^{-1}}&= A_2 {{\mathrm{id}}} + B_2 H,\qquad A_2= \frac{1}{2} (I+G^{-1}),\quad B_2 = \frac{1}{2} (I-G^{-1}). \end{aligned}$$
By a product formula of Muskhelishvili [17, Eq. (130.15)], which directly follows from the Poincaré–Betrand formula [17, Eq. (23.8)], one has
$$ T_{G^{-1}} T_G = A {{\mathrm{id}}} + B\,H + K, $$
where K represents a regular integral operator and the coefficient matrices A and B are given by the expressions
$$ A = A_2 A_1 + B_2 B_1,\qquad B = A_2 B_1 + B_2 A_1. $$
Here, we thus obtain \(A=I\) and \(B=0\), which finally proves the assertion. \(\square \)

This theorem implies that the operator \(T_{G}\) is Fredholm, that is, its nullity and deficiency are finite. In fact, since in our examples \(\det G \equiv 1\), we have that the Noether index of \(T_G\) is zero. The possibility to use the Fredholm theory is extremely important in studying RHPs: it allows one to use, when proving the solvability of Riemann-Hilbert problems, the “vanishing lemma” [26], see also [12, Chap. 5]. For the use of Fredholm regulators in iterative methods applied to solving singular integral equations, see [23].

6 A Well-Conditioned Spectral Method for Closed Contours

We follow the ideas of Olver and Townsend [20] on spectral methods for differential equations, recently extended by Olver and Slevinsky [19] to singular integral equations. First, the solution u and the data \(G-I\) of the singular integral equation (15b) are expanded7 in the Laurent bases of the circles that built up the cycle \(\varGamma \). Next, the resulting linear system is solved using the framework of infinite-dimensional linear algebra [14, 21], built out of the adaptive QR factorization introduced in [20].

To be specific, we describe the details for the model RHP (12), where the cycle \(\varGamma \) is just the unit circle. Here, we have the expansions
$$ u(\zeta ) = \sum _{k=-\infty }^\infty U_k \zeta ^k,\qquad G(\zeta )-I = \sum _{k=-\infty }^\infty A_k \zeta ^k\qquad (\zeta \in \varGamma ), $$
both rapidly decaying with \(2\times 2\) coefficient matrices \(U_k\) and \(A_k\). In the Laurent basis, the operator \(C_-\) acts diagonally in the simple form
$$ C_- \zeta ^k ={\left\{ \begin{array}{ll} 0 &{} \quad k \geqslant 0,\\ - \zeta ^k &{} \quad k < 0. \end{array}\right. } $$
which gives
$$ C_- u(\zeta ) = - \sum _{k=1}^\infty U_{-k} \zeta ^{-k}\qquad (\zeta \in \varGamma ). $$
Note that \(-C_-\) acts as a projection to the subspace spanned by the basis elements with negative index. This way, the system (15b) of singular integral equations is transformed to8
$$\begin{aligned} U_k + \sum _{j=-\infty }^{\infty } [k-j<0]\, A_{j} U_{k-j}= A_k \qquad (k\in \mathbb Z). \end{aligned}$$
Up to a given accuracy, we may assume that the data is given as a finite sum,
$$ G(\zeta )-I \approx \sum _{k=-n_1}^{n_1} A_k \zeta ^k, $$
likewise for \(G^{-1}(\zeta ) - I\) with a truncation at \(n_2\). Thus, writing the discrete system (16) in matrix-vector form, the corresponding double-infinite matrix has a bandwidth of order \(O(n_1)\). Preconditioning this system, following Theorem 1, by the multiplication with the double-infinite matrix belonging to \(G^{-1}\) instead of G, results in a double-infinite matrix that has a bandwidth of order \(O(n_1+n_2)\). Since the right hand side of (16) is truncated at indices of magnitude \(O(n_1)\), application of the adaptive QR factorization [20], after re-ordering the double-infinite coefficients as \(U_0,U_{-1},U_1,\ldots \) in order to be singly infinite, will result in an algorithm that has a complexity of order \(O((n_1+n_2)^2 n_3)\), where \(n_3\) is the number of coefficients needed to resolve u, dictated by a specified tolerance.

Remark 1

The extension to systems \(\varGamma \) of closed contours built from several circles is straightforward. The jump data and the solution, restricted to a circle centered at a are expanded in the Laurent basis \((z-a)^k\), \(k\in \mathbb Z\). When instead evaluated at a circle centered at b, a change of basis is straightforwardly computed using
$$ (z-a)^j = \sum _{k=0}^\infty \left( {\begin{array}{c}j\\ k\end{array}}\right) (b-a)^{j-k}(z-b)^k\qquad (j\in \mathbb Z), $$
valid for \(|z-b| < |b-a|\). Because of a geometric decay, one can truncate those series at \(k = O(1)\) as long as \(|z-b| < \theta |b-a|\) with \(0<\theta < 1\) small enough. The adaptive QR factorization can then be applied by interlacing the Laurent coefficients on each circle to obtain a singly infinite unknown vector of coefficients.

Numerical Example 1: Model problem

Because of the entries \(\zeta ^m\) and \(\zeta ^{-m}\) in the jump matrix of the model problem (12), we have that \(n_1, n_2, n_3 = O(m)\) in order to resolve the data and the solution; hence the computational complexity of the method scales as \(O(m^3)\). Using the Julia software package SingularIntegralEquations.jl 9 (v0.0.1) the problem is numerically solved by the following short code showing that the user has to do little more than just providing the data and entering the singular integral equation (15b) as a mathematical expression:

The run time10 is 2.8 seconds, the error of Y(0) is \(4.22\cdot 10^{-15}\) (spectral norm), which corresponds to a loss of one digit in absolute error.

Numerical Example 2: Riemann–Hilbert Problem for the Discrete \(\mathbf Z ^{2/3}\)

Now, we apply the method to the Riemann–Hilbert problem (11) encoding the discrete \(Z^a\) map. Here, because of the exponents \(-m\), \(-n\) and \(\pm (n+m)/2\) in (10), we have \(n_1, n_2, n_3 = O(n+m)\) in order to resolve the data and the solution, see Fig. 8; hence the computational complexity scales as \(O((n+m)^3)\). Note that this is far from optimal, using the stabilized recursion of Sect. 2 to compute a table including \(Z_{n,m}^a\) would give a complexity of order \(O((n+m)^2)\). Once more, however, the code requires little more than typing the mathematical equations of the RHP.
The run time is 2.7 s, the absolute error of \(Z^{2/3}_{6,8}\) is \(3.38\cdot 10^{-8}\), which corresponds to a loss of about 7 digits. This loss of accuracy can be explained by comparing the magnitude of the 21-component of u as shown in Fig. 8, along the two black circles of Fig. 6, with that of the corresponding component of the solution matrix at \(z=0\), namely,
$$ X(0) \approx \begin{pmatrix} -3.38121 &{} -12.2073+8.68324i \\ 12.2073+8.68324i &{} 66.0758 \end{pmatrix}. $$
We observe that during the evaluation of the Cauchy transform (15a), which maps \(u\mapsto X(0)\) by means of an integral, at least 5 digits must have been lost by cancellation—a loss, which structurally cannot be avoided for oscillatory integrands with large amplitudes. (Note that this is not an issue of frequency: just one oscillation with a large amplitude suffices to get such a severe cancellation.)
Fig. 8

Left \(u_{21}(\zeta )\) on the circle \(\zeta = -1 + 0.3 e^{2\pi i t}\); right \(u_{21}(\zeta )\) on \(\zeta = +1 + 0.3 e^{2\pi i t}\). The real parts are shown in blue, the imaginary part in yellow. Note that there are \(m=6\) oscillations on the left and \(n=8\) oscillations on the right; the maximum amplitude is about \(1.1\cdot 10^4\) on the left and \(7.5\cdot 10^5\) on the right

Since the amplitudes of \(u_{21}\) grow exponentially with n and m, the algorithm for computing \(Z^a_{n,m}\) based on the numerical evaluation of (15) applied to the RHP (11) is numerically unstable. Even though the initial step, the spectral method in coefficient space applied to (15b) is perfectly stable, stability is destructed by the bad conditioning of the post-processing step, that is, the evaluation of the integral in (15a). We refer to [7] for an analysis that algorithms with a badly conditioned post processing of intermediate solutions are generally prone to numerical instability.

7 RHPs as Integral Equations with Nonsingular Kernels

By reversing the orientation of the two small circles in the RHP (11), and by simultaneously replacing the jump matrix \(G_1\) by \(\tilde{G}_1 = G_1^{-1}\), the RHP is transformed to an equivalent one with a contour system \(\Sigma \) that satisfies the following properties, see Fig. 9: it is a union of non-self intersecting smooth curves, that bound a domain \(\Omega _+\) to its left. By \(\Omega _-\) we will denote the (generally not connected) region which is the complement of \(\Omega _+ \cup \varGamma \). Note that the model problem (12) falls into that class of contours without any further transformation.
Fig. 9

A modified, but equivalent, contour system \(\Sigma \) for the for the RHP (11) obtained by reversing the orientation and by simultaneously replacing the jump matrix \(G_1\) by \(G_1^{-1}\). Now, there is a bounded domain \(\Omega _+\) (marked in green) to the left of \(\Sigma \), cf. the original system shown in Fig. 6

We drop the tilde from the jump matrices and consider RHPs of the form
$$\begin{aligned} \varPhi _+(\zeta ) = G(\zeta ) \varPhi _-(\zeta ) \quad (\zeta \in \Sigma ),\qquad \varPhi (z) = I + O(z^{-1})\quad (z\rightarrow \infty ), \end{aligned}$$
on such contours systems \(\Sigma \). It will either represent the aforementioned transformation of (11) or the model problem (12). In particular, G is lower triangular and can be analytically continued to a vicinity of \(\Sigma \).
The classical theory developed by Plemelj (see [17, Sect. 126]) for such problems teaches the following: the directed boundary values \(\varPhi _-\) of the unique analytic solution \(\varPhi : \mathbb {C}\setminus \Sigma \rightarrow {{\mathrm{GL}}}(2)\) of the RHP (17) satisfy a Fredholm integral equation [17, Eq. (126.5)] of the second kind on \(\Sigma \), namely
$$\begin{aligned} \varPhi _-(\zeta ) - \frac{1}{2\pi i}\int _\Sigma \frac{G^{-1}(\zeta ) G(\eta ) - I}{\eta - \zeta } \varPhi _-(\eta )\,d\eta = I\qquad (\zeta \in \Sigma ), \end{aligned}$$
understood here as an integral equation in \(L^2(\Sigma ,\mathbb {C}^{2\times 2})\). The matrix kernel of this equation, that is,
$$ K(\zeta ,\eta ) = \frac{G^{-1}(\zeta ) G(\eta ) - I}{\eta - \zeta } = G^{-1}(\zeta )\frac{ G(\eta ) - G(\zeta )}{\eta - \zeta }, $$
is smooth on \(\Sigma \times \Sigma \), since it extends as an analytic function and since the singularity at \(\zeta =\eta \) is removable. Integral equations of the form (18) with a smooth kernel are, in principle, amenable to fast quadrature based methods, see the next section.
We note that, given the boundary values \(\varPhi _-(\zeta )\) for \(\zeta \in \Sigma \), the solution of the RHP (17) can be reconstructed by
$$\begin{aligned} \varPhi (z) = {\left\{ \begin{array}{ll} I - \dfrac{1}{2\pi i} \displaystyle \int _\Sigma \dfrac{\varPhi _-(\zeta )}{\zeta -z}\,d\zeta &{}\qquad z \in \Omega _-,\\ \\ \dfrac{1}{2\pi i} \displaystyle \int _\Sigma \dfrac{G(\zeta )\varPhi _-(\zeta )}{\zeta -z}\,d\zeta &{}\qquad z \in \Omega _+. \end{array}\right. } \end{aligned}$$
In general, however, the Fredholm equation (18) is not equivalent to the RHP, see [17, p. 387]: the Fredholm equation has but a kernel of the same dimension as the kernel of the associated homogeneous RHP, defined as
$$\begin{aligned} \varPsi _+(\zeta ) = G^{-1}(\zeta ) \varPsi _-(\zeta )\quad (\zeta \in \Sigma ),\qquad \varPsi (z) = O(z^{-1})\quad (z\rightarrow \infty ). \end{aligned}$$
As we will show now, the kernel of the associated RHP is nontrivial in the examples studied in this work.
First, we observe, by the lower triangular form of G, that the 11- and the 12-components of \(\varPsi \) both satisfy a scalar RHP of the form (14) with a jump function g that has a winding number which is
$$ {{\mathrm{ind}}}_\Sigma g = - \frac{n+m}{2} $$
for the discrete map \(Z^a\), and which is \({{\mathrm{ind}}}_\Sigma g = -m\) for the model problem (12). Note that this winding number has the sign opposite to the results of Sect. 4 since the underlying \(2\times 2\) RHP is based on \(G^{-1}\) instead of G. Hence, the nullity of the scalar RHPs for the 11- and the 12-components of \(\varPsi \) is zero and the deficiency is \((n+m)/2\) (m in case of the model problem). As a consequence, the 11- and the 12-components of \(\varPsi \) must both be identically zero.
Next, since we now know that \(\varPsi \) has a zero first row, also the 21- and 22-components of \(\varPsi \) satisfy a scalar RHP of the form (14) each, but with a jump function g that has the positive winding number
$$ {{\mathrm{ind}}}_\Sigma g = \frac{n+m}{2} $$
for the discrete map \(Z^a\), and \({{\mathrm{ind}}}_\Sigma g = m\) for the model problem (12), just as discussed in Sect. 4. Hence, the deficiency of the scalar RHPs for the 21- and the 22-components of \(\varPsi \) is zero and the nullity is \((n+m)/2\) (m in case of the model problem). Since both components are linearly independent from of each other, we have thus proven the following lemma.

Lemma 1

The nullity of the associated homogeneous RHP (20), and hence, that of the Fredholm integral equation (18) is \(n+m\) in the case of the discrete map \(Z^a\) and 2m in the case of the model problem (12).

Example 1

For the model RHP (12) the smooth kernel of the Fredholm integral equation (18) can be constructed explicitly. Here we have
$$ K(\zeta ,\eta ) = \frac{G^{-1}(\zeta ) G(\eta ) - I}{\eta - \zeta } = \begin{pmatrix} \frac{(\eta /\zeta )^m-1}{\eta -\zeta } &{} \;0 \\ \frac{e^\eta \zeta ^m - e^\zeta \eta ^m}{\eta -\zeta } &{} \;\frac{(\zeta /\eta )^m-1}{\eta -\zeta } \end{pmatrix}. $$
A column of a matrix belonging to the kernel of (18) satisfies the equation
$$\begin{aligned} \begin{pmatrix} u_-(\zeta ) \\ w_-(\zeta ) \end{pmatrix} = \frac{1}{2\pi i} \int _\Sigma K(\zeta ,\eta ) \begin{pmatrix} u_-(\eta ) \\ w_-(\eta ) \end{pmatrix}\,d\eta \qquad (\zeta \in \Sigma ), \end{aligned}$$
where \(\Sigma \) is the positively oriented unit circle. We will construct solutions that extend analytically as \(u_-(z)\) and \(w_-(z)\) for \(z\ne 0\), such that
$$ \begin{pmatrix} u_-(z) \\ w_-(z) \end{pmatrix} = {{\mathrm{res}}}_{\eta = 0 } K(z,\eta ) \begin{pmatrix} u_-(\eta ) \\ w_-(\eta ) \end{pmatrix}\qquad (z \ne 0). $$
By recalling the notation introduced in (13) we observe, for \(k=0,\ldots ,m-1\), that
$$\begin{aligned} {{\mathrm{res}}}_{\eta =0}K_{11}(z,\eta ) \eta ^{k-m}&= z^{k-m}, \\ {{\mathrm{res}}}_{\eta =0}K_{21}(z,\eta ) \eta ^{k-m}&= -z^k e_{m-k}(z),\\ {{\mathrm{res}}}_{\eta =0}K_{22}(z,\eta ) \eta ^k&= -z^k. \end{aligned}$$
Using the coefficients \(a_{jk}^{(m)}\) that induce a change of polynomial basis by
$$ z^k = \sum _{k=0}^{m-1} a_{kj}^{(m)} z^j e_{m-j}(z)\qquad (k=0,\ldots ,m-1), $$
we define the polynomials
$$ p_k^{(m)}(z) = \sum _{j=0}^{m-1} a_{kj}^{(m)} z^j \qquad (k=0,\ldots ,m-1), $$
each of which has degree at most \(m-1\). Then, the m linear independent vectors
$$\begin{aligned} \begin{pmatrix} u_-(\zeta ) \\ w_-(\zeta ) \end{pmatrix} = \begin{pmatrix} -2 \zeta ^{-m} p_k^{(m)}(\zeta ) \\ \zeta ^k \end{pmatrix}\qquad (k=0,\ldots ,m-1) \end{aligned}$$
are solutions of (21) each. Thus, since its dimension is 2m by Lemma 1, the kernel of the integral equation (18) is spanned by the \(2\times 2\) matrices whose columns are linear combinations of these vectors. \(\square \)
The unique solution \(\varPhi _-\) of the RHP (17) can be picked among the solutions of (18) by imposing additional linear conditions, namely \(n+m\) independent such conditions in the case of the discrete map \(Z^a\) and 2m in the case of the model problem. Specifically, for the model problem (12), we obtain such conditions as follows. First, since \(\varPhi _-(z)\) continues analytically to \(|z|>1\) and since \(\varPhi _-(z) = I + O(z^{-1})\) as \(z\rightarrow \infty \), we get by Cauchy’s formula for the Laurent coefficients at \(z=\infty \) that
$$ \frac{1}{2\pi i} \int _\Sigma \varPhi _-(\zeta )\frac{d\zeta }{\zeta ^k} = [k=1]\cdot I\qquad (k=1,2,\ldots ). $$
Second, by restricting this relation to the second row of the matrix \(\varPhi _-\) for \(k=1,\ldots ,m\), we get the conditions
$$\begin{aligned} \frac{1}{2\pi i} \int _\Sigma \begin{pmatrix} 0&\;\; 1 \end{pmatrix} \cdot \varPhi _{-}(\zeta )\,\frac{d\zeta }{\zeta ^k} = \begin{pmatrix} 0\;\;&[k=1] \end{pmatrix}\qquad (k=1,\ldots ,m). \end{aligned}$$
In fact, these conditions force all the components of the columns (22) that would span an offset from the kernel of (18) to be zero.

For the \(Z^a\)-RHP, similar arguments prove that the kernel of (17) is spanned by matrices whose second row extends to polynomials of degree smaller than \((n+m)/2\) to the outside of the outer circle in Fig. 9. Thus, the same form of conditions as in (23) can be applied for picking the proper solution \(\varPhi _-(\zeta )\), except that one would have to replace \(\Sigma \) by that outer circle and the upper index m by \((n+m)/2\).

8 A Modified Nyström Method

Fredholm integral equations of the second kind with smooth kernels defined on a system of circular contours are best discretized by the classical Nyström method [15, Sect. 12.2]. Here, one uses the composite trapezoidal rule as the underlying quadrature formula, that is,
$$ \frac{1}{2\pi i}\int _{\partial B_r(z_0)} f(z)\,dz \approx \frac{r}{N} \sum _{j=0}^{N-1} f\left( z_0 + r e^{2\pi i j/N}\right) e^{2\pi i j/N}. $$
For integrands that extend analytically to a vicinity of the contour, this quadrature formula is spectrally accurate, see, e.g., [9, \(\S \)2] or [22, \(\S \)2].

Since the Fredholm integral equation (18) has a positive nullity, applying the Nyström method to it will yield, for N large enough, a numerically singular linear system. However, the theory of the last section suggests a simple modification of the Nyström method: we use the conditions (23) (after approximating them by the same quadrature formula as for the Nyström method) as additional equations and solve the resulting overdetermined linear system by the least squares method.

Numerical Example 1: Model problem

We apply the modified Nyström method to the Fredholm integral equation representing the model problem (12). By the sampling condition, see, e.g., [9, \(\S \)2], the number N of quadrature points will scale as \(N = O(m)\), hence the computational complexity scales as \(O(m^3)\). To check the accuracy we compare with
$$ Y(0) = \dfrac{1}{2\pi i} \displaystyle \int _\varGamma G(\zeta )\varPhi _-(\zeta )\dfrac{d\zeta }{\zeta }, \qquad I = \dfrac{1}{2\pi i} \displaystyle \int _\varGamma \varPhi _-(\zeta )\dfrac{d\zeta }{\zeta }, $$
evaluated by the same quadrature formula as for the Nyström method. For the particular parameters \(m=100\) and \(N=140\) we get, within a run-time of 0.49 s for a straightforward Matlab implementation, a maximum error of these two quantities, measured in 2-norm, of \(1.33\cdot 10^{-14}\). The condition number of the least squares matrix grows just moderately with m: it is about 23 for \(m=1\) and about 650 for \(m=1000\).

Numerical Example 2: Discrete \(Z^{2/3}\)

Now, we apply the modified Nyström method to the Fredholm integral equation representing the RHP (11) subject to a transformation to the form (17). Here, the sampling condition requires \(N = O(n+m)\), hence the computational complexity scales as \(O((n+m)^3)\). For \(Z_{6,8}^{2/3}\), the modified Nyström method yields the convergence plot shown in Fig. 10: it exhibits exponential (i.e., spectral) convergence until a noise level of about \(10^{-9}\) is reached, which corresponds to a loss of about 6 digits. The reason for this loss is that this method for approximating the discrete \(Z^a\) suffers the same issue with a bad conditioning of the post-processing step, that is, of
$$ \varPhi _-(\cdot ) \mapsto X(0) = \dfrac{1}{2\pi i} \displaystyle \int _\varGamma G(\zeta )\varPhi _-(\zeta )\dfrac{d\zeta }{\zeta }, $$
as the spectral method for the singular integral equation discussed in Sect. 6. Here, the amplitude of the real and imaginary part of \(\varPhi _-(\zeta )\) along the two inner circles is of the order \(10^4\) which causes a cancellation of at least 4 significant digits.
Fig. 10

Absolute error of the approximation of \(Z^{2/3}_{6,8}\) by the modified Nyström method vs. the number of quadrature points \(N_0\) on each of the three circles in Fig. 9 (the radii are 1 / 2 for the inner circles, 3 for the outer one); the total number of quadrature points is then \(N=3\times N_0\). One observes, after a threshold caused by a sampling condition, exponential (i.e., spectral) convergence that saturates at a level of numerical noise at an error of about \(10^{-9}\). Run time of a Mathematica implementation with \(N_0=42\) is about 0.15 s

9 Conclusion

To summarize, there are two fundamental options for the stable numerical evaluation of the discrete map \(Z^a_{n,m}\).

  • Computing all the values of the array \(1\leqslant n,m\leqslant N\) at once by, first, computing the diagonal using a boundary value solve for the discrete Painlevé II equation (5) and, then, by recursing from the diagonal to the boundary using the discrete differential equation (2). This approach has optimal complexity \(O(N^2)\).

  • Computing just a single value for a given index pair (nm) by using the RHP (11) and one of the methods discussed in Sect. 6 or 8. Since both methods suffer from an instability caused by a post-processing quadrature for larger values of n and m, one would rather mix this approach with the asymptotics (4). For instance, using the numerical schemes for \(n,m \leqslant 10\), and the asymptotics otherwise, gives a uniform precision of about 5 digits for \(a=2/3\). Higher accuracy would require the calculation of the next order terms of the asymptotics as in Sect. 2. This mixed numerical-asymptotic method has optimal complexity O(1).



  1. 1.

    All numerical calculations are done in hardware arithmetic using double precision.

  2. 2.
    To make \(G_1\) holomorphic in the vicinity of \(\varGamma _1\) we place the branch-cut of \(\zeta ^{-a/2}\) at the negative imaginary axis, that is, we take, using the principal branch \({{\mathrm{Log}}}\) of the logarithm,
    $$ e^{ia \pi /2} \zeta ^{-a/2} = e^{ia \pi /4} e^{-\frac{a}{2} {{\mathrm{Log}}}(\zeta /i)}. $$
  3. 3.

    Though the parametrix leads to a near-identity RHP, the actually computation of the parametrix would require solving a problem that is, numerically, of similar difficulty as the S-RHP itself.

  4. 4.
    The standard form, see [2, p. 1124], of that orthogonal polynomial RHP would be
    $$ X_+(\zeta ) = \begin{pmatrix} 1 &{} 0\\ e^\zeta \zeta ^{-m} &{} 1 \end{pmatrix} X_-(\zeta )\quad (|\zeta |=1),\qquad X(z) = \begin{pmatrix} z^m &{} 0 \\ 0 &{} z^{-m} \end{pmatrix}(I+O(z^{-1}))\qquad (z\rightarrow \infty ). $$
    The model problem (12) is obtained by putting the diagonal scaling at \(z\rightarrow \infty \) into the jump matrix.
  5. 5.

    Here, we identify a RHP with an equivalent linear operator equation \(Tu = \cdots \), see, e.g., (15) in the next section. We recall that \(\lambda = \dim \ker T\) is called the nullity, \(\mu = \dim {{\mathrm{coker}}}T\) the deficiency and \(\kappa = \lambda - \mu \) the Noether index of a linear operator T with closed range.

  6. 6.

    Points of self intersection are allowed if certain cyclic conditions are satisfied [13]: at such a point the product of the corresponding parts of the jump matrix should be the identity matrix. These conditions guarantee smoothness in the sense of [26], where the analog of Theorem 1 is proved for the general smooth Riemann–Hilbert data.

  7. 7.

    It is actually implemented this way in SingularIntegralEquations.jl, a Julia software package described in [19].

  8. 8.

    We use the Iverson bracket of a condition: \([{\mathscr {P}}] = 1\) if the predicate \({\mathscr {P}}\) is true, \([{\mathscr {P}}] = 0\) otherwise.

  9. 9., cf. [19].

  10. 10.

    Using a MacBook Pro with a 3.0 GHz Intel Core i7-4578U processor and 16 GB of RAM.



The research of F.B., A.I., and G.W. was supported by the DFG-Collaborative Research Center, TRR 109, “Discretization in Geometry and Dynamics.”


  1. 1.
    Agafonov, S.I., Bobenko, A.: Discrete \(Z^\gamma \) and Painlevé equations. Int. Math. Res. Notices 2000(4), 165–193 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Baik, J., Deift, P., Johansson, K.: On the distribution of the length of the longest increasing subsequence of random permutations. J. Am. Math. Soc. 12(4), 1119–1178 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Bobenko, A.: Discrete conformal maps and surfaces. Symmetries and Integrability of Difference Equations (Canterbury. 1996), London Mathematical Society Lecture Note Series, vol. 255, pp. 97–108. Cambridge University Press, Cambridge (1999)Google Scholar
  4. 4.
    Bobenko, A., Its, A.: The asymptotic behaviour of the discrete holomorphic map \(Z^a\) via the Riemann–Hilbert method (2014). arXiv:1409.2667
  5. 5.
    Bobenko, A., Pinkall, U.: Discrete isothermic surfaces. J. Reine Angew. Math. 475, 187–208 (1996)MathSciNetzbMATHGoogle Scholar
  6. 6.
    Bobenko, A., Pinkall, U.: Discretization of surfaces and integrable systems. Discrete Integrable Geometry and Physics (Vienna, 1996). Oxford Lecture Series in Mathematics and Its Applications, vol. 16, pp. 3–58. Oxford University Press, New York (1999)Google Scholar
  7. 7.
    Bornemann, F.: A model for understanding numerical stability. IMA J. Numer. Anal. 27(2), 219–231 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Bornemann, F.: On the numerical evaluation of distributions in random matrix theory: a review. Markov Process. Rel. Fields 16(4), 803–866 (2010)MathSciNetzbMATHGoogle Scholar
  9. 9.
    Bornemann, F.: Accuracy and stability of computing high-order derivatives of analytic functions by Cauchy integrals. Found. Comput. Math. 11(1), 1–63 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Bornemann, F., Wechslberger, G.: Optimal contours for high-order derivatives. IMA J. Numer. Anal. 33(2), 403–412 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Deift, P., Zhou, X.: A priori \(L^p\)-estimates for solutions of Riemann-Hilbert problems. Int. Math. Res. Not. 40, 2121–2154 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Fokas, A.S., Its, A.R., Kapaev, A.A., Novokshenov, V.Y.: Painlevé Transcendents-The Riemann-Hilbert Approach. American Mathematical Society, Providence (2006)CrossRefzbMATHGoogle Scholar
  13. 13.
    Fokas, A.S., Zhou, X.: On the solvability of Painlevé II and \({\rm{IV}}\). Comm. Math. Phys. 144(3), 601–622 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Hansen, A.C.: Infinite-dimensional numerical linear algebra: theory and applications. Proc. R. Soc. Lond. Ser. A Math. Phys. Eng. Sci. 466(2124), 3539–3559 (2010)MathSciNetGoogle Scholar
  15. 15.
    Kress, R.: Linear Integral Equations, vol. 82, 3rd edn. Springer, New York (2014)Google Scholar
  16. 16.
    Litvinchuk, G.S., Spitkovskii, I.M.: Factorization of Measurable Matrix Functions. Birkhäuser Verlag, Basel (1987)CrossRefGoogle Scholar
  17. 17.
    Muskhelishvili, N.I.: Singular Integral Equations. Wolters-Noordhoff Publ, Groningen (1972)zbMATHGoogle Scholar
  18. 18.
    Olver, S.: A general framework for solving Riemann-Hilbert problems numerically. Numer. Math. 122(2), 305–340 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Olver, S., Slevinsky, R.M.: A fast and well-conditioned spectral method for singular integral equations (2015). arXiv:1507.00596
  20. 20.
    Olver, S., Townsend, A.: A fast and well-conditioned spectral method. SIAM Rev. 55(3), 462–489 (2013)Google Scholar
  21. 21.
    Olver, S., Townsend, A.: A practical framework for infinite-dimensional linear algebra. In: Proceedings of the First Workshop for High Performance Technical Computing in Dynamic Languages, pp. 57–62 (2014)Google Scholar
  22. 22.
    Trefethen, L.N., Weideman, J.A.C.: The exponentially convergent trapezoidal rule. SIAM Rev. 56(3), 385–458 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Trogdon, T.: On the application of GMRES to oscillatory singular integral equations. BIT 55(2), 591–620 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Wechslberger, G.: Automatic Contour Deformation of Riemann–Hilbert Problems. Ph.D. thesis, Technische Universität München (2015)Google Scholar
  25. 25.
    Wechslberger, G., Bornemann, F.: Automatic deformation of Riemann-Hilbert problems with applications to the Painlevé II transcendents. Constr. Approx. 39(1), 151–171 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Zhou, X.: The Riemann-Hilbert problem and inverse scattering. SIAM J. Math. Anal. 20(4), 966–986 (1989)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© The Author(s) 2016

Open Access This chapter is distributed under the terms of the Creative Commons Attribution-Noncommercial 2.5 License ( which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.

The images or other third party material in this chapter are included in the work’s Creative Commons license, unless indicated otherwise in the credit line; if such material is not included in the work’s Creative Commons license and the respective action is not permitted by statutory regulation, users will need to obtain permission from the license holder to duplicate, adapt or reproduce the material.

Authors and Affiliations

  • Folkmar Bornemann
    • 1
  • Alexander Its
    • 2
  • Sheehan Olver
    • 3
  • Georg Wechslberger
    • 1
  1. 1.Zentrum Mathematik – M3Technische Universität MünchenGarching bei MünchenGermany
  2. 2.Department of Mathematical SciencesIndiana University–Purdue UniversityIndianapolisUSA
  3. 3.School of Mathematics and StatisticsThe University of SydneySydneyAustralia

Personalised recommendations