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
figure 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
figure 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.Footnote 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
figure 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
figure 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
figure 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
figure 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 matrixFootnote 2

$$\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,Footnote 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
figure 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\))Footnote 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 indexFootnote 5 \(\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 intersectingFootnote 6 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 expandedFootnote 7 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 toFootnote 8

$$\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 Footnote 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:

figure a

The run timeFootnote 10 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.

figure b

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
figure 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
figure 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
figure 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).