1 Introduction

In the theory of conformal mapping of multiply connected domains in the extended complex plane \({\mathbb C}={\mathbb C}\cup \{\infty \}\), numerous canonical domains upon which a given domain may be mapped have been considered in the literature. Most of these canonical domains have been catalogued by Koebe in his classical paper [24] where thirty-nine canonical slit domains have been listed. There are many other canonical slit domains which have not been listed in [24] such as the canonical domain obtained by removing rectilinear slits from a strip [52, p. 128], the parabolic slit domain [21, 28, 41], the elliptic slit domain [21, 41, 47], hyperbolic slit domain [21, 41], etc. For more details, see [28] and the references cited therein.

Numerical computing of conformal maps onto canonical slit domains have been intensively studied, e.g. see [1, 6, 9, 15, 25, 31,32,33,34,35, 38, 43,44,45,46, 50, 53, 54]. However, most of these numerical methods can be used only for certain types of canonical domains. In comparison, the approach based on the boundary integral equation with the generalized Neumann kernel can be used for a wide range of canonical domains. The integral equation has been used to compute the numerical conformal mapping from multiply connected domains onto all of Koebe’s thirty-nine canonical slit domains [32,33,34,35] as well as the strip with rectilinear slits domain [38] in a unified way. Using the Fast Multipole Method (FMM), the integral equation for multiply connected domains of connectivity \(m+1\) can be solved numerically in \(O((m+1)n\log n)\) operations where n is the number of nodes in the discretization of each boundary component [37]. Moreover, the method has been successfully applied to domains of very high connectivity, with piecewise smooth boundaries, with close-to-touching boundaries, and with complex geometry; see e.g. [37, 38].

There are other very important canonical domains which are not slit domains such as the circular domain [16, 52], the lemniscatic domain [18, 48], and domains with polygonal boundary [14]. As, perhaps, the circular domain is the most important canonical domains, several numerical method have been propose for computing the conformal mapping onto this domain, e.g. in [3, 12, 19, 20, 22, 23, 27, 29, 30, 36, 49, 50]. These proposed methods are iterative methods. The first and the most famous of these numerical methods is Koebe’s iterative method [20, 23]. A fast numerical implementation of Koebe’s iterative method using the boundary integral equation with the generalized Neumann kernel has been presented in [36]. For lemniscatic domain, an iterative method based on the boundary integral equation with the generalized Neumann kernel has been presented in [39]. For numerical computing of the Schwarz–Christoffel maps for polygonal domains, see e.g. [4, 5, 7, 8, 10, 11, 13, 14].

As stated above, many of the available numerical methods for conformal mapping are limited to certain types of canonical domains or original domains. Thus, developing a unified method that can be used for all known canonical domains will be of considerable practical significance in the area of numerical conformal mapping. So far, the boundary integral equation with the generalized Neumann kernel has been used to develop a method for computing the conformal mappings onto a wide range of canonical domains including Koebe’s thirty-nine canonical slit domains [32,33,34,35], the canonical domain obtained by removing rectilinear slits from a strip [38], the circular domain [36], and the lemniscatic domains [39]. In this paper, we use the integral equation to develop a method for numerical computing of conformal mapping onto three more canonical slit domains, namely

  1. 1.

    The parabolic slit domain (see Fig. 1 (left)).

  2. 2.

    The elliptic slit domain (see Fig. 1 (center)).

  3. 3.

    The hyperbolic slit domain (see Fig. 1 (right)).

The presented method (up to the best of the author’s knowledge) is the first numerical method for computing conformal mappings onto such canonical domains. For more details about these canonical domains, see [21, § 5.4].

Fig. 1
figure 1

The three canonical domains: The parabolic slit domain (left), the elliptic slit domain (center), and the hyperbolic slit domain (right)

As in [32,33,34,35, 38], the conformal mappings onto these three canonical slit domains will be written in terms of an auxiliary analytic function f(z) whose boundary values are determined from the unique solution of the boundary integral equation with the generalized Neumann kernel. For interior values of z, the values of the function f(z) can be calculated by the Cauchy integral formula. The solution of the integral equation provides us also with explicit formulas for the parameters of the canonical domains.

2 The Generalized Neumann Kernel

Assume that G is a given bounded multiply connected domain of connectivity \(m+1\) which contains the origin and its boundary \(\varGamma =\partial G\) is oriented such that G is on the left of \(\varGamma \). The boundary \(\varGamma \) consists of \(m+1\) closed smooth Jordan curves \(\varGamma _0, \varGamma _1, \ldots , \varGamma _m\) where \(\varGamma _0\) encloses all the other curves. In this paper, we shall assume that the boundary \(\varGamma _0\) is the unit circle (see Fig. 2). For general domains whose external boundary is not the unit circle, we could map it first to a domain which external boundary is the unit circle. This can be done by mapping the simply connected domain inside \(\varGamma _0\) onto the unit disk. Hence, the curve \(\varGamma _0\) is mapped onto the unit circle and the smooth Jordan curves \(\varGamma _1,\ldots ,\varGamma _m\) inside \(\varGamma _0\) will be mapped onto smooth Jordan curves inside the unit circle (see Example 6.4 below).

Fig. 2
figure 2

A bounded multiply connected domain G of connectivity \(m+1\)

