Riemann mapping theorem

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In complex analysis, the Riemann mapping theorem states that if U is a non-empty simply connected open subset of the complex number plane C which is not all of C, then there exists a biholomorphic mapping f (i.e. a bijective holomorphic mapping whose inverse is also holomorphic) from U onto the open unit disk

This mapping is known as a Riemann mapping.[1]

Intuitively, the condition that U be simply connected means that U does not contain any “holes”. The fact that f is biholomorphic implies that it is a conformal map and therefore angle-preserving. Intuitively, such a map preserves the shape of any sufficiently small figure, while possibly rotating and scaling (but not reflecting) it.

Henri Poincaré proved that the map f is essentially unique: if z0 is an element of U and φ is an arbitrary angle, then there exists precisely one f as above such that f(z0) = 0 and such that the argument of the derivative of f at the point z0 is equal to φ. This is an easy consequence of the Schwarz lemma.

As a corollary of the theorem, any two simply connected open subsets of the Riemann sphere which both lack at least two points of the sphere can be conformally mapped into each other.

History[edit]

The theorem was stated (under the assumption that the boundary of U is piecewise smooth) by Bernhard Riemann in 1851 in his PhD thesis. Lars Ahlfors wrote once, concerning the original formulation of the theorem, that it was “ultimately formulated in terms which would defy any attempt of proof, even with modern methods”.[2] Riemann's flawed proof depended on the Dirichlet principle (which was named by Riemann himself), which was considered sound at the time. However, Karl Weierstrass found that this principle was not universally valid. Later, David Hilbert was able to prove that, to a large extent, the Dirichlet principle is valid under the hypothesis that Riemann was working with. However, in order to be valid, the Dirichlet principle needs certain hypotheses concerning the boundary of U which are not valid for simply connected domains in general.

The first rigorous proof of the theorem was given by William Fogg Osgood in 1900. He proved the existence of Green's function on arbitrary simply connected domains other than C itself; this established the Riemann mapping theorem.[3]

Constantin Carathéodory gave another proof of the theorem in 1912, which was the first to rely purely on the methods of function theory rather than potential theory.[4] His proof used Montel's concept of normal families, which became the standard method of proof in textbooks.[5] Carathéodory continued in 1913 by resolving the additional question of whether the Riemann mapping between the domains can be extended to a homeomorphism of the boundaries (see Carathéodory's theorem).[6]

Carathéodory's proof used Riemann surfaces and it was simplified by Paul Koebe two years later in a way that did not require them. Another proof, due to Lipót Fejér and to Frigyes Riesz, was published in 1922 and it was rather shorter than the previous ones. In this proof, like in Riemann's proof, the desired mapping was obtained as the solution of an extremal problem. The Fejér–Riesz proof was further simplified by Alexander Ostrowski and by Carathéodory.[citation needed]

Importance[edit]

