Abstract
We apply the charge simulation method (CSM) in order to compute the logarithmic capacity of compact sets consisting of (infinitely) many “small” components. This application allows to use just a single charge point for each component. The resulting method therefore is significantly more efficient than methods based on discretizations of the boundaries (for example, our own method presented in Liesen et al. (Comput. Methods Funct. Theory 17, 689–713, 2017)), while maintaining a very high level of accuracy. We study properties of the linear algebraic systems that arise in the CSM, and show how these systems can be solved efficiently using preconditioned iterative methods, where the matrix-vector products are computed using the fast multipole method. We illustrate the use of the method on generalized Cantor sets and the Cantor dust.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
As pointed out by Ransford and Rostand, the computation of the logarithmic capacity of compact subsets of the complex plane is in general a “notoriously hard” problem [24, p. 1499]. This is particularly true for non-connected sets consisting of many, or even infinitely many, components. An important and frequently studied example in this context is given by the classical Cantor middle third set and its generalizations, for which no analytic formula for their logarithmic capacity is known. Among the different approaches to computing the logarithmic capacity of these fractal sets are the method of Ransford and Rostand which uses linear programming [24]; a method of Banjai, Embree, and Trefethen based on Schwarz-Christoffel mappings (also see [24]); the study of the spectral theory of orthogonal polynomials by Krüger and Simon [13]; and our algorithm based on conformal maps onto lemniscatic domains [14]. Further numerical methods for computing the logarithmic capacity of compact sets can be found, for example, in [4, 5, 23, 25].
In this paper, we derive and study an alternative method for numerically approximating the logarithmic capacity of compact sets consisting of very many “small” components, which uses the charge simulation method (CSM) [1, 2, 20], also known as the method of fundamental solutions [3, 30]. In the CSM, Green’s function of the complement of the given compact set is approximated by a linear combination of logarithmic potentials which depend on so-called charge points inside each component of the set. Solving the (dense) linear algebraic system for the coefficients of the linear combination then yields the desired approximation of the logarithmic capacity.
For the types of sets we consider, choosing one charge point in each component is sufficient. A similar approach has been used in [12], where the CSM was used to solve the harmonic image inpainting problem. The linear algebraic system that needs to be solved therefore is significantly smaller than in methods that are based on discretizing the boundaries of each component (for example, our own boundary integral equation (BIE) method presented in [14]). We solve the linear algebraic systems arising in the CSM iteratively with the GMRES method [26]. In order to speed up the iteration, we use the centrosymmetric structure of the system matrices, the fast multipole method [9] for computing matrix-vector products, and a problem-adapted preconditioner. We apply the new method to generalized Cantor sets and the Cantor dust. These sets consist of infinitely many components, and we compute approximations of their logarithmic capacities by extrapolating from computed logarithmic capacities of finite approximations that consist of many components. Timing comparisons with our method from [14] show the computational efficiency, and comparisons of the computed capacity values with other published results demonstrate the high accuracy of the new method.
The paper is organized as follows. In Section 2, we present the necessary background on the logarithmic capacity and the CSM. In Section 3, we study the approximation of the logarithmic capacity for generalized Cantor sets, and in Section 4 we do the same for the Cantor dust. The paper ends with concluding remarks in Section 5.
2 Logarithmic capacity and the CSM
Let \(E \subseteq \mathbb {C}\) be a compact set and denote \(E^c := (\mathbb {C} \cup \{\infty \}) \setminus E\). Suppose that the unbounded connected component G of \(E^c\) is regular in the sense that it possesses a Green’s function \(g = g_E = g_G\). Then, the logarithmic capacity of E, denoted by \(\mathrm {cap}(E)\), satisfies
see, e.g., [22, Theorem 5.2.1], [14, Eq. (2.2)], or Szegő’s original article [28]. Recall that Green’s function with pole at infinity of G is the real-valued function such that
-
1.
g is harmonic in \(G \setminus \{ \infty \}\) and \(g(z) - \log |{z}|\) is bounded in a neighborhood of infinity,
-
2.
g is continuous in \(\overline{G} \setminus \{ \infty \}\) and vanishes on \(\partial G\).
We assume that the boundary of the unbounded domain G with \(\infty \in G\) consists of a finite number of Jordan curves, in which case Green’s function g with pole at infinity of G exists [7, p. 41].
In the CSM, a harmonic function is approximated by a linear combination of fundamental solutions of the Laplace equation, which are logarithmic potentials in the two-dimensional case [3, 30]. In our setting, Green’s function g is approximated by a function of the form
where \(c, p_1, \ldots , p_N\) are undetermined real constants, and where \(w_1, \ldots , w_N \in \mathbb {C} \setminus \overline{G}\) are pairwise distinct. The points \(w_1, \ldots , w_N\) are called the charge points, and the coefficients \(p_1, \ldots , p_N\) the charges [1]. The function h in (2) is harmonic in \(\mathbb {C} \setminus \{ w_1, \ldots , w_N \}\). Since g behaves as \(\log |{z}|\) for \(z \rightarrow \infty\), we require
The coefficients \(c, p_1, \ldots , p_N\) in (2) are usually determined from the boundary condition \(g(z) = 0\) on \(\partial G\), by imposing the condition \(h(z)=0\) in a finite set of collocation points on \(\partial G\); see, e.g., [1,2,3, 20, 30]. The number of collocation points is usually at least N+1, so that this procedure leads to a square or overdetermined linear algebraic system [30, p. 12]. Below we will use a slightly different approach to obtain a linear algebraic system for the coefficients.
In view of (1), the approximation h of g yields
The following result gives an error bound for this approximation.
Lemma 2.1
Let \(E \subseteq \mathbb {C}\) be compact such that the unbounded connected component G of \(E^c\) is bounded by m Jordan curves, and let g be Green’s function with pole at infinity of G. Let h be as in (2) with (3), then
where \(M := |{\hat{c}-c}| \le \max _{\zeta \in \partial G} |{h(\zeta )}|\) and \(\hat{c} := \lim _{z \rightarrow \infty } (g(z) - \log |{z}|) \in \mathbb {R}\).
Proof
As above, let \(w_1\in \mathbb {C}\setminus \overline{G}\) be the first charge point. The auxiliary functions
are continuous in \(\overline{G}\) and harmonic in G, including at infinity with \(u(\infty ) = \hat{c}\) and \(v(\infty ) = c\). Since \(w_1 \notin \overline{G}\), the Möbius transformation \(\varphi (z) = 1/(z - w_1)\) maps G onto the bounded domain \(R = \varphi (G)\), whose boundary consists of m Jordan curves. The functions \(u \circ \varphi ^{-1}\) and \(v \circ \varphi ^{-1}\) are harmonic in R and continuous in \(\overline{R}\). Then, by the maximum principle for harmonic functions on bounded domains (see, e.g., [22, Theorem 1.1.8]),
This yields
The last equality holds since g vanishes on \(\partial G\). Taking the limit \(z\rightarrow \infty\) we obtain \(|{\hat{c} - c}| \le \max _{\zeta \in \partial G}\, |{h(\zeta )}|\). The estimate (5) follows from \(\mathrm {cap}(E) = e^{-\hat{c}}\) and Taylor’s formula.\(\square\)
On the right-hand side of (5), we can replace the (in general unknown) quantity M by the upper bound given by the maximum of the (known) function h on \(\partial G\). In this way, we obtain a computable upper bound on the error. We will give an example in Section 3.2.
Remark 2.2
We give another interpretation of the approximation \(e^{-c} \approx \mathrm {cap}(E)\) in the case \(p_1, \ldots , p_N > 0\). Then, \(h(z)>0\) is equivalent to \(\prod _{j=1}^N |{z - w_j}|^{p_j} > e^{-c}\). Since the real numbers \(p_1, \ldots , p_N>0\) are not necessarily rational, the set \(\mathcal {L}= \{ z \in \mathbb {C} \cup \{ \infty \} : h(z) > 0 \}\) is the exterior of a generalized lemniscate. This is an unbounded domain (with \(\infty \in \mathcal {L}\)), and h is Green’s function with pole at infinity of \(\mathcal {L}\). In particular, \(e^{-c}\) is the logarithmic capacity of the compact set \(\mathcal {L}^c\). If \(\mathcal {L}\) has connectivity N, it is a lemniscatic domain; see [18, 27] and references therein as well as Walsh’s original article [29]. Otherwise, the connectivity of \(\mathcal {L}\) is lower, and \(\mathcal {L}\) is the exterior of a level curve of Green’s function of a lemniscatic domain. Thus, in the method we propose here, the original domain \(G = E^c\) is approximated by the domain \(\mathcal {L}\), and the method returns \(\mathrm {cap}(\mathcal {L}^c)\) as approximation of \(\mathrm {cap}(G^c) = \mathrm {cap}(E)\).
If not all charges are positive, then the set \(\{ z \in \mathbb {C} \cup \{ \infty \} : h(z) > 0 \}\) is a canonical domain of the more general form in [29, Theorem 3].
In the following two sections, we will apply the CSM in order to compute (approximations of) the logarithmic capacity of generalized Cantor sets (Section 3) and the Cantor dust (Section 4).
3 Generalized cantor sets
In this section, we start with setting up the CSM for the generalized Cantor sets. Next, we give an analytic example (illustrating this approach and Lemma 2.1), and study the structure and properties of the matrices arising in the CSM. We then show how the resulting linear algebraic systems can be solved iteratively, and finally we present the results of numerical computations of the logarithmic capacity of generalized Cantor sets.
3.1 Setting up the CSM
Fix some \(q\in (0,1/2)\), let \(E_0 := [0,1]\), and define recursively
Thus, the set \(E_k\) is obtained by removing the middle \(1-2q\) from each interval of the set \(E_{k-1}\); see Fig. 1 for \(E_1\) (left) and \(E_2\) (right) corresponding to \(q=1/4\). Then, the generalized Cantor set \(E=E(q)\) is defined as
For \(q=1/3\), we obtain the classical Cantor middle third set. The limiting cases are \(E=\{0,1\}\) for \(q=0\) and \(E=[0,1]\) for \(q=1/2\).
The set \(E_k\) consists of \(m = 2^k\) disjoint intervals \(I_{k,j}\), \(j = 1, 2, \ldots , m\), numbered from left to right. The intervals have the same length
Denote the midpoint of \(I_{k,j}\) by \(w_{k,j}\). Let
then
Instead of the sets \(E_k\) consisting of closed intervals, we will use sets \(D_k\) consisting of closed disks in the CSM. More precisely, let
and define recursively
Then, \(D_k\) consists of \(m=2^k\) disjoint disks \(D_{k,j}\) with the centers \(w_{k,j}\), \(j=1,2,\ldots ,m\), i.e.,
see Fig. 1 for \(D_1\) (left) and \(D_2\) (right) corresponding to \(q=1/4\). All of the m disks have the same radius \(r_k\) from (9). Since \(E_0 = D_0 \cap \mathbb {R}\), we obtain \(E_k = D_k \cap \mathbb {R}\) for all \(k \ge 1\) by induction. Moreover, we have the following result.
Theorem 3.1
In the notation established above,
Proof
Clearly, \(E \subseteq D := \bigcap _{k=0}^\infty D_k\). Next, we show that if \(z \in \mathbb {C} \setminus E\), then \(z \notin D\). If \(z \in \mathbb {R}\setminus E\), then there exists \(k \in \mathbb {N}\) such that \(z \notin E_k = D_k \cap \mathbb {R}\supseteq D \cap \mathbb {R}\), hence \(z \notin D\). If \(z \in \mathbb {C} \setminus \mathbb {R}\), i.e., \(|{{\mathrm {Im}}(z)}| > 0\), then there exists \(k \in \mathbb {N}\) such that \(0< r_k < |{{\mathrm {Im}}(z)}|\), which shows that \(z \notin D_k \supseteq D\). Together we obtain \(D = E\). Finally, \(\mathrm {cap}(E) = \lim _{k \rightarrow \infty } \mathrm {cap}(D_k)\) by [22, Theorem 5.1.3], since \(D_0 \supseteq D_1 \supseteq D_2 \supseteq \ldots\) are compact and \(E = \bigcap _{k=0}^\infty D_k\).\(\square\)
Our overall strategy for computing an approximation of \(\mathrm {cap}(E)\), where the set E consists of infinitely many components, is to first approximate \(\mathrm {cap}(D_k)\) for reasonably many and large values of k with the CSM. Then, we extrapolate from the computed approximations of \(\mathrm {cap}(D_k)\) to obtain an approximation of \(\lim _{k \rightarrow \infty } \mathrm {cap}(D_k) = \mathrm {cap}(E)\).
The set \(G_k := D_k^c = (\mathbb {C}\cup \{\infty \}) \setminus D_k\) is an unbounded multiply connected domain of connectivity m with
where \(C_{k,j} := \partial D_{k,j}\) is the circle with center \(w_{k,j}\) and radius \(r_k\) for \(j=1,2,\ldots ,m\).
As described in Section 2, we approximate \(g_k\), Green’s function with pole at infinity of \(G_k\), with the CSM by
with
In the CSM for unbounded multiply connected domains, we usually choose many charge points inside each boundary component \(C_{k,j}\), \(j=1,2,\ldots ,m\) [2, 20]. However, because \(r_k\) is very small for large \(m=2^k\), we choose only one point inside \(C_{k,j}\), which is its center \(w_{k,j}\).
Remark 3.2
The fact that we use just a single charge point for each boundary component \(C_{k,j}\) is an essential difference to other discretization-based methods for computing the logarithmic capacity of sets consisting of many components. For example, our own BIE method presented in [14] “opens up” the intervals of \(E_k\) to obtain a compact set of the same capacity, but bounded by smooth Jordan curves. The computation of the logarithmic capacity then is based on discretizing the \(m=2^k\) boundary curves using n points on each of them. Consequently, for the same k, the linear algebraic systems in the method presented here are smaller by a factor of n compared to those in [14]. This is one of the main reasons for the very significant computational savings that we obtain with the new method; see Section 3.5. Using only a single charge point for each boundary component can be justified by the fact that the boundary components become very small when k increases. This is illustrated in [12] where, as mentioned in the Introduction, a similar approach has been used. (In terms of the current paper, the derivation of the system matrix in [12] assumes that the value of \(r_k\) in the (14) is negligible in comparison with \(|w_{k,j}-w_{k,\ell }|\) for \(j\ne \ell\).)
Green’s function \(g_k\) of \(G_k\) vanishes on the boundary \(\partial G_k\). This does not hold for the approximation \(h_k\). Instead, we require that \(h_k\) has zero mean on each circle \(C_{k,j}\), i.e.,
with the parametrization \(\eta _{k,j}(t)=w_{k,j}+r_k e^{\mathrm {i}t}\), \(0 \le t \le 2 \pi\). On the circle \(C_{k,j}\),
for all \(t \in [{0, 2 \pi }]\). For \(\ell \ne j\), the function \(\log |{z - w_{k,\ell }}|\) is harmonic in the disk \(D_{k,j} = \{ z \in \mathbb {C} : |{z-w_{k,j}|} \le r_k \}\), hence
by the mean value property of harmonic functions; see, e.g., [31, Theorem 4.6.7] or [22, Theorem 1.1.6]. Thus, integrating (14) and requiring (13) yields the linear algebraic system
We will now consider (15) for a fixed size \(m=2^k\), and therefore we will drop the index k in the following for simplicity. We write (15) in the form
where \(\mathbf {p}=[p_{1},\dots ,p_{m}]^T\), \(\mathbf {e}=[1,\dots ,1]^T\in \mathbb {R}^m\), and
Note that \(A \in \mathbb {R}^{m,m}\) and that \(m = 2^k\) is even.
Theorem 3.3
For \(k \ge 1\), the entries \(a_{ij}\) of A satisfy
and they decay away from the diagonal in each row and column, i.e.,
for \(1 \le i, j \le m\).
Proof
Since \(0< r = w_1< w_2< \ldots < w_m\), we have that
which is equivalent to (19). Since A is symmetric, (19) is equivalent to (20).
Let \(1 \le i, j \le m\). The upper bound in (18) follows from \(a_{ij} \le a_{ii} = \log (1/r)\). For the lower bound, notice that \(|{w_i - w_j}| \le 1 - 2r\) by (10), and that \(1 - 2r > 0\) if and only if \(k \ge 1\). We then obtain \(a_{ij} \ge \log \frac{1}{1 - 2r}\) for \(i \ne j\), which also holds for \(a_{ii}\), since \(a_{ii}\) is the largest element in the row.\(\square\)
We will continue under the assumption that A is nonsingular, which will be justified below; see Section 3.3 as well as Fig. 3 and the corresponding discussion. Note that (12) can be written as \(\mathbf {e}^T\mathbf {p}=1\), and therefore multiplying (16) from the left with \(\mathbf {e}^TA^{-1}\) yields \(1 = \mathbf {e}^T\mathbf {p} = c\,\mathbf {e}^T A^{-1} \mathbf {e}\) or, equivalently,
Thus, in order to compute \(e^{-c}\), which is our approximation of \(\mathrm {cap}(E)\) (see (4)), we need to compute (or accurately estimate) the quantity \(\mathbf {e}^TA^{-1}\mathbf {e}\), preferably without explicitly inverting the full matrix A. One option is to numerically solve the linear algebraic system
and then to compute \(c = 1/(\mathbf {e}^T \mathbf {x})\).
3.2 An analytic example: two disks
In this section, we study the accuracy of the CSM approximation and the tightness of the bounds in Lemma 2.1 on a simple example where an exact formula for the logarithmic capacity is known. We consider the set \(D_1\) consisting of the union of the two disks with the centers
and the radius r, where \(0<r\le w_1=1/6\). Denote by
the complement of \(D_1\) in the extended complex plane. Then, \(z \mapsto z-\frac{1}{2}\) maps G onto the domain \(\widehat{G}=\{z\,:\,|z+1/3|>r \text { and } |z-1/3|>r\}\), and it follows from [22, Theorem 5.2.3] and [27, Theorem 4.2] (see also [14, Example 4.6]) that
where
and
Thus, for \(r\ll 1/6\), we have
hence
and now (23) implies that
For the CSM, we set up the linear algebraic system (22) with the system matrix
from (17), so that
and hence (see (21))
Consequently, the CSM estimate is
Comparing (24) and (26) shows that the CSM gives very accurate results for \(r \ll 1/6\). This conclusion is illustrated in Fig. 2, where the (blue) solid line shows that the error between the exact capacity (23) and the CSM estimate (26) is \(2.87\times 10^{-18}\) for \(r=10^{-7}\), but increases to 0.01 for \(r=1/6\).
We next consider the bound (5) from Lemma 2.1, i.e., the inequality
where \(M = |{\hat{c} - c}| \le \max _{\zeta \in \partial G} |{h(\zeta )}|=\max _{\zeta \in \partial D_1} |{h(\zeta )}|\), and
Here, c is given by (25), \(\mathrm {cap}(D_1)\) is given by (23), \(\hat{c} = - \log (\mathrm {cap}(D_1))\), and \([p_1,p_2]^T\) is the solution of the linear algebraic system (16), i.e.,
Thus, in view of (25), we have \(p_1=p_2=1/2\), and hence
which yields
Using this upper bound on M in (27), we obtain
The values of the computable upper bound \(\hat{M}\) on the absolute error are shown by the dotted line in Fig. 2. We observe that for larger values of r the bound becomes quite tight. Figure 2 also shows the error bound \(e^{-c} \left( M + \frac{1}{2} M^2 e^M\right)\), which we can compute in this example since \(\mathrm {cap}(D_1)\) is known analytically. Clearly, the bound is very tight in this example.
3.3 Structure and properties of the system matrices
In Section 3.2, we have considered the case of just two disks, and we were able to invert the \((2\times 2)\)-matrix of the linear algebraic system (22) explicitly. For approximating the logarithmic capacity of the generalized Cantor sets by extrapolating from the values \(\mathrm {cap}(D_k)\) for reasonably large k, we will have to solve much larger linear algebraic systems, and thus we need to apply more sophisticated techniques for the numerical solution of (22).
Our first observation in this direction is that the matrix A in (17) is symmetric as well as centrosymmetric, which means that
Because of the centrosymmetry, the matrix A can be block-diagonalized with an orthogonal transformation at no additional cost; see [6]. If we partition
then
and
Since A is symmetric, the matrices \(B,C\in \mathbb {R}^{\frac{m}{2}\times \frac{m}{2}}\) are also symmetric. If we partition
and use the orthogonal decomposition of A, then (22) can be transformed via a left-multiplication with \(Q^T\) into the equivalent system
where \(\mathbf {e}=[1,\dots ,1]^T\in \mathbb {R}^{m/2}\). Since we assume that A and thus C is nonsingular, the second block row implies that \(\mathbf {x}_1=J_{m/2}\mathbf {x}_2\), and hence it remains to solve the system
where \(\mathbf {y} = \mathbf {x}_1\), to obtain \(c = 1/(2 \mathbf {e}^T \mathbf {y})\). In finite precision, we obtain a computed approximate solution \(\widetilde{\mathbf {y}} \approx \mathbf {y}\) of (30), which leads to
Figure 3 shows the 2-norm condition numbers computed in MATLABFootnote 1 of A and B for \(q=1/3\) (i.e., the classical Cantor middle third set) as functions of \(m = 2^k\). We observe that the condition numbers grow linearly in m. A similar behavior of the condition numbers can be seen in the Cantor dust example (see Fig. 10), and has been observed in [10, Figure 6], where the matrix F in [10, Eq. (36)] has the same form as our matrices A and B. According to [10, p. 398], such behavior of the condition numbers in the CSM is expected, since the matrices “resemble a discretization of the kernel of a single-layer potential whose inverse is the Laplacian operator.” Analyses of the invertibility of matrices in other applications of the CSM can be found in [19].
From a numerical point of view, solving (30) is clearly preferable over solving (22), since B has only half the size of A, while both matrices are dense and have essentially the same condition number (cf. Fig. 3). We will solve the linear algebraic system (30) using iterative methods that require one matrix-vector product with B in every step; see Section 3.4. Because of the structure of the entries of B, this multiplication can be performed using the fast multipole method (FMM) [9]. Using the definition of B in (29), each matrix-vector product of the form \(B\mathbf{y} = A_{11}{} \mathbf{y}+A_{12}J_{m/2}{} \mathbf{y}\) requires two applications of the FMM. The following result shows that B can be written in a form so that only one application of the FMM is required.
Lemma 3.4
The entries of B are given by
where \(z_{i} := (w_{i}-1/2)^2\) for \(i=1,\dots , m/2\).
Proof
First note that by definition the entries of \(A_{11}\) are given by
and the entries of \(A_{12}\) are given by
By construction, the \(w_{j}\), \(j=1,2,\ldots ,m\), are real numbers in the interval (0, 1), which are symmetric about 1/2. Furthermore, we have
Thus,
and hence the entries \(\tilde{a}_{ij}\) of the matrix \(A_{12}J_{m/2}\) are given by
Finally, by (29), the entries \(b_{ij}\) of B are given for \(i=j\) by
and for \(i\ne j\) by
which completes the proof.\(\square\)
From this lemma, we have
and we can easily see that B is symmetric (as already mentioned above), but not centrosymmetric.
Theorem 3.5
For \(k \ge 2\), the entries \(b_{ij}\) of B satisfy
and they decay away from the diagonal in each row and column, i.e.,
for \(1 \le i, j \le m/2\).
Proof
In (32), we need \(q - 2r > 0\), which is equivalent to \(r < q/2\) and thus to \(k \ge 2\).
Decay. Since
we have
This implies
and equivalently
It remains to show \(b_{i, i \pm 1} < b_{ii}\), which is equivalent to \(|{z_i - z_{i \pm 1}}| > 2 r \sqrt{z_i}\). Note that
Since \(|{w_i - w_{i-1}}| > r\) and \(w_i + w_{i-1}< 2 w_i < 1\), we have \(|{z_i - z_{i-1}}| > r (1 - 2 w_i) = 2 r \sqrt{z_i}\), i.e., \(b_{i, i-1} < b_{ii}\). Since \(|{w_i - w_{i+1}}| > 2r\), we have
The last estimate is equivalent to \(1 > 2 w_{i+1}\), which holds by (35). This, together with \(2 r \sqrt{z_i} = r |{2 w_i - 1}| = r (1 - 2 w_i)\), establishes \(b_{ii} > b_{i, i+1}\). We thus have shown (33). Since B is symmetric, (33) is equivalent to (34).
Bounds for \(b_{ij}\). Let \(1 \le i, j \le m/2\). To establish the upper bound, it is enough to show \(b_{ii} \le \log \frac{1}{r(1 - 2q + 2r)}\), which is equivalent to \(1 - 2q + 2r \le 2 \sqrt{z_i} = 1 - 2 w_i\) and to \(w_i \le q-r\), which holds by (35). Next, we show the lower bound for \(b_{ij}\). It follows from (36) that
We have \(z_1=(0.5-w_1)^2=(0.5-r)^2\) and \(z_{m/2}=(0.5-w_{m/2})^2=(0.5-q+r)^2\) by (35). Thus,
and hence, for \(i\ne j\),
The latter inequality holds also for \(b_{ii}\) since it is the largest element in its row. The rest is clear.\(\square\)
Let \(\hat{\mathbf {y}}=B\mathbf {y}\) where \(\mathbf {y}=[y_{1},\dots ,y_{m/2}]^T\) and \(\hat{\mathbf {y}}=[\hat{y}_{1},\dots ,\hat{y}_{m/2}]^T\). In general, computing the vector \(\hat{\mathbf {y}}\) requires \(O(m^2)\) operations. However, for real \(\mathbf {y}\), the form of B in (31) yields
and hence computing the vector \(\hat{\mathbf {y}}\) requires one application of the FMM, which uses only O(m) operations; see [9]. In MATLAB, the sum in (37) can be computed fast and efficiently using the MATLAB function cfmm2dpart from the toolbox FMMLIB2D [8]. Using the input parameters \(\mathbf{y}\), \(\mathbf{z}=[z_{1},\dots ,z_{m/2}]^T\) and r, the vector \(\hat{\mathbf {y}}=B\mathbf {y}\) can be computed by calling the following MATLAB function:
Here, iprec is the precision flag for the FMM. In our computations, we use iprec=4, which means that the tolerance for the FMM is \(0.5\times 10^{-12}\).
3.4 Iteratively solving the linear algebraic systems
As mentioned above, the matrix B is symmetric and nonsingular. Thus, we can apply the MINRES method [21] (which is well defined for symmetric nonsingular matrices) and the GMRES method [26] (which is well defined for all nonsingular matrices) in order to solve the system (30) iteratively.Footnote 2 The two methods are mathematically equivalent and minimize the Euclidean residual norm over a sequence of Krylov subspaces in every step. More precisely, when started with the initial vector \(\mathbf {y}_0=0\), they generate iterates
such that
Each method is based on generating an orthonormal basis of the Krylov subspaces \(\mathcal{K}_j(B,\mathbf {e})\) for \(j=1,2,\dots\), and this process requires one matrix-vector product with B in every step, which can be computed using the FMM as described above.
The essential difference between the two methods is that MINRES uses the symmetry of the system matrix in order to generate the orthonormal Krylov subspace bases with short (3-term) recurrences, while GMRES is based on full recurrences. Thus, the computational cost of a MINRES step (in terms of memory requirements and floating point operations) is significantly lower than of a GMRES step. However, methods based on short recurrences explicitly perform the orthogonalization only with respect to a few recent vectors. In finite precision computations, this can lead to a much faster overall loss of orthogonality, and even a loss of rank in the computed Krylov subspace “basis.” Such loss of rank corresponds to a delay of convergence; see, e.g., [16] or [15, Section 5.9] for comprehensive analyses of this phenomenon and further references.
In the application in this paper, the observed delay of convergence is so severe that MINRES is not competitive with GMRES, although it is based on short recurrences.
Example 3.6
We apply the MATLAB implementations of MINRES and GMRES with the initial vector \(\mathbf {y}_0=0\) to linear algebraic systems of the form (30) for \(q=1/3\) with \(m=2^{14}\) and \(m=2^{16}\). The matrix-vector products with B are performed using the function By_eval described above, and hence our function calls to the iterative methods are
Our tolerance for the relative residual norm is tol=1e-12 and we use MAXIT=400 as the maximal number of iterations, but this number is not reached in our experiment. In Fig. 4, we plot the relative residual norms of the two methods. In exact arithmetic, these norms are identical. In our finite precision computation, we observe that MINRES suffers from a significant delay of convergence. This delay not only leads to many more iterative steps until the tolerance is reached, but also to a much longer computation time in comparison with GMRES:
GMRES time (s) | MINRES time (s) | |
---|---|---|
\(m=2^{14}\) | 1.91 | 3.14 |
\(m=2^{16}\) | 8.00 | 15.46 |
As a consequence of these numerical observations, we have decided to use GMRES in all our experiments.
We will now describe a problem-adapted technique to precondition the system (30), which will lead to an even faster convergence of GMRES. Consider the matrix A in (17) for a fixed size \(m=2^k\). Because of the symmetric distribution of the \(w_j\), \(j=1,\dots ,m\), for any fixed \(j=1,\dots ,k-1\), we can write this matrix in the block form
By construction, the entries of A decay row- and column-wise with their distance from the diagonal; see Theorem 3.3. Hence, the “block diagonal part” \(P_m:= {{\,\mathrm{diag}\,}}(D,\dots ,D)\) contains the largest entries of A. This block diagonal matrix is easy to invert when j is not too large, since it requires just one inversion of D. Hence, it can be used as a preconditioner for the linear algebraic system (22).
From (29), we have \(B=A_{11}+A_{12}J_{m/2}\), where \(A_{11}\) is the leading \(\left( \frac{m}{2}\times \frac{m}{2}\right)\)-block of A, and \(A_{12}\) is the upper off-diagonal block, which overall contains smaller entries than \(A_{11}\). The “block diagonal part” of \(A_{11}\) contains p/2 copies of D. We use this matrix
as our preconditioner for the system (30) with B, i.e., instead of (30) we apply GMRES to the system
The effectiveness of this approach is illustrated next.
Example 3.7
We consider the same linear algebraic systems as in Example 3.6. Figure 5 shows the relative residual norms of GMRES applied to the system \(B\mathbf {y}=\mathbf {e}\) (solid) and the preconditioned system \(P_{m/2}^{-1}B\mathbf {y}=P_{m/2}^{-1}\mathbf {e}\) (dotted), where we have used \(j=4\) for the preconditioner \(P_{m/2}\), and have inverted the matrix \(D\in \mathbb {R}^{16\times 16}\) explicitly using MATLAB’s inv function. The solid curves in Fig. 5 are the same as in Fig. 4. We observe that the preconditioning reduces the number of GMRES iterations to reach the relative residual norm tolerance of \(10^{-12}\) by more than \(50\%\), and that the required times are reduced accordingly:
GMRES time (s) | Preconditioned GMRES time (s) | |
---|---|---|
\(m=2^{14}\) | 1.91 | 0.98 |
\(m=2^{16}\) | 8.00 | 3.83 |
The effect of the preconditioner on the matrix condition number can be seen in Fig. 6, where we show the condition numbers of \(P_m^{-1}A\) and \(P_{m/2}^{-1}B\) as functions of m for several values of j. The results presented in Fig. 7 suggest that
Clearly, the condition numbers of the preconditioned matrices decrease with increasing j, while a larger j leads to higher computational costs for applying the preconditioner. In our experiments, we found that \(j=4\) represents a good trade-off value. For this value, we have \(\frac{\kappa (P_m^{-1}A)}{\kappa (A)} \approx 0.045\) and \(\frac{\kappa (P_{m/2}^{-1}B)}{\kappa (B)} \approx 0.045\).
Using the preconditioner \(P_{m/2}\), the above MATLAB function By_eval is modified as follows:
3.5 Computing the logarithmic capacity of generalized Cantor sets
We now present the results of numerical computations with the method described above for computing the logarithmic capacity of generalized Cantor sets. Our method requires the parameters q (for the definition of the generalized Cantor set) and k (for the level of the approximation) as its only inputs; see (6). These parameters completely determine the preconditioned linear algebraic system (39) that we solve with GMRES, where the matrix-vector products are computed using the FMM as described above. As in the examples above, the tolerance for the relative GMRES residual norm is \(10^{-12}\). GMRES then returns a computed approximation \(\widetilde{\mathbf{y}} \approx {\mathbf{y}}\), and we report the value \(\exp (-1/(2{\mathbf{e}}^T \widetilde{\mathbf{y}}))\) as \(\mathrm {cap}(D_k)\) in our tables below.
Example 3.8
(Classical Cantor middle third set) We consider the classical Cantor middle third set, i.e., the set (7) with \(q=1/3\) in (6). Table 1 gives the approximate values of \(\mathrm {cap}(D_k)\) for \(k=5,6\dots ,20\) computed by the method presented in this paper, as well as the computation time (in seconds), and the number of GMRES iteration steps.
We compare these results with the computed values and the corresponding timings for the BIE method from [14]. Approximating \(\text{cap}(E_k)\) with the BIE method requires a preliminary conformal map to “open up” the intervals of \(E_k\) to obtain a compact set of the same capacity, but bounded by smooth Jordan curves. Then, the method is used to compute the capacity of this new set. For approximating \({\text{cap}}(D_k)\) with the BIE method, no preliminary conformal map is needed since \(\partial D_k\) is smooth. For both cases, we take \(n=2^6\) discretization points on each of the \(m=2^k\) boundary curves, and the obtained results are presented in Table 2. (The value \(n = 2^6\) was chosen, since with this value the BIE method yields the logarithmic capacity of a single disk and of two disks with equal radius with a relative error of order \(10^{-16}\).) Furthermore, by Tables 1 and 2, there is a good agreement between the approximations of \(\text{cap}(D_k)\) obtained by the BIE method from [14] and the method presented in this paper. This agreement improves as k increases. As described in Remark 3.2, the new method is significantly more efficient, since it uses only a single charge point for each component of \(D_k\). In addition, we have used the special (centrosymmetric) structure of the system matrices as well as a preconditioner for GMRES to speed up the computations.
The estimate of \(\mathrm {cap}(E)\) in [14] was obtained by extrapolation from the computed values for \(\mathrm {cap}(E_k)\). Using the same approach here, we start by noting that the differences
decrease linearly on a logarithmic scale. We store these 15 values in the vector d, and use the MATLAB command p=polyfit(5:19,log(d),1)) to compute a linear polynomial \(p(x)=p_1x+p_2\) of best approximation in the least squares sense for the values \(\log (d_k)\). The computed coefficients are
Starting with our computed approximation of \(\mathrm {cap}(D_{20})\), we can then approximate \(\mathrm {cap}(D_k)\) for \(k\ge 21\) by extrapolation, i.e.,
Since \(\exp (p(52))<10^{-16}\), we use this formula with \(k=52\) for our final estimate of \(\mathrm {cap}(E)\) which is shown in Table 3. Applying the same extrapolation approach to the values obtained by the BIE method (see Table 2) yields the estimates of \(\mathrm {cap}(E)\) presented in Table 3.
Our estimate (obtained with the new proposed method) agrees in its first eight significant digits with the one that was “strongly suggested” by Ransford [23, p. 568]. All these estimates agree in their first six significant digits, and they are all contained in the interval
which according to Ransford and Rostand [24] contains \(\mathrm {cap}(E)\).
Example 3.9
(Generalized Cantor set) We consider now the numerical approximation of \(\mathrm {cap}(E)\) for general \(q\in (0,0.5)\). The limiting cases are \(E=\{0,1\}\) with \(\mathrm {cap}(E)=0\) (for \(q=0\)) and \(E=[0,1]\) with \(\mathrm {cap}(E)=0.25\) (for \(q=0.5\)). For several values of q, we approximate the values of \(\mathrm {cap}(D_k)\) with the CSM and extrapolate these values to obtain an approximation of \(\mathrm {cap}(E)\) using the same approach as described in Example 3.8. The results are given in Table 4, where the values of q are chosen from the values considered in [14, Example 4.14] (note that q here is denoted by r in [14]). We also state the values of \(\mathrm {cap}(E)\) computed in [14] using a discretization with \(k=12\) (corresponding to \(m=4096\)), and then extrapolation. We observe that the estimates obtained by the two methods agree at least in their first four significant digits (matching digits are underlined).
It was suggested in [24] that the values of \(\mathrm {cap}(E)\) can be approximated by
Figure 8 shows the graph of the function f(q) as well as our computed approximations of \(\mathrm {cap}(E)\). The maximum distance between the values of f(q) and the computed approximations of \(\mathrm {cap}(E)\) from the third column of Table 4 is \(7.56\times 10^{-5}\), which is close to the results reported in [14].
4 Cantor dust
The Cantor dust is a generalization of the Cantor set to dimension two. We compute the logarithmic capacity of the generalized Cantor dust, and start by setting up the CSM, similarly to our approach in Section 3.
Let \(q \in (0,1/2)\) and \(F_0 = [0,1] \times [0,1]\). Define recursively
i.e., \(F_k = E_k \times E_k\) with \(E_k\) from (6). Then, the generalized Cantor dust F is defined as
Note that \(F_k\) consists of \(m = 4^k\) closed square regions, say \(S_{k,1}, S_{k,2}, \ldots , S_{k,m}\); see Fig. 9 for \(q=1/4\) with \(k=1\) (left) and \(k=2\) (right). The diameter of each of the squares \(S_{k,1},S_{k,2},\ldots ,S_{k,m}\) is \(2r_k\), where
For \(j=1,2,\ldots ,m\), denote the center of \(S_{k,j}\) by \(w_{k,j}\). To be precise, we order the points \(w_{k,j}\) recursively by \(w_0 = (1+\mathrm {i})/2\) and
for \(k \ge 1\). Let \(D_{k,j}\) be the disk with center \(w_{k,j}\) and radius \(r_k\), and let
see Fig. 9 for \(q=1/4\) with \(k=1\) (left) and \(k=2\) (right).
Theorem 4.1
Let F be the Cantor dust defined by (41), then
Proof
By construction, \(F_k \subseteq D_k\) for all \(k \in \mathbb {N}_0\); hence, \(F \subseteq \bigcap _{k=0}^\infty D_k\). If \(z \in \mathbb {C} \setminus F\), then there exists \(k_0 \in \mathbb {N}\) with \(z \notin F_{k_0}\). In particular, \(d := {{\,\mathrm{dist}\,}}(z, F_{k_0}) > 0\) since \(F_{k_0}\) is compact. Since the maximal distance from a point on \(\partial D_{k,j}\) to the inscribed square \(S_{k,j}\) is \(r_k - \frac{1}{2} q^k = \frac{\sqrt{2} - 1}{2} q^k \rightarrow 0\) for \(k \rightarrow \infty\), we have \(z \notin D_{k_1}\) for a sufficiently large \(k_1\), hence \(z \notin \bigcap _{k=0}^\infty D_k\). Finally, \(\mathrm {cap}(F) = \lim _{k \rightarrow \infty } \mathrm {cap}(D_k)\) by [22, Theorem 5.1.3], since \(D_0 \supseteq D_1 \supseteq D_2 \supseteq \ldots\) are compact and \(F = \bigcap _{k=0}^\infty D_k\).\(\square\)
As in Section 3, we first approximate \(\mathrm {cap}(D_k)\) for several k with the CSM, and then extrapolate these values to obtain an approximation of \(\mathrm {cap}(F)\). With the choice (42) of \(r_k\), and to make sure the disks \(D_{k,j}\), \(j = 1, \ldots , 4^k\), are disjoint, we will consider here only the case \(q<\sqrt{2}-1\). Then, the complement of \(D_k\), denoted by \(G_k := D_k^c = (\mathbb {C}\cup \{\infty \}) \setminus D_k\), is an unbounded multiply connected domain of connectivity \(m = 4^k\) with
We parametrize the circle \(\partial D_{k,j}\) by \(\eta _{k,j}(t) = w_{k,j} + r_k e^{\mathrm {i}t}\), \(0\le t\le 2\pi\), for \(j=1,2,\ldots ,4^k\).
As described in Section 3, we approximate Green’s function of \(G_k\) by a function \(h_k\) of the form (11) with (12). The condition (13) leads to the linear algebraic system (16) with the matrix \(A \in \mathbb {R}^{m,m}\) from (17), now with \(m = 4^k\) instead of \(2^k\), which is symmetric and centrosymmetric. Then,
As before, we solve \(A \mathbf {x} = \mathbf {e}\) to obtain \(c_k\) as \(c_k = 1/(\mathbf {e}^T \mathbf {x})\). Note that the estimates of the entries of A in Theorem 3.3 do not carry over from the case of the generalized Cantor set to the generalized Cantor dust.
We will now fix \(m = 4^k\) and drop the index k in the following for simplicity. The matrix A for the generalized Cantor dust has the same structure as the matrix A for the generalized Cantor set. In particular, using that A is centrosymmetric, we can reduce the linear system \(A \mathbf {x} = \mathbf {e}\) of size m to the system
of size m/2, where B is given by (29), and obtain
where \(\widetilde{\mathbf {y}}\) is a computed approximate solution to \(B \mathbf {y} = \mathbf {e}\), as described in Section 3.3. The following analog of Lemma 3.4 for the generalized Cantor dust allows to compute a multiplication with B with a single application of the FMM.
Lemma 4.2
The entries of \(B = \begin{bmatrix} b_{ij} \end{bmatrix} \in \mathbb {R}^{m/2, m/2}\) are given by
where \(z_{i} := (w_i - (1+\mathrm {i})/2)^2\) for \(i=1,\dots , m/2\), and \(r_k\) is given by (42).
Proof
The entries of the matrix \(A_{11}\) are given by
for \(1\le i,j\le m/2\). The entries of the matrix \(A_{12}\) are given by
Unlike the generalized Cantor set, here the points \(w_j\), \(j=1,2,\ldots ,m\), are complex numbers in the square domain \((0,1)\times (0,1)\). By the definition (43) of the points \(w_{j}\), we have
Thus,
and hence the entries \(\tilde{a}_{ij}\) of the matrix \(A_{12}J_{m/2}\) are given by
Finally, the entries \(b_{ij}\), \(1\le i,j\le m/2\), of the matrix B are given for \(i=j\) by
and for \(i\ne j\) by
as claimed.\(\square\)
The matrix B is symmetric but not centrosymmetric. Similarly to the approach for the generalized Cantor set in Section 3.4, the condition number of B grows linearly with m; see Fig. 10. We solve \(B \mathbf {y} = \mathbf {e}\) with GMRES and construct a left preconditioner for the matrices A and B in the case of the generalized Cantor dust. For \(j = 1, 2, \ldots , k-1\), the matrix A can be written in the block form (38) where now \(D \in \mathbb {R}^{4^j \times 4^j}\) and \(p=4^{k-j}\). Define the block-diagonal matrices
where \(P_m\) contains \(p=4^{k-j}\) copies of the matrix D, and \(P_{m/2}\) contains p/2 copies of D. Then, the matrix \(P_m\) is used as a preconditioner for the system (22), and the matrix \(P_{m/2}\) is used as a preconditioner for the system (30). The condition numbers of the matrices \(P_m^{-1} A\) and \(P_{m/2}^{-1} B\) are shown in Fig. 11 for \(j=1,2\). In our numerical computation, we consider \(j=2\) and hence the size of the matrix D is \(16\times 16\). In this case, we have \(\kappa (P_m^{-1} A) \approx 0.077\,\kappa (A)\) and \(\kappa (P_{m/2}^{-1} B) \approx 0.077\,\kappa (B)\); see Fig. 12.
In [17, Corollary 3], it is shown that
For \(q=1/3\), the values of the lower and upper bounds rounded to four significant digits are 0.2311 and 0.9806, respectively. A comparison with (45) below illustrates that we do not expect the bounds (44) to be very tight. We therefore do not further consider them in our numerical examples.
Example 4.3
(Classical Cantor middle third dust) The classical Cantor middle third dust is obtained for \(q=1/3\). This example has been considered by Ransford and Rostand in [23, §5.4] where it was proved that
and their “best guess” is
As for the generalized Cantor sets, we compare our new method with the BIE method from [14]. In that method, we first approximate \(\mathrm {cap}(D_k)\) using \(n=2^6\) discretization points on each boundary component. This leads to linear algebraic systems of size \(nm\times nm\), where \(m=4^k\); see Remark 3.2. The computed results and the timings for \(k=1,2,\ldots ,6\) are given in Table 5. Similarly to Example 3.8, we extrapolate the values in Table 5 in order to obtain an approximation of \(\mathrm {cap}(F)\). For the approximate values of \(\mathrm {cap}(D_k)\) obtained by the BIE method, the differences
decrease linearly on a logarithmic scale. We store these 5 values in the vector d, and use the MATLAB command p=polyfit(1:5,log(d),1)) to compute a linear polynomial \(p(x)=p_1x+p_2\) of best approximation in the least squares sense for the values \(\log (d_k)\). The computed coefficients are
Starting with our computed approximation of \(\mathrm {cap}(D_{6})\), we can then approximate \(\mathrm {cap}(D_k)\) for \(k\ge 6\) by extrapolation, i.e.,
We have \(\exp (p(35))<10^{-16}\), and hence we use this formula with \(k=35\) for our estimate
Next, we use the new method based on the CSM to compute approximations of \({\mathrm {cap}}(D_k)\). Since the size of the preconditioner matrix is \(16\times 16\), the method is used without preconditioning technique for \(k<3\). The method with preconditioning technique is used for \(k\ge 3\), so that the size of the linear system is \(m\times m\) with \(m\ge 64\). Table 5 gives the computed approximations of \(\mathrm {cap}(D_k)\), the timings, and the number of GMRES iteration steps for \(k=1,2\dots ,10\). We observe that the computed approximations of \(\mathrm {cap}(D_k)\) are increasing, although \(\mathrm {cap}(D_{k+1})\le \mathrm {cap}(D_k)\) (since \(D_{k+1}\subset D_k\) for \(k\ge 1\)). This is most likely due to the fact that we use the CSM with only one point in the interior of each disk \(D_{k,j}\), \(j=1,2,\ldots ,4^k\), so that the numerical approximations are not accurate enough to yield a decreasing sequence. As shown in Table 5, the BIE method indeed gives a decreasing sequence of approximations. But here we use \(n=2^6\) discretization points for each circle \(\partial D_{k,j}\) for \(j=1,2,\ldots ,4^k\), which results in significantly longer computation times.
For the approximate values of \(\mathrm {cap}(D_k)\) obtained with the CSM in Table 5, the differences
decrease linearly on a logarithmic scale. We store these 9 values in the vector d and use the MATLAB command p=polyfit(1:9,log(d),1)) to compute a linear polynomial
of best approximation in the least squares sense for the values \(\log (d_k)\). Starting with our computed approximation of \(\mathrm {cap}(D_{10})\), we approximate \(\mathrm {cap}(D_k)\) for \(k\ge 11\) by extrapolation, i.e.,
We have \(\exp (p(34))<10^{-16}\), and hence we use this formula with \(k=34\) for our estimate
This estimate agrees in its first eight significant digits with the estimate in (46) obtained in [23], and all three estimates stated above agree in their first five significant digits.
Finally, for \(q=1/3\), it is worth mentioning that the new method works for any \(r_k \in [q^k/\sqrt{2},q^k)\) (instead of (42)), i.e., the circles can be chosen as large as possible so that each circle \(\partial D_{k,j}\) encloses the square \(S_{k,j}\), and that these circles are disjoint. Numerical experiments (not presented in this paper) show that the new method produces a decreasing sequence of approximate values for \(\mathrm {cap}(D_k)\) if we choose, for example, \(r_k=1.25q^k/\sqrt{2}\). Note that the proof of Theorem 4.1 can be adapted to see that \(\mathrm {cap}(F) = \lim _{k \rightarrow \infty } \mathrm {cap}(D_k)\) also holds for these larger radii.
Example 4.4
(Generalized Cantor dust) We consider now the numerical approximation of \(\mathrm {cap}(F)\) for general \(q\in (0,0.5)\). For the limiting cases \(F = \{0,1,1+\mathrm {i},\mathrm {i}\}\) (corresponding to \(q=0\)) and \(F = [0,1]\times [0,1]\) (corresponding to \(q=0.5\)), the capacities are
respectively; see [14, Table 1]. The new method can be used for \(q<\sqrt{2}-1\), so that the disks \(D_{k,j}\) with the radius \(r_k\) given by (42) are disjoint. Here we use the method to approximate the value of \(\mathrm {cap}(F)\) for \(q=1/20,2/20,\ldots ,8/20\).
Similar to Example 4.3, the sequences of the computed approximations of \(\mathrm {cap}(D_k)\) are not necessarily decreasing. For this example, the method generates a decreasing sequence of approximate values for \(q=1/20,\ldots ,5/20\), and an increasing sequence for \(q=6/20,7/20,8/20\). Then, using the approach described in Example 4.3, the obtained approximate values are extrapolated to obtain approximations for \(\mathrm {cap}(F)\), which are stated in Table 6.
Similarly to the generalized Cantor sets, it would be of interest to closely approximate the values of \(\mathrm {cap}(F)\) with a function of \(q \in [{0, 0.5}]\). After some attempts, we came up with
which is shown in Fig. 13. It is another open question to determine whether there is an exact analytic relation between the logarithmic capacities of the generalized Cantor set and generalized Cantor dust. The only relation we are aware of is \(\mathrm {cap}(F) \ge 2 \mathrm {cap}(E)\); see [24, p. 1516].
5 Concluding remarks
In this paper, we have applied the CSM to the computation of the logarithmic capacity of compact sets consisting of very many “small” components. This application allows to use just a single charge point for each component, which leads to a significantly more efficient computational method in comparison with methods that use discretizations of the boundaries of the different components. We have obtained an additional speedup of the method by exploiting the structure of the system matrices, and by using a problem-adapted preconditioner for the linear algebraic systems. In the numerical examples, we have seen that for the same number of components, the new method is faster by a factor of 100 (sometimes even 1000) than our previous BIE method [14], while maintaining the same high level of accuracy. We have applied the method to generalized Cantor sets and the Cantor dust. We are not aware of any other computed approximations of the logarithmic capacity of the Cantor dust for \(q \ne 1/3\) in the literature.
Data availability
Data sharing is not applicable to this article as no datasets were generated or analyzed during the current study.
Notes
All computations in this paper are performed in MATLAB R2017a on an ASUS Laptop with Intel Core i7-8750H CPU @ 2.20GHz, 2208 Mhz, 6 Cores, 12 Logical Processors and 16 GB RAM.
References
Amano, K.: A charge simulation method for numerical conformal mapping onto circular and radial slit domains. SIAM J. Sci. Comput. 19, 1169–1187 (1998)
Amano, K., Okano, D.: A circular and radial slit mapping of unbounded multiply connected domains. JSIAM Lett. 2, 53–56 (2010)
Augustin, M.A.: A Method of Fundamental Solutions in Poroelasticity to Model the Stress Field in Geothermal Reservoirs, Lecture Notes in Geosystems Mathematics and Computing, Birkhäuser Basel (1995)
Baddoo, P., Trefethen, L.N.: Log-lightning computation of capacity and Green’s function. Maple Trans. 1(14124), 1–13 (2021)
Dijkstra, W., Hochstenbach, M.E.: Numerical approximation of the logarithmic capacity, CASA report, 0809 (2009)
Fassbender, H., Ikramov, K.D.: Computing matrix-vector products with centrosymmetric and centrohermitian matrices. Linear Algebra Appl. 364, 235–241 (2003)
Garnett, J.B., Marshall, D.E.: Harmonic measure, vol. 2 of New Mathematical Monographs. Cambridge University Press, Cambridge (2005)
Greengard, L., Gimbutas, Z.: FMMLIB2D: a MATLAB toolbox for fast multipole method in two dimensions, version 1.2. ed., 2012. http://www.cims.nyu.edu/cmcl/fmm2dlib/fmm2dlib.html. Accessed 1 Jan 2018
Greengard, L., Rokhlin, V.: A fast algorithm for particle simulations. J. Comput. Phys. 73, 325–348 (1987)
Helsing, J., Wadbro, E.: Laplace’s equation and the Dirichlet-Neumann map: a new mode for Mikhlin’s method. J. Comput. Phys. 202, 391–410 (2005)
Hestenes, M.R., Stiefel, E.: Methods of conjugate gradients for solving linear systems. J. Research Nat. Bur. Standards 49, 409–436 (1952)
Kalmoun, E., Nasser, M.: Harmonic image inpainting using the charge simulation method. Pattern Anal. Applic 25, 795–806 (2022)
Krüger, H., Simon, B.: Cantor polynomials and some related classes of OPRL. J. Approx. Theory 191, 71–93 (2015)
Liesen, J., Sète, O., Nasser, M.M.S.: Fast and accurate computation of the logarithmic capacity of compact sets. Comput. Methods Funct. Theory 17, 689–713 (2017)
Liesen, J., Strakoš, Z.: Krylov subspace methods. Principles and analysis, Numerical Mathematics and Scientific Computation. Oxford University Press, Oxford (2013)
Meurant, G., Strakoš, Z.: The Lanczos and conjugate gradient algorithms in finite precision arithmetic. Acta Numer. 15, 471–542 (2006)
Minda, C.D.: Capacity estimates for planar cantor-like sets. Can. J. Math. 26, 1169–1172 (1974)
Nasser, M.M.S., Liesen, J., Sète, O.: Numerical computation of the conformal map onto lemniscatic domains. Comput. Methods Funct. Theory 16, 609–635 (2016)
Ogata, H., Okano, D., Sugihara, M., Amano, K.: Unique solvability of the linear system appearing in the invariant scheme of the charge simulation method. Japan J. Indust. Appl. Math. 20, 17–35 (2003)
Okano, D., Ogata, H., Amano, K.: A method of numerical conformal mapping of curved slit domains by the charge simulation method. In: Proceedings of the International Conference on Recent Advances in Computational Mathematics (ICRACM 2001) (Matsuyama), vol. 152, pp. 441–450 (2003)
Paige, C.C., Saunders, M.A.: Solutions of sparse indefinite systems of linear equations. SIAM J. Numer. Anal. 12, 617–629 (1975)
Ransford, T.: Potential theory in the complex plane, vol. 28 of London Mathematical Society Student Texts. Cambridge University Press, Cambridge (1995)
Ransford, T.: Computation of logarithmic capacity. Comput. Methods Funct. Theory 10, 555–578 (2010)
Ransford, T., Rostand, J.: Computation of capacity. Math. Comp. 76, 1499–1520 (2007)
Rostand, J.: Computing logarithmic capacity with linear programming. Experiment. Math. 6, 221–238 (1997)
Saad, Y., Schultz, M.H.: GMRES: a generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM J. Sci. Statist. Comput. 7, 856–869 (1986)
Sète, O., Liesen, J.: On conformal maps from multiply connected domains onto lemniscatic domains. Electron. Trans. Numer. Anal. 45, 1–15 (2016)
Szegö, G.: Bemerkungen zu einer Arbeit von Herrn M. Fekete: Über die Verteilung der Wurzeln bei gewissen algebraischen Gleichungen mit ganzzahligen Koeffizienten. Math. Z. 21, 203–208 (1924)
Walsh, J.L.: On the conformal mapping of multiply connected regions. Trans. Amer. Math. Soc. 82, 128–146 (1956)
Wang, H., Qin, Q.-H.: Methods of Fundamental Solutions in Solid Mechanics. Elsevier, New York (2020)
Wegert, E.: Visual Complex Functions. Birkhäuser/Springer Basel AG, Basel (2012)
Funding
Open Access funding enabled and organized by Projekt DEAL.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare no competing interests.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Liesen, J., Nasser, M.M.S. & Sète, O. Computing the logarithmic capacity of compact sets having (infinitely) many components with the charge simulation method. Numer Algor 93, 581–614 (2023). https://doi.org/10.1007/s11075-022-01428-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11075-022-01428-2