We assume that each boundary curve \(\varGamma _j\) is parametrized by a \(2\pi \)-periodic twice continuously differentiable complex function \(\eta _j (t)\) with non-vanishing first derivative \(\eta '_j(t)=\mathrm{d}\eta _j(t)/\mathrm{d}t\ne 0\) for \(t\in J_j=[0,2\pi ]\), \(j=0,1,\ldots ,m\). The total parameter domain J is the disjoint union of the \(m+1\) intervals \(J_0,J_1,\ldots ,J_m\),

$$\begin{aligned} J := \bigsqcup _{j=0}^m J_j=\bigcup _{j=0}^m \{(t,j)\;:\;t\in J_j\}, \end{aligned}$$

i.e. the elements of J are ordered pairs (tj) where j is an auxiliary index indicating which of the intervals contains the point t. We define a parametrization of the whole boundary \(\varGamma \) as the complex function \(\eta \) defined on J by

$$\begin{aligned} \eta (t,j):=\eta _j(t), \quad t\in J_j,\quad j=0,1,\ldots ,m. \end{aligned}$$
(2.1)

We shall assume for a given t that the auxiliary index j is known, so we replace the pair (tj) in the left-hand side of (2.1) by t. Thus, the function \(\eta \) in (2.1) is written as

$$\begin{aligned} \eta (t)= \left\{ \begin{array}{l@{}l} \eta _0(t),&{}t\in J_0,\\ \eta _1(t),&{}t\in J_1,\\ \vdots \\ \eta _m(t),&{}t\in J_m. \\ \end{array} \right. \end{aligned}$$

Let H be the space of all real-valued Hölder continuous functions on the boundary \(\varGamma \). In view of the smoothness of the parametrization \(\eta (t)\) of the boundary \(\varGamma \), any function \(\phi \in H\) can be interpreted via \(\hat{\phi }(t):=\phi (\eta (t))\) as a \(2\pi \)-periodic Hölder continuous function of the parameter t on J, and vice versa. Henceforth, in this paper, we shall not distinguish between \(\phi (t)\) and \(\phi (\eta (t))\). Finally, any piecewise constant function \(h\in H\) defined by

$$\begin{aligned} h(t)=h_j\quad \mathrm{for}\quad t\in J_j, \end{aligned}$$

with real constants \(h_j\) for \(j=0,1,\ldots ,m\), will be denoted by

$$\begin{aligned} h(t)=(h_0,h_1,\ldots ,h_m),\quad t\in J. \end{aligned}$$

Let A be the continuously differentiable complex function defined on \(\varGamma \) by

$$\begin{aligned} A(t):={\mathrm{e}}^{{ i}(\pi /2-\theta (t))}\eta (t), \quad t\in J, \end{aligned}$$
(2.2)

where \(\theta \) is a piecewise constant function \(\theta (t)=(\theta _0,\theta _1,\ldots ,\theta _m)\) with given real constants \(\theta _j\) for \(j=0,1,\ldots ,m\). The generalized Neumann kernel N(st) is defined for \((s,t)\in J\times J\) by

$$\begin{aligned} N(s,t) := \frac{1}{\pi }\mathop {\mathrm {Im}}\left( \frac{A(s)}{A(t)}\frac{\eta '(t)}{\eta (t)-\eta (s)}\right) . \end{aligned}$$

A closely related kernel to the generalized Neumann kernel N(st) is the following kernel M(st) defined for \((s,t)\in J\times J\) by

$$\begin{aligned} M(s,t) := \frac{1}{\pi }\mathop {\mathrm {Re}}\left( \frac{A(s)}{A(t)}\frac{\eta '(t)}{\eta (t)-\eta (s)}\right) . \end{aligned}$$

The kernel N(st) is continuous and the kernel M(st) has a cotangent singularity type. Thus, the integral operator \(\mathbf{N}\) defined on the space H by

$$\begin{aligned} \mathbf{N}\mu (s) := \int _J N(s,t) \mu (t) \mathrm{d}t, \quad s\in J, \end{aligned}$$

is a compact operator and the operator \(\mathbf{M}\) defined on H by

$$\begin{aligned} \mathbf{M}\mu (s) := \int _J M(s,t) \mu (t) \mathrm{d}t, \quad s\in J, \end{aligned}$$

is a singular operator. Both operators \(\mathbf{N}\) and \(\mathbf{M}\) are bounded on the space H and map H into itself. For more details, see [51].

Theorem 2.1

[34] For a given function \(\gamma \in H\), there exists a unique real-valued function \(\mu \) and a unique piecewise constant real-valued function \(h=(h_0,h_{1},\ldots ,h_{m})\) such that

$$\begin{aligned} A(t)f(\eta (t))=\gamma (t)+h(t)+{ i}\mu (t), \quad t \in J, \end{aligned}$$
(2.3)

are boundary values of an analytic function f in G. The function \(\mu \) is the unique solution of the integral equation

$$\begin{aligned} (\mathbf{I}-\mathbf{N})\mu =-\mathbf{M}\gamma \end{aligned}$$
(2.4)

and the function h is given by

$$\begin{aligned} h=[\mathbf{M}\mu -(\mathbf{I}-\mathbf{N})\gamma ]/2. \end{aligned}$$
(2.5)

In the following three sections, we shall use the integral equation (2.4) to develop a numerical method for computing the conformal mapping onto the three canonical domains: the parabolic slit domain, the elliptic slit domain, and the hyperbolic slit domain. For the parabolic slit domain and the hyperbolic slit domain, we shall need the following function

$$\begin{aligned} {{ w}}=\Upsilon (z)=\frac{1-{ i}z}{z-{ i}}, \end{aligned}$$

which is a conformal mapping from the unit disk \(|z|<1\) onto the upper half-plane \(\mathop {\mathrm {Im}}{{ w}}>0\). Further, the function \(\Upsilon \) maps the unit circle \(|z|=1\) onto the line \(\mathop {\mathrm {Im}}{{ w}}=0\) with \(\Upsilon (1)=1\), \(\Upsilon ({ i})=\infty \), \(\Upsilon (-1)=-1\), and \(\Upsilon (-{ i})=0\).

3 Conformal Mapping onto Parabolic Slit Domains

This canonical domain consists of the entire \({{ w}}\)-plane slit along m finite slits on confocal parabolas and the semi-infinite straight slit on the axis of the parabolas connecting the focus of the parabolas to the point at infinity (see Fig. 1 (left)). We assume that the focus of these parabolas is at the origin of the \({{ w}}\)-plane and the semi-infinite slit is in the direction of the positive real axis. Assume \({{ w}}=u+{ i}v\) and assume that the curve \(\varGamma _j\) is mapped onto a slit on the parabola

$$\begin{aligned} v^2=4R_j(u+R_j), \quad j=1,2,\ldots ,m, \end{aligned}$$

where \(R_1,\ldots ,R_m\) are undetermined positive real constants. The external boundary \(\varGamma _0\) will be mapped onto the semi-infinite line \(u\ge 0\) and \(v=0\). Assume that \(R_0:=0\), then the boundary values of the mapping function \({{ w}}=\omega (z)\) satisfy

$$\begin{aligned} \left( \mathop {\mathrm {Im}}\omega (\eta (t))\right) ^2=4R_j(\mathop {\mathrm {Re}}\omega (\eta (t))+R_j), \quad t\in J_j, \quad j=0,1,2,\ldots ,m. \end{aligned}$$
(3.1)

To ensure the uniqueness of the mapping function \({{ w}}=\omega (z)\), we assume \({{ w}}=\omega (z)\) maps the three points \(-{ i},1,{ i}\) on \(\varGamma _0\) (arranged according to the positive orientation) into the three boundary points \(0,1,\infty \) on the semi-infinite slit \(\omega (\varGamma _0)\), respectively, i.e.

$$\begin{aligned} \omega (-{ i})=0, \quad \omega (1)=1, \quad \omega ({ i})=\infty . \end{aligned}$$
(3.2)

Then the mapping function \({{ w}}=\omega (z)\) can be computed as in the following theorem.

Theorem 3.1

Suppose that the function A(t) is defined by (2.2) with \(\theta (t):=(0,0,\ldots ,0)\), the function \(\gamma \) is defined by

$$\begin{aligned} \gamma (t):= \left\{ \begin{array}{l@{}l} 0,&{}\quad t\in J_0,\\ \mathop {\mathrm {Im}}\Upsilon (\eta (t)),&{}\quad t\in J_j, \; j=1,2,\ldots ,m,\\ \end{array}\right. \end{aligned}$$
(3.3)

\(\mu \) is the unique solution of the integral equation (2.4), and the piecewise constant function \(h=(h_0,h_1,\ldots ,h_m)\) is given by (2.5). Suppose also that f(z) is the analytic function with the boundary values (2.3). Then the function

$$\begin{aligned} {{ w}}=\omega (z):=\left( \frac{\Upsilon (z)+zf(z)+{ i}f(-{ i})}{1+f(1)+{ i}f(-{ i})}\right) ^2 \end{aligned}$$
(3.4)

is the unique conformal mapping from the domain G in the z-plane onto the parabolic slit domain exterior to the slits (3.1) in the \({{ w}}\)-plane and satisfies the normalization (3.2) where

$$\begin{aligned} R_j=\left( \frac{h_0-h_j}{1+\mathop {\mathrm {Re}}f(1)-\mathop {\mathrm {Im}}f(-{ i})}\right) ^2, \quad j=0,1,\ldots ,m. \end{aligned}$$
(3.5)

Proof

For the given function \(\theta \), it follows from (2.2) that \(A(t)={ i}\eta (t)\). Hence, it follows from [35, §4.5] that the function \(\varPhi (z)\) given by

$$\begin{aligned} \zeta =\varPhi (z):=\Upsilon (z)+zf(z)+{ i}h_0, \end{aligned}$$

is a conformal mapping from the domain G in z-plane onto the upper half-plane \(\mathop {\mathrm {Im}}\zeta >0\) with m horizontal rectilinear slits where the external boundary \(\varGamma _0\) is mapped onto the line \(\mathop {\mathrm {Im}}\zeta =0\). Since \(\Upsilon (-{ i})=0\) and \(\Upsilon ({ i})=\infty \), we obtain \(\varPhi (-{ i})=-{ i}f(-{ i})+{ i}h_0\) and \(\varPhi ({ i})=\infty \). Thus, the function

$$\begin{aligned} \zeta =\hat{\varPhi }(z):=\varPhi (z)-\varPhi (-{ i})=\Upsilon (z)+zf(z)+{ i}f(-{ i}) \end{aligned}$$

conformally maps the domain G onto the upper half-plane \(\mathop {\mathrm {Im}}\zeta >0\) with m horizontal slits and maps the external boundary \(\varGamma _0\) onto the line \(\mathop {\mathrm {Im}}\zeta =0\) with \(\hat{\varPhi }(-{ i})=0\) and \(\hat{\varPhi }({ i})=\infty \). The boundary values of the function \(\hat{\varPhi }\) on \(\varGamma _0\) satisfy

$$\begin{aligned} \mathop {\mathrm {Im}}\hat{\varPhi }(\eta _0(t))=0. \end{aligned}$$

For the boundary values of the function \(\hat{\varPhi }\) on the other boundaries \(\varGamma _j\) for \(j=1,2,\ldots ,m\), we have

$$\begin{aligned} \mathop {\mathrm {Im}}\hat{\varPhi }(\eta (t))= & {} \mathop {\mathrm {Im}}\left[ \Upsilon (\eta (t))-{ i}A(t)f(\eta (t))+{ i}f(-{ i})\right] \\= & {} \mathop {\mathrm {Im}}\Upsilon (\eta (t))-\mathop {\mathrm {Re}}[A(t)f(\eta (t))]+\mathop {\mathrm {Re}}f(-{ i}). \end{aligned}$$

Since \(\varPhi (-{ i})\) is a real number, we have

$$\begin{aligned} 0=\mathop {\mathrm {Im}}\varPhi (-{ i})=\mathop {\mathrm {Im}}\left[ -{ i}f(-{ i})+{ i}h_0\right] =-\mathop {\mathrm {Re}}f(-{ i})+h_0 \end{aligned}$$

which implies that \(\mathop {\mathrm {Re}}f(-{ i})=h_0\). Thus, in view of the definition (3.3) of the function \(\gamma \), the boundary values of the function \(\hat{\varPhi }\) are given on \(\varGamma _j\) for \(j=1,2,\ldots ,m\) by

$$\begin{aligned} \mathop {\mathrm {Im}}\hat{\varPhi }(\eta (t))=\mathop {\mathrm {Im}}\Upsilon (\eta (t))-\gamma (t)-h(t)+h_0=h_0-h(t). \end{aligned}$$

Hence,

$$\begin{aligned} \mathop {\mathrm {Im}}\hat{\varPhi }(\eta _j(t))=h_0-h_j, \quad j=0,1,2,\ldots ,m. \end{aligned}$$

The mapping function \(\hat{\varPhi }\) satisfies \(\hat{\varPhi }(-{ i})=0\) and \(\hat{\varPhi }({ i})=\infty \). However, \(\hat{\varPhi }(1)=1+f(1)+{ i}f(-{ i})\) is a real number with \(\varPhi (1)\ne 0\) but is not necessary equals to 1. Hence

$$\begin{aligned} \hat{\varPhi }(1)=\mathop {\mathrm {Re}}[\hat{\varPhi }(1)]=1+\mathop {\mathrm {Re}}f(1)-\mathop {\mathrm {Im}}f(-{ i}). \end{aligned}$$

Consequently, the function

$$\begin{aligned} \zeta =\tilde{\varPhi }(z):=\frac{\hat{\varPhi }(z)}{\hat{\varPhi }(1)}=\frac{\Upsilon (z)+zf(z)+{ i}f(-{ i})}{1+\mathop {\mathrm {Re}}f(1)-\mathop {\mathrm {Im}}f(-{ i})} \end{aligned}$$

conformally maps the domain G onto the upper half-plane \(\mathop {\mathrm {Im}}\zeta >0\) with m horizontal slits and maps the external boundary \(\varGamma _0\) onto the line \(\mathop {\mathrm {Im}}\zeta =0\) with

$$\begin{aligned} \tilde{\varPhi }(-{ i})=0,\quad \tilde{\varPhi }(1)=1,\quad \tilde{\varPhi }({ i})=\infty . \end{aligned}$$
(3.6)

The boundary values of the function \(\tilde{\varPhi }\) on the other boundaries \(\varGamma _j\) for \(j=0,1,2,\ldots ,m\) satisfy

$$\begin{aligned} \mathop {\mathrm {Im}}\tilde{\varPhi }(\eta _j(t))=r_j, \quad j=0,1,2,\ldots ,m, \end{aligned}$$

where

$$\begin{aligned} r_j=\frac{h_0-h_j}{1+\mathop {\mathrm {Re}}f(1)-\mathop {\mathrm {Im}}f(-{ i})}, \quad j=0,1,2,\ldots ,m. \end{aligned}$$
(3.7)

As special case for \(\varGamma _0\), we have \(r_0=0\) and \(\mathop {\mathrm {Im}}\tilde{\varPhi }(\eta _0(t))=0\). Thus the boundary values of \(\tilde{\varPhi }\) can be written on each boundary \(\varGamma _j\) as

$$\begin{aligned} \tilde{\varPhi }(\eta _j(t))= { \nu _j(t)}+{ i}r_j, \quad t\in J_j, \; j=0,1,2,\ldots ,m, \end{aligned}$$

where \({ \nu _j(t)}\) are real functions.

Finally, the function

$$\begin{aligned} {{ w}}=\Psi (\zeta ):=\zeta ^2 \end{aligned}$$

is a conformal mapping from the upper half-plane \(\mathop {\mathrm {Im}}\zeta >0\) in the \(\zeta \)-plane onto the unbounded domain exterior to the semi-infinite rectilinear slit \(\{{{ w}}\,:\mathop {\mathrm {Im}}{{ w}}=0,\; \mathop {\mathrm {Re}}{{ w}}\ge 0\}\) in the \({{ w}}\)-plane. Further, the function \(\Psi \) maps the horizontal rectilinear slits in the upper half-plane onto slits in the unbounded domain exterior to the semi-infinite rectilinear slit \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; \mathop {\mathrm {Re}}{{ w}}\ge 0\}\). Consequently, the function

$$\begin{aligned} {{ w}}=\omega (z):=\Psi \left( \tilde{\varPhi }(z)\right) =\tilde{\varPhi }(z)^2=\left( \frac{\Upsilon (z)+zf(z)+{ i}f(-{ i})}{1+\mathop {\mathrm {Re}}f(1)-\mathop {\mathrm {Im}}f(-{ i})}\right) ^2 \end{aligned}$$
(3.8)

is a conformal mapping from the domain G in the z-plane onto the unbounded domain exterior to the semi-infinite rectilinear slit \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; \mathop {\mathrm {Re}}{{ w}}\ge 0\}\) and to other m slits in the \({{ w}}\)-plane. To find the type of these m slits, we have, for \(j=0,1,2,\ldots ,m\),

$$\begin{aligned} \omega (\eta _j(t))=\left( \tilde{\varPhi }(\eta _j(t))\right) ^2=\left( { \nu _j(t)}+{ i}r_j\right) ^2={ \nu _j(t)}^2- r_j^2+{ i}2r_j{ \nu _j(t)}, \end{aligned}$$

which, after some algebra, implies that the values \(\omega (\eta _j(t))\) satisfy

$$\begin{aligned} \left( \mathop {\mathrm {Im}}[\omega (\eta _j(t))]\right) ^2=4r_j^2\left( \mathop {\mathrm {Re}}[\omega (\eta _j(t))]+r_j^2\right) , \quad t\in J_j,\; j=0,1,2,\ldots ,m, \end{aligned}$$

which is (3.1) with \(R_j=r_j^2\). Hence, (3.5) follows from (3.7). In view of (3.8) and (3.6), it is clear that the mapping function \(\omega \) satisfies the normalization (3.2). \(\square \)

4 Conformal Mapping onto Elliptic Slit Domain

This canonical domain consists of the entire \({{ w}}\)-plane slit along m finite slits on confocal ellipses and the finite rectilinear slit connecting the foci of the ellipses (see Fig. 1 (center)). We assume that the foci of these ellipses are at the points \(\pm \,1\) in the \({{ w}}\)-plane. The external boundary \(\varGamma _0\) will be correspond to the finite segment connecting the foci. The remaining curves \(\varGamma _j\) for \(j=1,2,\ldots ,m\) will be mapped onto slits on the ellipses

$$\begin{aligned} |{{ w}}+1|+|{{ w}}-1|=R_j, \quad j=1,2,\ldots ,m, \end{aligned}$$

where \(R_j\) are undetermined real constants such that \(R_j>2\) for \(j=1,2,\ldots ,m\). Thus the boundary values of the mapping function \({{ w}}=\omega (z)\) satisfy

$$\begin{aligned} |\omega (\eta (t))+1|+|\omega (\eta (t))-1|=R_j, \quad t\in J_j, \quad j=0,1,2,\ldots ,m, \end{aligned}$$
(4.1)

where \(R_0:=2\). For the uniqueness of the mapping function \({{ w}}=\omega (z)\), we assume that

$$\begin{aligned} \omega (0)=\infty , \quad \omega (1)=1, \end{aligned}$$
(4.2)

i.e. we assume \({{ w}}=\omega (z)\) maps the point 0 in G into \(\infty \) and the point 1 on \(\varGamma _0\) into the point 1 on the slit \(\omega (\varGamma _0)\).

Then the mapping function \({{ w}}=\omega (z)\) can be computed as in the following theorem.

Theorem 4.1

Suppose that the function A(t) is defined by (2.2) with \(\theta (t):=(\pi /2,\pi /2,\ldots ,\pi /2)\), the function \(\gamma \) is defined by

$$\begin{aligned} \gamma (t):=-\log \left| \eta (t)\right| , \end{aligned}$$
(4.3)

\(\mu \) is the unique solution of the integral equation (2.4), and the piecewise constant function \(h=(h_0,h_1,\ldots ,h_m)\) is given by (2.5). Suppose also that f(z) is the analytic function with the boundary values (2.3). Then the function

$$\begin{aligned} {{ w}}=\omega (z):=\frac{1}{2}\left( z{\mathrm{e}}^{zf(z)-f(1)}+\frac{1}{z}{\mathrm{e}}^{-zf(z)+f(1)}\right) \end{aligned}$$
(4.4)

is the unique conformal mapping from the domain G in the z-plane onto the elliptic slit domain exterior to the slits (4.1) in the \({{ w}}\)-plane and satisfies the normalization (4.2) where

$$\begin{aligned} R_j=2\cosh (h_j-h_0), \quad j=0,1,\ldots ,m. \end{aligned}$$
(4.5)

Proof

For the given function \(\theta \), it follows from (2.2) that the function A is \(A(t)=\eta (t)\). Hence, it follows from [33, §4.2] and [34, §4.2] that the function \(\varPhi (z)\) given by

$$\begin{aligned} \zeta =\varPhi (z):={\mathrm{e}}^{-h_0}z{\mathrm{e}}^{zf(z)}, \end{aligned}$$

is the conformal mapping from the domain G in the z-plane onto the unit disk with circular slits domain in the \(\zeta \)-plane where the external boundary \(\varGamma _0\) is mapped onto the unit circle. It is clear that \(\varPhi (0)=0\) and \(\varPhi (1)={\mathrm{e}}^{-h_0}{\mathrm{e}}^{f(1)}\) where \(\varPhi (1)\) is not necessary equals to 1. Since \(\varPhi (1)\) is on the unit circle, then the function

$$\begin{aligned} \zeta =\hat{\varPhi }(z):=\frac{\varPhi (z)}{\varPhi (1)}=z{\mathrm{e}}^{zf(z)-f(1)} \end{aligned}$$

conformally maps the domain G onto the unit disk with circular slits domain with \(\hat{\varPhi }(0)=0\) and \(\hat{\varPhi }(1)=1\). The boundary values of \(\hat{\varPhi }\) satisfy

$$\begin{aligned}&|\hat{\varPhi }(\eta (t))|=\left| \eta (t){\mathrm{e}}^{\eta (t)f(\eta (t))-f(1)}\right| =|\eta (t)|{\mathrm{e}}^{\mathop {\mathrm {Re}}[A(t)f(\eta (t))]-\mathop {\mathrm {Re}}f(1)}\\&\quad =|\eta (t)|{\mathrm{e}}^{\gamma (t)+h(t)-\mathop {\mathrm {Re}}f(1)}. \end{aligned}$$

Further, we have

$$\begin{aligned} 1=|\varPhi (1)|=\left| {\mathrm{e}}^{-h_0}{\mathrm{e}}^{f(1)}\right| ={\mathrm{e}}^{-h_0}{\mathrm{e}}^{\mathop {\mathrm {Re}}f(1)} \end{aligned}$$

which implies that \(\mathop {\mathrm {Re}}f(1)=h_0\). Since \(\gamma (t)=-\ln |\eta (t)|\), hence the boundary values of \(\hat{\varPhi }\) satisfy

$$\begin{aligned} \left| \hat{\varPhi }(\eta (t))\right| ={\mathrm{e}}^{h(t)-h_0}, \end{aligned}$$

which can be written as

$$\begin{aligned} \left| \hat{\varPhi }(\eta _j(t))\right| ={\mathrm{e}}^{h_j-h_0}, \quad t\in J_j,\; j=0,1,2,\ldots ,m. \end{aligned}$$

Thus, boundary values of \(\hat{\varPhi }\) can be written on each boundary \(\varGamma _j\) as

$$\begin{aligned} \hat{\varPhi }(\eta _j(t))={\mathrm{e}}^{h_j-h_0}{\mathrm{e}}^{{ i}{ \nu _j(t)}}, \quad t\in J_j,\; j=0,1,2,\ldots ,m, \end{aligned}$$

where \({ \nu _j(t)}\) are real functions.

Finally, the function

$$\begin{aligned} {{ w}}=\Psi (\zeta ):=\frac{1}{2}\left( \zeta +\frac{1}{\zeta }\right) \end{aligned}$$

is a conformal mapping from the unit disk \(|\zeta |<1\) in the \(\zeta \)-plane onto the unbounded domain exterior to the real segment \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; |\mathop {\mathrm {Re}}{{ w}}|\le 1\}\) in the \({{ w}}\)-plane. Further, the function \(\Psi \) maps the circular slits inside the unit circle onto slits in the unbounded domain exterior to the segment \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; |\mathop {\mathrm {Re}}{{ w}}|\le 1\}\). Consequently, the function