The following points detail the uniqueness and power of the Riemann mapping theorem:

  • Even relatively simple Riemann mappings (for example a map from the interior of a circle to the interior of a square) have no explicit formula using only elementary functions.
  • Simply connected open sets in the plane can be highly complicated, for instance, the boundary can be a nowhere-differentiable fractal curve of infinite length, even if the set itself is bounded. The fact that such a set can be mapped in an angle-preserving manner to the nice and regular unit disc seems counter-intuitive.
  • The analog of the Riemann mapping theorem for more complicated domains is not true. The next simplest case is of doubly connected domains (domains with a single hole). Any doubly connected domain except for the punctured disk and the punctured plane is conformally equivalent to some annulus {z : r < |z| < 1} with 0 < r < 1, however there are no conformal maps between annuli except inversion and multiplication by constants so the annulus {z : 1 < |z| < 2} is not conformally equivalent to the annulus {z : 1 < |z| < 4} (as can be proven using extremal length).
  • The analogue of the Riemann mapping theorem in three or more real dimensions is not true. The family of conformal maps in three dimensions is very poor, and essentially contains only Möbius transformations (see Liouville's theorem).
  • Even if arbitrary homeomorphisms in higher dimensions are permitted, contractible manifolds can be found that are not homeomorphic to the ball (e.g., the Whitehead continuum).
  • The analogue of the Riemann mapping theorem in several complex variables is also not true. In (), the ball and polydisk are both simply connected, but there is no biholomorphic map between them.[7]

Proof via normal families[edit]

Simple connectivity[edit]

Theorem. For an open domain G ⊂ ℂ the following conditions are equivalent:[8]

  1. G is simply connected;
  2. the integral of every holomorphic function f around a closed piecewise smooth curve in G vanishes;
  3. every holomorphic function in G is the derivative of a holomorphic function;
  4. every nowhere-vanishing holomorphic function f on G has a holomorphic logarithm;
  5. every nowhere-vanishing holomorphic function g on G has a holomorphic square root;
  6. for any w not in G, the winding number of w for any piecewise smooth closed curve in G is 0;
  7. the complement of G in the extended complex plane ℂ ∪ {∞} is connected.

(1) ⇒ (2) because any continuous closed curve, with base point a in G, can be continuously deformed to the constant curve a. So the line integral of f dz over the curve is 0.

(2) ⇒ (3) because the integral over any piecewise smooth path γ from a to z can be used to define a primitive.

(3) ⇒ (4) by integrating f−1df/dz along γ from a to x to give a branch of the logarithm.

(4) ⇒ (5) by taking the square root as g (z) = exp f(z)/2 where f is a holomorphic choice of logarithm.

(5) ⇒ (6) because if γ is a piecewise closed curve and fn are successive square roots of zw for w outside G, then the winding number of fn ∘ γ about w is 2n times the winding number of γ about 0. Hence the winding number of γ about w must be divisible by 2n for all n, so must equal 0.

(6) ⇒ (7) for otherwise the extended plane ℂ ∪ {∞} \ G can be written as the disjoint union of two open and closed sets A and B with ∞ in B and A bounded. Let δ > 0 be the shortest euclidean distance been A and B and build a square grid on ℂ with length δ/4 with a point a of A at the centre of a square. Let C be the compact set of the union of all squares with distance ≤ δ/4 from A. Then CB = ∅ and ∂C does not meet A or B: it consists of finitely many horizontal and vertical segments in G forming a finite number of closed rectangular paths γj in G . Taking Ci to be all the squares covering A, the (2 π)−1C d arg(za) equals the sum of the winding numbers of Ci over a, so gives 1. On the other hand the sum of the winding numbers of γj about a equals 1. Hence the winding number of at least one of the γj about a is non-zero.

(7) ⇒ (1) This is a purely topological argument. Let γ be a piecewise smooth closed curve based at z0 in G. By approximation γ is in the same homotopy class as a rectangular path on the square grid of length δ > 0 based at z0; such a rectangular path is determined by a succession of N consecutive directed vertical and horizontal sides. By induction on N, such a path can be deformed to a constant path at a corner of the grid. If the path intersects at a point z1, then it breaks up into two rectangular paths of length < N, so can be deformed to the constant path at z1 by the induction hypothesis and elementary properties of the fundamental group. The reasoning follows a "northeast argument":[9][10] in the non self-intersecting path there will be a corner z0 with largest real part (easterly) and then amongst those one with largest imaginary part (northerly). Reversing direction if need be, the path go from z0 − δ to z0 and then to w0 = z0i n δ for n ≥ 1 and then goes leftwards to w0 − δ. Let R be the open rectangle with these vertices. The winding number of the path is 0 for points to the right of the vertical segment from z0 to w0 and −1 for points to the right; and hence inside R. Since the winding number is 0 off G, R lies in G. If z is a point of the path, it must lie in G; if z is on ∂R but not on the path, by continuity the winding number of the path about z is −1, so z must also lie in G. Hence R ∪ ∂RG. But in this case the path can be deformed by replacing the three sides of the rectangle by the fourth, resulting in 2 less sides. (Self-intersections are permitted.)

Riemann mapping theorem[edit]

  • Weierstrass's convergence theorem. The uniform limit on compacta of a sequence of holomorphic functions is holomorphic; similarly for derivatives.
This is an immediate consequence of Morera's theorem for the first statement. Cauchy's integral formula gives a formula for the derivatives which can be used to check that the derivatives also converge uniformly on compacta.[11]
  • Hurwitz's theorem. If a sequence of nowhere-vanishing holomorphic functions on an open domain has a uniform limit on compacta, then either the limit is identically zero or the limit is nowhere-vanishing. If a sequence of univalent holomorphic functions on an open domain has a uniform limit on compacta, then either the limit is constant or the limit is univalent.
If the limit function is non-zero, then its zeros have to be isolated. Zeros with multiplicities can be counted by the winding number (2 i π)−1C g(z)−1 g‘(z) dz for a holomorphic function g. Hence winding numbers are continuous under uniform limits, so that if each function in the sequence has no zeros nor can the limit. For the second statement suppose that f(a) = f(b) and set gn(z) = fn(z) − fn(a). These are nowhere-vanishing on a disk but g(z) = f(z) − f(a) vanishes at b, so g must vanish identically.[12]

Definitions. A family of holomorphic functions on an open domain is said to be normal if any sequence of functions in has a subsequence that converges to a holomorphic function uniformly on compacta. A family is compact if whenever a sequence fn lies in and converges uniformly to f on compacta, then f also lies in . A family is said to be locally bounded if their functions are uniformly bounded on each compact disk. Differentiating the Cauchy integral formula, it follows that the derivatives of a locally bounded family are also locally bounded.[13][14]

  • Montel's theorem. Every locally bounded family of holomorphic functions in a domain G is normal.
Let fn be a totally bounded sequence and chose a countable dense subset wm of G. By locally boundedness and a "diagonal argument", a subsequence can be chosen so that gn is convergent at each point wm. It must be verified that this sequence of holomorphic functions converges on G uniformly on each compactum K. Take E open with KE such that the closure of E is compact and contains G. Since the sequence (gn′) is locally bounded, |gn| ≤ M on E. By compactness, if δ > 0 is taken small enough, finitely many open disks Dk of radius δ > 0 are required to cover K while remaining in E. Since
,
|gn(a) − gn(b)| ≤ M |ab| ≤ 2 δ M. Now for each k choose some wi in Dk where gn(wi) converges, taking n and m so large to be within δ of its limit. Then for z in Dk,
Hence the sequence (gn) forms a Cauchy sequence in the uniform norm on K as required.[15][16]
  • Riemann mapping theorem. If G is a simply connected domain ≠ and a lies in G, there is a unique conformal mapping f of G onto the unit disk D normalized such that f(a) = 0 and f ′(a) > 0.
Uniqueness follows because of f and g satisfied the same conditions h = fg−1 would be a univalent holomorphic map of the unit disk with h(0) = 0 and h‘(0) >0. But by the Schwarz lemma, the univalent holomorphic maps of the unit disk onto itself are given by the Möbius transformations k(z) = eiθ(z − α)/(1 − α* z) with |α| < 1. So h must be the identity map and f = g.
To prove existence, take to be the family of holomorphic univalent mappings f of G into the open unit disk D with f(a) = 0 and f ‘(a) > 0. It is a normal family by Montel's theorem. By the characterization of simple-connectivity, for b in ℂ \ G there is a holomorphic branch of the square root in G. It is univalent and h(z1) ≠ − h(z2) for z1 and z2 in G. Since h(G) must contain a closed disk Δ with centre h(a) and radius r > 0, no points of −Δ can lie in h(G). Let F be the unique Möbius transformation taking ℂ \ −Δ onto D with the normalization F(h(a)) = 0 and F′(h(a)) > 0. By construction Fh is in , so that is non-empty. The method of Koebe is to use an extremal function to produce a conformal mapping solving the problem: in this situation it is often called the Ahlfors function of G, after Ahlfors.[17] Let 0 < M ≤ ∞ be the supremum of f′(a) for f in . Pick fn in with fn′(a) tending to M. By Montel's theorem, passing to a subsequence if necessary, fn tends to a holomorphic function f uniformly on compacta. By Hurwitz's theorem, f is either univalent or constant. But f has f(a) = 0 and f′(a) > 0. So M is finite, equal to f′(a) > 0 and f lies in . It remains to check that the conformal mapping f takes G onto D. If not, take c ≠ 0 in D \ f(G) and let H be a holomorphic square root of (f(z) − c)/(1 − c*f(z)) on G. The function H is univalent and maps G into D. Let F(z) = eiθ(H(z) − H(a))/(1 − H(a)*H(z)) where H′(a)/|H′(a)| = eiθ. Then F lies in and a routine computation shows that F′(a) = H′(a) / (1 − |H(a)|2) = f′(a) (√|c| +√|c|−1)/2 > f′(a) = M. This contradicts the maximality of M, so that f must take all values in D.[18][19][20]

Remark. As a consequence of the Riemann mapping theorem, every simply connected domain in the plane is homeomorphic to the unit disk. If points are omitted, this follows from the theorem. For the whole plane, the homeomorphism φ(z) = z/(1 + |z|) gives a homeomorphism of ℂ onto D.

Parallel slit mappings[edit]

Koebe's uniformization theorem for normal families also generalizes to yield uniformizers f for multiply-connected domains to finite parallel slit domains, where the slits have angle θ to the x-axis. Thus if G is a domain in ℂ ∪ {∞} containing and bounded by finitely many Jordan contours, there is a unique univalent function f on G with f(z) = z−1 + a1 z + a2 z2 ⋅⋅⋅ near , maximizing Re e −2i θ a1 and having image f(G) a parallel slit domain with angle θ to the x-axis.[21][22][23]

The first proof that parallel slit domains were canonical domains for in the multiply connected case was given by David Hilbert in 1909. Jenkins (1958), on his book on univalent functions and conformal mappings, gave a treatment based on the work of Herbert Grötzsch and René de Possel from the early 1930s; it was the precursor of quasiconformal mappings and quadratic differentials, later developed as the technique of extremal metric due to Oswald Teichmüller.[24] Menahem Schiffer gave a treatment based on very general variational principles, summarised in addresses he gave to the International Congress of Mathematicians in 1950 and 1958. In a theorem on "boundary variation" (to distinguish it from "interior variation"), he derived a differential equation and inequality, that relied on a measure-theoretic characterisation of straight-line segments due to Ughtred Shuttleworth Haslam-Jones from 1936. Haslam-Jones' proof was regarded as difficult and was only given a satisfactory proof in the mid-1970s by Schober and Campbell–Lamoureux.[25][26][27]

Schiff (1993) gave a proof of uniformization for parallel slit domains which was similar to the Riemann mapping theorem. To simplify notation, horizontal slits will be taken. Firstly, by Bieberbach's inequality, any univalent function g(z) = z + c z2 + ··· with z in the open unit disk must satisfy |c| ≤ 2. As a consequence, if f(z) = z + a0 + a1 z–1 + ··· is univalent in | z | > R, then | f(z) – a0 | ≤ 2 | z |: take S > R, set g(z) = S [f(S/z) – b]–1 for z in the unit disk, choosing b so the denominator is nowhere-vanishing, and apply the Schwarz lemma. Next the function fR(z) = z + R2/z is characterized by an "extremal condition" as the unique univalent function in z > R of the form z + a1 z–1 + ··· that maximises Re a1: this is an immediate consequence of Grönwall's area theorem, applied to the family of univalent functions f(z R) / R in z > 1.[28][29]

To prove now that the multiply connected domain G ⊂ ℂ ∪ {∞} can be uniformized by a horizontal parallel slit conformal mapping f(z) = z + a1 z–1 + ···, take R large enough that G lies in the open disk |z| < R. For S > R, univalency and the estimate | f(z) | ≤ 2 |z| imply that, if z lies in G with | z | S, then | f(z) | ≤ 2S. Since the family of univalent f are locally bounded in G \ {∞}, by Montel's theorem they form a normal family. Furthermore if fn is in the family and tends to f uniformly on compacta, then f is also in the family and each coefficient of the Laurent expansion at ∞ of the fn tends to the corresponding coefficient of f. This applies in particular to the coefficient: so by compactness there is a univalent f which maximizes Re a1. To check that f(z) = z + a1 + ⋅⋅⋅ is the required parallel slit transformation, suppose reductio ad absurdum that f(G) = G1 has a compact and connected component K of its boundary which is not a horizontal slit. Then the complement G2 of K in ℂ ∪ {∞} is simply connected with G2G1. By the Riemann mapping theorem there is a conformal mapping h(w) = w + b1 w−1 + ⋅⋅⋅ such that h(G2) is ℂ with a horizontal slit removed. So h(f(z)) = z + (a1 + b1)z−1 + ⋅⋅⋅ and hence Re (a1 + b1) ≤ Re a1 by the extremality of f. Thus Re b1 ≤ 0. On the other hand by the Riemann mapping theorem there is a conformal mapping k(w) = w + c0 + c1 w−1 + ⋅⋅⋅ from |w| > S onto G2. Then f(k(w)) − c0 = w + (a1 + c1) w−1 + ⋅⋅⋅. By the strict maximality for the slit mapping in the previous paragraph Re c1 < Re (b1 + c1), so that Re b1 > 0. The two inequalities for Re b1 are contradictory.[30][31][32]

The proof of the uniqueness of the conformal parallel slit transformation is given in Goluzin (1969) and Grunsky (1978). Applying the inverse of the Joukowsky transform h to the horizontal slit domain, it can be assumed that G is a domain bounded by the unit circle C0 and contains analytic arcs Ci and isolated points (the images of other the inverse of the Joukowsky transform under the other parallel horizontal slits). Thus, taking a fixed a in G, there is a univalent mapping F0(w) = hf (w) = (w - a)−1 + a1 (wa) + a2(wa)2 + ⋅⋅⋅ with image a horizontal slit domain. Suppose that F1(w) is another uniformizer with F1(w) = (w - a)−1 + b1 (wa) + b2(wa)2 + ⋅⋅⋅. The images under F0 or F1 of each Ci have a fixed y-coordinate so are horizontal segments. On the other hand F2(w) = F0(w) − F1(w) is holomorphic in G. If it is constant, then it must be identically zero since F2(a) = 0. Suppose F2 is non-constant. Then by assumption F2(Ci) are all horizontal lines. If t is not in one of these lines, Cauchy's argument principle shows that the number of solutions of F2(w) = t in G is zero (any t will eventually be encircled by contours in G close to the Ci's). This contradicts the fact that the non-constant holomorphic function F2 is an open mapping.[33]