$$\begin{aligned} {{ w}}=\omega (z):=\Psi \left( \hat{\varPhi }(z)\right) =\frac{1}{2}\left( \hat{\varPhi }(z)+\frac{1}{\hat{\varPhi }(z)}\right) \end{aligned}$$
(4.6)

is a conformal mapping from the domain G in the z-plane onto the unbounded domain exterior to the real segment \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; |\mathop {\mathrm {Re}}{{ w}}|\le 1\}\) and to other m slits in the \({{ w}}\)-plane. To find the type of these m slits, we have, for \(j=0,1,2,\ldots ,m\),

$$\begin{aligned} \omega (\eta _j(t))= & {} \frac{1}{2}\left( \hat{\varPhi }(\eta _j(t))+\frac{1}{\hat{\varPhi }(\eta _j(t))}\right) \\= & {} \frac{1}{2}\left( {\mathrm{e}}^{h_j-h_0}{\mathrm{e}}^{{ i}{ \nu _j(t)}}+{\mathrm{e}}^{-(h_j-h_0)}{\mathrm{e}}^{-{ i}{ \nu _j(t)}}\right) \\= & {} \cosh (h_j-h_0)\cos ({ \nu _j(t)})+{ i}\sinh (h_j-h_0)\sin ({ \nu _j(t)}), \end{aligned}$$

which implies that the values \(\omega (\eta _j(t))\) satisfy

$$\begin{aligned} |\omega (\eta _j(t))+1|+|\omega (\eta _j(t))-1|=2\cosh (h_j-h_0), \quad t\in J_j,\; j=0,1,2,\ldots ,m. \end{aligned}$$

Hence \(\omega (\eta (t))\) satisfies (4.1) with \(R_j=2\cosh (h_j-h_0)\) for \(j=0,1,2,\ldots ,m\). Further, since \(\hat{\varPhi }(0)=0\) and \(\hat{\varPhi }(1)=1\), it is clear from (4.6) that the mapping function \(\omega \) satisfies the normalization (4.2). \(\square \)

5 Conformal Mapping onto Hyperbolic Slit Domain

This canonical domain consists of the entire \({{ w}}\)-plane slit along m finite slits on confocal hyperbolas and the infinite straight slit connecting the foci of the hyperbolas and passes through the point at infinity (see Fig. 1 (right)). We assume that the foci of these hyperbolas are at the points \(\pm \,1\) in the \({{ w}}\)-plane. We assume the curves \(\varGamma _j\) for \(j=1,2,\ldots ,m\) are mapped onto slits on the hyperbolas

$$\begin{aligned} |{{ w}}+1|-|{{ w}}-1|=R_j, \quad j=1,2,\ldots ,m, \end{aligned}$$