Sketch proof via Dirichlet problem[edit]

Given U and a point z0 in U, we want to construct a function f which maps U to the unit disk and z0 to 0. For this sketch, we will assume that U is bounded and its boundary is smooth, much like Riemann did. Write

where g = u + iv is some (to be determined) holomorphic function with real part u and imaginary part v. It is then clear that z0 is the only zero of f. We require |f(z)| = 1 for z ∈ ∂U, so we need

on the boundary. Since u is the real part of a holomorphic function, we know that u is necessarily a harmonic function; i.e., it satisfies Laplace's equation.

The question then becomes: does a real-valued harmonic function u exist that is defined on all of U and has the given boundary condition? The positive answer is provided by the Dirichlet principle. Once the existence of u has been established, the Cauchy–Riemann equations for the holomorphic function g allow us to find v (this argument depends on the assumption that U be simply connected). Once u and v have been constructed, one has to check that the resulting function f does indeed have all the required properties.[34]

Uniformization theorem[edit]

The Riemann mapping theorem can be generalized to the context of Riemann surfaces: If U is a non-empty simply-connected open subset of a Riemann surface, then U is biholomorphic to one of the following: the Riemann sphere, C or D. This is known as the uniformization theorem.

Smooth Riemann mapping theorem[edit]

In the case of a simply connected bounded domain with smooth boundary, the Riemann mapping function and all its derivatives extend by continuity to the closure of the domain. This can be proved using regularity properties of solutions of the Dirichlet boundary value problem, which follow either from the theory of Sobolev spaces for planar domains or from classical potential theory. Other methods for proving the smooth Riemann mapping theorem include the theory of kernel functions[35] or the Beltrami equation.