where \(R_j\) are undetermined real constant with \(-2<R_j<2\) for \(j=1,2,\ldots ,m\). The slit is on the right branch of the hyperbola for \(R_j>0\) and on the left branch of the hyperbola for \(R_j<0\). For \(R_j=0\), the slit reduces to a rectilinear slit on the y-axis. The external boundary \(\varGamma _0\) will be correspond to the infinite straight slit connecting the foci and passes through the point at infinity. Thus the boundary values of the mapping function \({{ w}}=\omega (z)\) satisfy

$$\begin{aligned} |\omega (\eta (t))+1|-|\omega (\eta (t))-1|=R_j, \quad t\in J_j, \quad j=0,1,2,\ldots ,m, \end{aligned}$$
(5.1)

where \(R_0:=2\).

For the uniqueness of the mapping function \({{ w}}=\omega (z)\), we assume that \({{ w}}=\omega (z)\) maps the three points \(-{ i},1,{ i}\) on \(\varGamma _0\) into the points \(\infty ,1,\infty \) on the infinite slit \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; |\mathop {\mathrm {Re}}{{ w}}|\ge 1\}\), respectively, i.e.

$$\begin{aligned} \omega (-{ i})=\infty , \quad \omega (1)=1,\quad \omega ({ i})=\infty , \end{aligned}$$
(5.2)

(Note that when a point traverses once along the boundary \(\varGamma _j\), its image traverses twice along the slit \(\omega (\varGamma _j)\). Hence, each point on the infinite slit \(\omega (\varGamma _0)\), except the endpoints \(\pm \,1\), is an image of two different points on \(\varGamma _0\)).

Thus, the mapping function \({{ w}}=\omega (z)\) can be computed as in the following theorem.

Theorem 5.1

Suppose that the function A(t) is defined by (2.2) with \(\theta (t):=(0,0,\ldots ,0)\), the function \(\gamma \) is defined by

$$\begin{aligned} \gamma (t):= \left\{ \begin{array}{l@{}l} 0,&{}t\in J_0,\\ \arg \Upsilon (\eta (t)),&{}t\in J_j, \; j=1,2,\ldots ,m,\\ \end{array}\right. \end{aligned}$$
(5.3)

\(\mu \) is the unique solution of the integral equation (2.4), and the piecewise constant function \(h=(h_0,h_1,\ldots ,h_m)\) is given by (2.5). Suppose also that f(z) is the analytic function with the boundary values (2.3). Then the function

$$\begin{aligned} {{ w}}=\omega (z):=\frac{1}{2}\left( \Upsilon (z){\mathrm{e}}^{zf(z)-f(1)}+\frac{1}{\Upsilon (z)}{\mathrm{e}}^{-zf(z)+f(1)}\right) \end{aligned}$$
(5.4)

is the unique conformal mapping from the domain G in the z-plane onto the elliptic slit domain exterior to the slits (5.1) in the \({{ w}}\)-plane and satisfies the normalization (5.2) where

$$\begin{aligned} R_j=2\cos (h_j-h_0), \quad j=0,1,\ldots ,m. \end{aligned}$$
(5.5)

Proof

For the given function \(\theta \), it follows from (2.2) that \(A(t)={ i}\eta (t)\). Hence, it follows from [35, §4.6] that the function \(\varPhi (z)\) given by

$$\begin{aligned} \zeta =\varPhi (z):=\Upsilon (z){\mathrm{e}}^{zf(z)+{ i}h_0}, \end{aligned}$$

is a conformal mapping from the domain G in z-plane onto the upper half-plane \(\mathop {\mathrm {Im}}\zeta >0\) with m radial slits where the external boundary \(\varGamma _0\) is mapped onto the line \(\mathop {\mathrm {Im}}\zeta =0\). Since \(\Upsilon (-{ i})=0\), \(\Upsilon (1)=1\), and \(\Upsilon ({ i})=\infty \), we obtain \(\varPhi (-{ i})=0\), \(\varPhi (1)={\mathrm{e}}^{f(1)+{ i}h_0}\), and \(\varPhi ({ i})=\infty \). It is clear \(\varPhi (1)\) is nonzero real number but is not necessary equals to 1. Thus, the function

$$\begin{aligned} \zeta =\hat{\varPhi }(z):=\frac{\varPhi (z)}{\varPhi (1)}=\Upsilon (z){\mathrm{e}}^{zf(z)-f(1)} \end{aligned}$$

conformally maps the domain G onto the upper half-plane \(\mathop {\mathrm {Im}}\zeta >0\) with m radial slits and maps the external boundary \(\varGamma _0\) onto the line \(\mathop {\mathrm {Im}}\zeta =0\) with \(\hat{\varPhi }(-{ i})=0\), \(\hat{\varPhi }(1)=1\), and \(\hat{\varPhi }({ i})=\infty \). Thus, the boundary values of the function \(\hat{\varPhi }\) on \(\varGamma _0\) satisfy

$$\begin{aligned} \mathop {\mathrm {Im}}\hat{\varPhi }(\eta _0(t))=0. \end{aligned}$$

For the boundary values of the function \(\hat{\varPhi }\) on the other boundaries \(\varGamma _j\) for \(j=1,2,\ldots ,m\), using definition (5.3) of the function \(\gamma \), we have

$$\begin{aligned} \arg \hat{\varPhi }(\eta (t))= & {} \arg \left( \Upsilon (\eta (t)){\mathrm{e}}^{-{ i}A(t)f(\eta (t))-f(1)}\right) \\= & {} \arg \Upsilon (\eta (t)-\mathop {\mathrm {Re}}[A(t)f(\eta (t))]-\mathop {\mathrm {Im}}f(1)\\= & {} \arg \Upsilon (\eta (t)-\gamma (t)-h(t)-\mathop {\mathrm {Im}}f(1)\\= & {} -h(t)-\mathop {\mathrm {Im}}f(1). \end{aligned}$$

Since \(\varPhi (1)\) is real, we have

$$\begin{aligned} 0=\arg \varPhi (1)=\arg \left( {\mathrm{e}}^{f(1)+{ i}h_0}\right) =\mathop {\mathrm {Im}}f(1)+h_0 \end{aligned}$$

which yields \(\mathop {\mathrm {Im}}f(1)=-h_0\). Thus, for \(t\in J_j\), \(j=1,2,\ldots ,m\), we have

$$\begin{aligned} \arg \hat{\varPhi }(\eta (t))=h_0-h(t), \end{aligned}$$

which implies that

$$\begin{aligned} \arg \hat{\varPhi }(\eta _j(t))=h_0-h_j, \quad j=1,2,\ldots ,m. \end{aligned}$$

Hence, the boundary values of \(\hat{\varPhi }\) can be written on each boundary \(\varGamma _j\) as

$$\begin{aligned} \hat{\varPhi }(\eta _j(t))= \left\{ \begin{array}{l@{}l} { \nu _0(t)},&{}t\in J_0,\\ {\mathrm{e}}^{-{ i}(h_j-h_0)}{\mathrm{e}}^{{ \nu _j(t)}},&{}t\in J_j, \; j=1,2,\ldots ,m.\\ \end{array}\right. \end{aligned}$$
(5.6)

where \({ \nu _j(t)}\) are real functions.

Finally, the function

$$\begin{aligned} {{ w}}=\Psi (\zeta ):=\frac{1}{2}\left( \zeta +\frac{1}{\zeta }\right) \end{aligned}$$

is a conformal mapping from the upper half-plane \(\mathop {\mathrm {Im}}\zeta >0\) in the \(\zeta \)-plane onto the unbounded domain exterior to the infinite rectilinear slit \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; |\mathop {\mathrm {Re}}{{ w}}|\ge 1\}\) in the \({{ w}}\)-plane. Further, the function \(\Psi \) maps the circular slits in the upper half-plane onto slits in the unbounded domain exterior to the infinite rectilinear slit \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; |\mathop {\mathrm {Re}}{{ w}}|\ge 1\}\). Consequently, the function