Algorithms[edit]

Computational conformal mapping is prominently featured in problems of applied analysis and mathematical physics, as well as in engineering disciplines, such as image processing.

In the early 1980s an elementary algorithm for computing conformal maps was discovered. Given points in the plane, the algorithm computes an explicit conformal map of the unit disk onto a region bounded by a Jordan curve with This algorithm converges for Jordan regions[36] in the sense of uniformly close boundaries. There are corresponding uniform estimates on the closed region and the closed disc for the mapping functions and their inverses. Improved estimates are obtained if the data points lie on a curve or a K-quasicircle. The algorithm was discovered as an approximate method for conformal welding; however, it can also be viewed as a discretization of the Loewner differential equation.[37]

The following is known about numerically approximating the conformal mapping between two planar domains.[38]

Positive results:

  • There is an algorithm A that computes the uniformizing map in the following sense. Let be a bounded simply-connected domain, and ∂Ω is provided to A by an oracle representing it in a pixelated sense (i.e., if the screen is divided to pixels, the oracle can say whether each pixel belongs to the boundary or not). Then A computes the absolute values of the uniformizing map with precision in space bounded by and time , where C depends only on the diameter of and Furthermore, the algorithm computes the value of φ(w) with precision as long as Moreover, A queries ∂Ω with precision of at most In particular, if ∂Ω is polynomial space computable in space for some constant and time then A can be used to compute the uniformizing map in space and time
  • There is an algorithm A′ that computes the uniformizing map in the following sense. Let be a bounded simply-connected domain, and Suppose that for some ∂Ω is given to A′ with precision by pixels. Then A′ computes the absolute values of the uniformizing map within an error of in randomized space bounded by and time polynomial in (that is, by a BPL(n)-machine). Furthermore, the algorithm computes the value of with precision as long as