$$\begin{aligned} {{ w}}=\omega (z):=\Psi \left( \hat{\varPhi }(z)\right) =\frac{1}{2}\left( \hat{\varPhi }(z)+\frac{1}{\hat{\varPhi }(z)}\right) \end{aligned}$$
(5.7)

is a conformal mapping from the domain G in the z-plane onto the unbounded domain exterior to the infinite rectilinear slit \(\{{{ w}}\,:\;\mathop {\mathrm {Im}}{{ w}}=0,\; |\mathop {\mathrm {Re}}{{ w}}|\ge 1\}\) and to other m slits in the \({{ w}}\)-plane. To find the type of these m slits, we have, for \(j=1,2,\ldots ,m\),

$$\begin{aligned} \omega (\eta _j(t))= & {} \frac{1}{2}\left( \hat{\varPhi }(\eta _j(t))+\frac{1}{\hat{\varPhi }(\eta _j(t))}\right) \\= & {} \frac{1}{2}\left( {\mathrm{e}}^{-{ i}(h_j-h_0)}{\mathrm{e}}^{{ \nu _j(t)}}+{\mathrm{e}}^{{ i}(h_j-h_0)}{\mathrm{e}}^{-{ \nu _j(t)}}\right) \\= & {} \cos (h_j-h_0)\cosh ({ \nu _j(t)})-{ i}\sin (h_j-h_0)\sinh ({ \nu _j(t)}), \end{aligned}$$

which, after some algebra, implies that the values \(\psi (\eta _j(t))\) satisfy

$$\begin{aligned} |\omega (\eta _j(t))+1|-|\omega (\eta _j(t))-1|=2\cos (h_j-h_0), \quad t\in J_j,\; j=1,2,\ldots ,m. \end{aligned}$$
(5.8)

For \(j=0\), we have from (5.7) and (5.6),

$$\begin{aligned} \omega (\eta _0(t))=\frac{1}{2}\left( { \nu _0(t)}+\frac{1}{{ \nu _0(t)}}\right) \end{aligned}$$

which implies that \(|\omega (\eta _0(t))|\ge 1\) and hence \(\omega (\eta _0(t))\) also satisfies (5.8). Hence, \(\omega (\eta (t))\) satisfies (5.1) with \(R_j=2\cos (h_j-h_0)\) for \(j=0,1,2,\ldots ,m\). Since the function \(\hat{\varPhi }\) satisfies \(\hat{\varPhi }(-{ i})=0\), \(\hat{\varPhi }(1)=1\), and \(\hat{\varPhi }({ i})=\infty \), it follows from (5.7) that the function \(\omega \) satisfies the normalization (5.2). \(\square \)

6 Numerical Examples

A MATLAB function fbie for fast and accurate solution of the integral equation (2.4) and for fast and accurate computing of the piecewise constant function h in (2.5) has been presented in [37]. Within fbie, for a given even positive integer n, each interval \(J_k\), for \(k=0,1,\ldots ,m\), is discretized by n equidistant nodes so the total number of nodes in the parameter domain J is \((m+1)n\). For domains with piecewise smooth boundaries, singularity subtraction [42] and the trapezoidal rule with a graded mesh [26] are used. Then the integral equation (2.4) is discretized by the Nyström method with the trapezoidal rule to obtain an \((m+1)n \times (m+1)n\) linear algebraic system; see, e.g. [37, equations (4.4)–(4.5)] for the explicit form of this system. The obtained \((m+1)n \times (m+1)n\) linear system is solved by the MATLAB function gmres where the matrix-vector product is computed using the MATLAB function zfmm2dpart from the Fast Multipole Method (FMM) MATLAB toolbox FMMLIB2D developed by Greengard and Gimbutas [17]. The computational cost for solving the integral equation (2.4) and computing the function h in (2.5) using the function fbie is \(O((m+1)n \log n)\) operations [17, 37, 38].

Fig. 3
figure 3

The original domain for Example 6.1 (top, left) and the corresponding parabolic slit domain (top, right), elliptic slit domain (bottom, left), and hyperbolic slit domain (bottom, right), obtained with \(n=256\)

In this section, we present four numerical examples that illustrate our method. In these numerical examples, for each case of the function \(\gamma \) defined by (3.3), (4.3), and (5.3), the MATLAB function fbie is used to compute approximations to the unique solution \(\mu \) of the integral equation (2.4) and the piecewise constant function \(h=(h_0,h_1,\ldots ,h_m)\) in (2.5). We choose the parameter iprec \(=5\) in the MATLAB function zfmm2dpart (i.e. the tolerance of the FMM is \(0.5\times 10^{-15}\)). For the MATLAB function gmres, we use the non-restarted GMRES with the tolerance \(10^{-14}\) for the relative residual norm. Due to the strong clustering of the eigenvalues of the matrix of the linear algebraic system around 1 (see [37, 40]), very few steps of (full) GMRES are required to reduce the relative residual norm to \(10^{-14}\). No preconditioning is required. In the four numerical examples shown below, the GMRES method required between 24 (Example 6.2) and 40 (Example 6.4) iteration steps to attain a residual norm smaller than \(10^{-14}\). By obtaining approximations to \(\mu \) and h, we obtain approximations to the boundary values of the auxiliary analytic function f through (2.3). The values of f(z) at interior points \(z\in G\) can be computed by Cauchy’s integral formula. A MATLAB function fcau for fast and accurate computing of the Cauchy integral formula has been given in [37] (see also [2]). The function fcau is based on using the MATLAB function zfmm2dpart in [17]. Computing the Cauchy integral formula at p interior points using the function fcau requires \(O(p+(m+1)n)\) operations. Then, by computing the values of the analytic function f(z), we obtain the values of the mapping functions \(\omega (z)\) for \(z\in G\cup \varGamma \). Further, the values of the parameters of the canonical domains are computed from the constants \(h_{k}\), \(k=0,1,\ldots ,m\).

Table 1 Total CPU time (in seconds) required for computing the mapping functions for the Examples 6.16.4
Fig. 4
figure 4

The original domain for Example 6.2 (top, left) and the corresponding elliptic slit domain (top, right), parabolic slit domain (middle, left), and hyperbolic slit domain (bottom, left), obtained with \(n=128\). A magnified subsection of the center of the parabolic slit domain is shown in (middle, right) and a magnified subsection of the center of the hyperbolic slit domain is shown in (bottom, right)

In the numerical examples shown below, computations were performed in MATLAB R2016b on an ASUS Laptop with Intel Core i7-4720HQ CPU @ 2.60 Ghz 2.59 Ghz and 16 GB RAM. Computation times were measured with the MATLAB tic toc command.

Example 6.1

We consider the bounded domain G interior to the unit circle

$$\begin{aligned} \eta _0(t)={\mathrm{e}}^{{ i}t}, \quad 0\le t\le 2\pi , \end{aligned}$$

and exterior to the four ellipses

$$\begin{aligned} \eta _{1}(t)= & {} 0.5+0.1{ i}+{\mathrm{e}}^{0.5\pi { i}}(0.5\cos t-{ i}0.05\sin t),\, \qquad 0\le t\le 2\pi , \\ \eta _{2}(t)= & {} 0.25+0.2{ i}+{\mathrm{e}}^{0.5\pi { i}}(0.25\cos t-{ i}0.05\sin t), \quad 0\le t\le 2\pi , \\ \eta _{3}(t)= & {} -0.3+0.2{ i}+{\mathrm{e}}^{0.5\pi { i}}(0.85\cos t-{ i}0.05\sin t), \quad 0\le t\le 2\pi , \\ \eta _{4}(t)= & {} -0.5-0.05{ i}+(0.4\cos t-{ i}0.05\sin t), \qquad \qquad 0\le t\le 2\pi . \end{aligned}$$

The original domain and the computed domains obtained with \(n=256\) are shown in Fig. 3. The total CPU time (in seconds) required for computing the mapping functions with \(n=256\) is shown in Table 1.

Example 6.2

In this example, we demonstrate that our method also works for domains with high connectivity. We consider the bounded domain G interior to the unit circle and exterior to 458 circles as shown in Fig. 4 (top, left). Figure 4 shows also the computed slit domains obtained with \(n=128\). The total CPU time (in seconds) required for computing the mapping functions with \(n=128\) is shown in Table 1.

Example 6.3

To illustrate that the presented method can also be used when the boundary components of G are only piecewise smooth Jordan curves, we consider a domain G interior to the unit circle and exterior to 42 Jordan curves of which 29 are piecewise smooth curves as shown in Fig. 5 (top, left). The computed canonical domains obtained with \(n=1024\) are shown also in Fig. 5. The total CPU time (in seconds) required for computing the mapping functions with \(n=1024\) is shown in Table 1.

Fig. 5
figure 5

The original domain for Example 6.3 (top, left) and the corresponding parabolic slit domain (top, right), elliptic slit domain (bottom, left), and hyperbolic slit domain (bottom, right), obtained with \(n=1024\)

Fig. 6
figure 6

The original domain for Example 6.4 (top, left), the preliminary domain (top, right) and the corresponding parabolic slit domain (middle, left), elliptic slit domain (middle, right), and hyperbolic slit domain (bottom), obtained with \(n=1024\)

Example 6.4

To illustrate how the presented method can be used when the external boundary is not the unit circle, we consider a bounded multiply connected domain interior to a square and exterior to four other squares as shown in Fig. 6 (top, left). For this case, we first map the given domain onto a preliminary domain whose exterior boundary is the unit circle. This can be done, for example, by using the method presented in [33, § 4.2] to map the exterior square onto the unit circle. Accordingly, the interior squares will be mapped to piecewise smooth Jordan cures inside the unit circle as shown in Fig. 6 (top, right). Then we use the presented method to map the preliminary domain onto the three canonical domains as shown in Fig. 6 (middle and bottom). The preliminary domain in the first step is computed with \(n=1024\) (the total number of nodes for this case is also 1024) and the canonical domains are computed with also \(n=1024\) (the total number of nodes is \(5n=5120\)). The total CPU time (in seconds) required for computing the preliminary domain and the mapping functions onto the three canonical slit domains with \(n=1024\) is shown in Table 1.

7 Concluding Remarks

This paper is a continuation of a series of papers [32,33,34,35,36, 38, 39] that aims to use the boundary integral equation with the generalized Neumann kernel to develop a unified method for computing the conformal mapping from a given multiply connected domain G onto the known canonical multiply connected domains. In this paper, three more canonical domains (parabolic slit domain, the elliptic slit domain, and the hyperbolic slit domain) have been added to the list of canonical domains which have been treated by the integral equation. In the proposed method, solving the integral equation yields the parameters of the canonical domains as well as the boundary values of an auxiliary function f(z) whose values for \(z\in G\) can be computed using Cauchy’s integral formula. Then the mapping functions are written explicitly in terms of the auxiliary function f(z). As demonstrated by numerical examples in this paper and in [32,33,34,35,36,37,38,39], the method gives accurate results for wide range of domains including domains with close-to-touching boundaries, domains with piecewise smooth boundaries, and domains of high connectivity. Finally, it is worth mentioning that the presented method can be extended easily to unbounded multiply connected domains. However, this requires extending the method presented in [35, §4.5,§4.6] to unbounded multiply connected domains.