Negative results:

  • Suppose there is an algorithm A that given a simply-connected domain with a linear-time computable boundary and an inner radius > 1/2 and a number computes the first digits of the conformal radius then we can use one call to A to solve any instance of a #SAT(n) with a linear time overhead. In other words, #P is poly-time reducible to computing the conformal radius of a set.
  • Consider the problem of computing the conformal radius of a simply-connected domain where the boundary of is given with precision by an explicit collection of pixels. Denote the problem of computing the conformal radius with precision by Then, is AC0 reducible to for any

See also[edit]

Notes[edit]

  1. ^ The existence of f is equivalent to the existence of a Green’s function.
  2. ^ Ahlfors, Lars (1953), L. Ahlfors; E. Calabi; M. Morse; L. Sario; D. Spencer (eds.), "Developments of the Theory of Conformal Mapping and Riemann Surfaces Through a Century", Contributions to the Theory of Riemann Surfaces: 3–4
  3. ^ For the original paper, see Osgood 1900. For accounts of the history, see Walsh 1973, pp. 270–271; Gray 1994, pp. 64–65; Greene & Kim 2017, p. 4. Also see Carathéodory 1912, p. 108, footnote ** (acknowledging that Osgood 1900 had already proven the Riemann mapping theorem).
  4. ^ Gray 1994, pp. 78–80, citing Carathéodory 1912
  5. ^ Greene & Kim 2017, p. 1
  6. ^ Gray 1994, pp. 80–83
  7. ^ Remmert 1998, section 8.3, p. 187
  8. ^ See
  9. ^ Gamelin 2001, pp. 256–257, elementary proof
  10. ^ Berenstein & Gay 1991, pp. 86–87
  11. ^ Gamelin 2001
  12. ^ Gamelin 2001
  13. ^ Duren 1983
  14. ^ Jänich 1993
  15. ^ Duren 1983
  16. ^ Jänich 1993
  17. ^ Gamelin 2001, p. 309
  18. ^ Duren 1983
  19. ^ Jänich 1993
  20. ^ Ahlfors 1978
  21. ^ Jenkins 1958, pp. 77–78
  22. ^ Duren 1980
  23. ^ Schiff 1993, pp. 162–166
  24. ^ Jenkins 1958, pp. 77–78
  25. ^ Schober 1975
  26. ^ Duren 1980
  27. ^ Duren 1983
  28. ^ Schiff 1993
  29. ^ Goluzin 1969, pp. 210–216
  30. ^ Schiff 1993
  31. ^ Goluzin 1969, pp. 210–216
  32. ^ Nehari 1952, pp. 351–358
  33. ^ Goluzin 1969, pp. 214−215
  34. ^ Gamelin 2001, pp. 390–407
  35. ^ Bell 1992
  36. ^ A Jordan region is the interior of a Jordan curve.
  37. ^ Marshall, Donald E.; Rohde, Steffen (2007). "Convergence of a Variant of the Zipper Algorithm for Conformal Mapping". SIAM Journal on Numerical Analysis. 45 (6): 2577. CiteSeerX 10.1.1.100.2423. doi:10.1137/060659119.
  38. ^ Binder, Ilia; Braverman, Mark; Yampolsky, Michael (2007). "On the computational complexity of the Riemann mapping". Arkiv för Matematik. 45 (2): 221. arXiv:math/0505617. Bibcode:2007ArM....45..221B. doi:10.1007/s11512-007-0045-x.

References[edit]

External links[edit]