COMPLEX ANALYSIS: Mathematica 4.1 Notebooks
(c) John H. Mathews, and
Russell W. Howell, 2002
Complimentary software to accompany our textbook:

COMPLEX ANALYSIS: for Mathematics and Engineering, 
4th Edition,  2001,  ISBN: 0-7637-1425-9
Jones & Bartlett Publishers, Inc.  
40 Tall Pine Drive, Sudbury, MA 01776  
Tele.  (800) 832-0034, FAX:  (508)  443-8000  
E-mail:  mkt@jbpub.com  
Internet:  http://www.jbpub.com/  
This free software is compliments of the authors.
John H. Mathews,   mathews@fullerton.edu 
Russell W. Howell,  howell@westmont.edu

CHAPTER 9  CONFORMAL MAPPING

S = T = w = W = x = y = z = Z = 
                      0; 
Clear[cos, f, F, g, graphs, Iden, S, set, sin, T, tan, w, W, w1, w2, 
        w3, wdot, wdots, wplane, z, z1, z2, z3, zdot, zdots, zplane, Z, 
        Zplane]; 
Needs["Graphics`ComplexMap`"]; 
Needs["Graphics`Colors`"];

Section 9.1  Basic Properties of Conformal Mappings

Let  f  be an analytic function in the domain  D, and let  (Subscript[z, 0])  be a point in  D.  If  f' ((Subscript[z, 0])) ≠ 0,  then we can express  f  in the form  

	f (z) = 
        f ((Subscript[z, 0])) + 
          f' ((Subscript[z, 0])) (z - (Subscript[z, 0])) + η (z) (z - (Subscript[z, 0])),  where  η (z) -> 0  as  z -> (Subscript[z, 0]).  

If  z  is near (Subscript[z, 0]), then the transformation  w = f (z)  has the linear approximation  

	S (z) = A + B (z - (Subscript[z, 0])),  where  A = f ((Subscript[z, 0]))  and  B = f' ((Subscript[z, 0])).  

Since  η (z) -> 0  when  z -> (Subscript[z, 0]),   it is reasonable that for points near  (Subscript[z, 0])  the transformation  w = f (z)  has an effect much like the linear mapping  w = S (z).  The effect of the linear mapping  S  is a rotation of the plane through the angle  α  =  arg[f' ((Subscript[z, 0]))],  followed by a magnification by the factor  |f' ((Subscript[z, 0]))|,  followed by a rigid translation by the vector  A + (Subscript[Bz, 0]).  Consequently, the mapping  w = S (z)  preserves angles at the point  (Subscript[z, 0]).  We now show that the mapping  w = f (z)  also preserves angles at  (Subscript[z, 0]).

	A mapping   w = f (z)  is said to be angle preserving, or Conformal  at  (Subscript[z, 0]),  if it preserves angles between oriented curves in magnitude as well as in orientation.  Also, we will learn that if  f  is a conformal mapping then orthogonal curves are mapped onto orthogonal curves.  The following result shows where a mapping by an analytic function is conformal.

Theorem 9.1,  Page 356.  Let f(z) be an analytic function in the domain D, and let (Subscript[z, 0]) be a point in D.  If f' ((Subscript[z, 0])) ≠ 0, then f(z) is conformal at (Subscript[z, 0]).

Proof of Theorem 9.1, see text Page 356.

Example 9.1,  Page 357.  Find the angle of rotation  α = arg (f' (z))  and the scale factor |f' (z)| of the mapping  w = f (z) = cos (z)  at the points  i,  1 - i, and π + i.

Solution 9.1.

Enter the function f(z) = cos(z).

Remove[z, Z]; 
Clear[f]; 
f[z_]  =  Cos[z]; 
Print["f(z) = ", f[z]];

(a) Consider the mapping  w = cos(z)  near z = i.

Z  =  I; 
Print["     f(z) = ", f[z]]; 
Print["    f'(z) = ", f'[z]]; 
Print[""]; 
Print["   At  z  = ", Z]; 
Print["    f(", Z, ") = ", 
        f[Z]]; 
Print["    f(", Z, ") = ", 
        N[f[Z]]]; 
Print[""]; 
Print["   f'(", Z, ") = ", f'[Z], " = ", 
        N[f'[Z]]]; 
Print[""]; 
Print["Rotation  = ", 
        Arg[f'[Z]]]; 
Print["Rotation  = ", N[Arg[f'[Z]]]]; 
Print["   Scale  = |", f'[Z], "| = ", 
        Abs[f'[Z]]]; 
Print["   Scale  = |", f'[Z], "| = ", 
        N[Abs[f'[Z]]]];

The image of a small rectangle about  z = i  is a curvilinear region about w = cosh(1).

Clear[f, Iden, wplane, z, zplane]; 
Iden[z_] = z; 
f[z_] = Cos[z]; 
zdot = 
        Graphics[{Red, PointSize[0.03], 
            Point[{Re[Z], Im[Z]}]}]; 
wdot = 
        Graphics[{Red, PointSize[0.03], 
            Point[{Re[f[Z]], Im[f[Z]]}]}]; 
zplane = 
        CartesianMap[
          Iden, {-0.5, 0.5, 0.125}, {0.5, 1.5, 
            0.125}, 
PlotRange -> {{-0.8, 
                0.8}, {0, 1.6}}, 
          AspectRatio -> 
            1, 
Ticks -> {Range[-0.75, 0.75, 
                0.25], Range[-1, 1.5, 0.5]}, 
          AxesLabel -> {"x", "y"}, 
          PlotStyle -> {Magenta, Pink}, 
          DisplayFunction -> Identity];  
wplane = 
        CartesianMap[
          f, {-0.5, 0.5, 0.125}, {0.5, 1.5, 
            0.125}, 
PlotRange -> {{0, 
                2.5}, {-1.25, 1.25}}, 
          AspectRatio -> 
            1, 
Ticks -> {Range[0, 2.5, 0.5], 
              Range[-1, 1, 0.5]}, AxesLabel -> {"u", "v"}, 
          PlotStyle -> {Magenta, Pink}, 
          DisplayFunction -> Identity];  
Show[zplane, 
        zdot, 
PlotRange -> {{-0.8, 0.8}, {0, 
              1.6}}, AspectRatio -> 
          1, 
Ticks -> {Range[-0.75, 0.75, 0.25], 
            Range[-1, 1.5, 0.5]}, AxesLabel -> {"x", "y"}, 
        DisplayFunction -> $DisplayFunction];  
Print["A small square about z = ", Z]; 
Show[wplane, 
        wdot, 
PlotRange -> {{0, 2.5}, {-1.25, 
              1.25}}, AspectRatio -> 
          1, 
Ticks -> {Range[0, 2.5, 0.5], 
            Range[-1, 1, 0.5]}, AxesLabel -> {"u", "v"}, 
        DisplayFunction -> $DisplayFunction];  
Print["The curvilinear image about w = ",  
        f[Z], ","]; 
Print["under the mapping  w = ", 
        f[z], ","]; 
Print["where  f(", Z, ") = ", f[Z], " = ", 
        N[f[Z]]]; 
Print[""]; 
Print["Rotation  = ", Arg[f'[Z]]]; 
Print["   Scale  = ", 
        Abs[f'[Z]]];

(b) Consider the mapping  w = cos(z)  near z = 1- i.

Z = 
        1 - I; 
Print["     f(z) = ", f[z]]; 
Print["    f'(z) = ", f'[z]]; 
Print[""]; 
Print["   At  z  = ", Z]; 
Print["    f(", Z, ") = ", 
        f[Z]]; 
Print["    f(", Z, ") = ", 
        ComplexExpand[f[Z]]]; 
Print["    f(", Z, ") = ", N[f[Z]]]; 
Print[""]; 
Print["   f'(", Z, ") = ", f'[Z], " = ", 
        N[f'[Z]]]; 
Print[""]; 
Print["Rotation  = ", Arg[f'[Z]]]; 
Print["Rotation  = ", 
        Arg[ComplexExpand[f'[Z]]]]; 
Print["Rotation  = ", N[Arg[f'[Z]]]]; 
Print["   Scale  = |", f'[Z], "| = ", 
        Abs[ComplexExpand[f'[Z]]]]; 
Print["   Scale  = |", f'[Z], "| = ", 
        N[Abs[f'[Z]]]];

The image of a small rectangle about  z = 1- i  is a curvilinear region about \(w = 
        cos \((1)\)\ cosh \((1)\) + i\ sin \((1)\)\ sinh \((1)\)\).

Clear[f, Iden, wplane, z, zplane]; 
Iden[z_] = z; 
f[z_] = Cos[z]; 
zdot = 
        Graphics[{Magenta, PointSize[0.03], Point[{Re[Z], Im[Z]}]}, 
          DisplayFunction -> Identity]; 
wdot = 
        Graphics[{Magenta, PointSize[0.03], Point[{Re[f[Z]], Im[f[Z]]}]}, 
          DisplayFunction -> Identity]; 
zplane = 
        CartesianMap[
          Iden, {0.6, 1.4, 0.1}, {-1.4, -0.6, 
            0.1}, 
PlotRange -> {{0, 1.5}, {-1.5, 
                0.0}}, AspectRatio -> 
            1, 
Ticks -> {Range[0, 2.0, 0.5], 
              Range[-2.0, 0.0, 0.5]}, 
          AxesLabel -> {"x", "y"}, 
          PlotStyle -> {Blue, Cyan}, 
          DisplayFunction -> Identity]; 
\(\(wplane = 
        CartesianMap[
          f, {0.6, 1.4, 0.1}, {\(-1.4\), \(-0.6\), 
            0.1}, 
PlotRange -> {{0, 1.88}, {0.0, 
                1.88}}, 
          AspectRatio -> 
            1, 
Ticks -> {Range[0, 2, 0.5], 
              Range[0, 2, 
                0.5]}, 
AxesLabel -> {"u", "v"}, PlotStyle -> {Blue, Cyan}, 
          DisplayFunction -> Identity];\)\ \)
Show[zplane, zdot, PlotRange -> {{0, 1.5}, {-1.5, 0.0}}, 
        AspectRatio -> 
          1, 
Ticks -> {Range[0, 2.0, 0.5], 
            Range[-2.0, 0.0, 0.5]}, AxesLabel -> {"x", "y"}, 
        DisplayFunction -> $DisplayFunction];  
Print["A small square about z = ", Z]; 
Show[wplane, wdot, PlotRange -> {{0, 1.88}, {0.0, 1.88}}, 
        AspectRatio -> 
          1, 
Ticks -> {Range[0, 2, 0.5], 
            Range[0, 2, 0.5]}, AxesLabel -> {"u", "v"}, 
        DisplayFunction -> $DisplayFunction];  
Print["The curvilinear image about w = ",  
        f[Z], ","]; 
Print["under the mapping  w = ", 
        f[z], ","]; 
Print["where  f(", Z, ") = ", f[Z], " = ", 
        N[f[Z]]]; 
Print[""]; 
Print["Rotation  = ", N[Arg[f'[Z]]]]; 
Print["   Scale  = ", 
        N[Abs[f'[Z]]]];

(c) Consider the mapping  w = cos(z)  near z = π + i.

Z  =  π + I;    
Print["     f(z) = ", f[z]]; 
Print["    f'(z) = ", f'[z]]; 
Print[""]; 
Print["   At  z  = ", Z]; 
Print["    f(", Z, ") = ", 
        f[Z]]; 
Print["    f(", Z, ") = ", N[f[Z]]]; 
Print[""]; 
Print["   f'(", Z, ") = ", f'[Z], " = ", 
        N[f'[Z]]]; 
Print[""]; 
Print["Rotation  = ", 
        Arg[f'[Z]]]; 
Print["Rotation  = ", N[Arg[f'[Z]]]]; 
Print["   Scale  = |", f'[Z], "| = ", 
        Abs[f'[Z]]]; 
Print["   Scale  = |", f'[Z], "| = ", 
        N[Abs[f'[Z]]]];

The image of a small rectangle about  z = π + i  is a curvilinear region about  w = - cosh(1).

Clear[f, Iden, wplane, z, zplane]; 
Iden[z_] = z; 
f[z_] = Cos[z]; 
zdot = 
        Graphics[{Red, PointSize[0.03], Point[{Re[Z], Im[Z]}]}, 
          DisplayFunction -> Identity]; 
wdot = 
        Graphics[{Red, PointSize[0.03], Point[{Re[f[Z]], Im[f[Z]]}]}, 
          DisplayFunction -> Identity]; 
zplane = 
        CartesianMap[
          Iden, {π - 0.5, π + 0.5, 0.125}, {0.5, 1.5, 
            0.125}, 
PlotRange -> {{0, 4}, {0, 2}}, 
          AspectRatio -> 
            (1/2), 
Ticks -> {Range[0, 4, 1], 
              Range[0, 2, 1]}, AxesLabel -> {"x", "y"}, 
          PlotStyle -> {DarkGreen, Green}, 
          DisplayFunction -> Identity];  
wplane = 
        CartesianMap[
          f, {π - 0.5, π + 0.5, 0.125}, {0.5, 1.5, 
            0.125}, 
PlotRange -> {{-3.2, 
                0}, {-1.1, 1.1}}, 
          AspectRatio -> 
            1, 
Ticks -> {Range[-3, 0, 1], 
              Range[-1, 1, 0.5]}, AxesLabel -> {"u", "v"}, 
          PlotStyle -> {DarkGreen, Green}, 
          DisplayFunction -> Identity];  
Show[zplane, zdot, PlotRange -> {{0, 4}, {0, 2}}, 
        AspectRatio -> 
          (1/2), 
Ticks -> {Range[0, 4, 1], 
            Range[0, 2, 1]}, AxesLabel -> {"x", "y"}, 
        DisplayFunction -> $DisplayFunction];  
Print["A small square about z = ", Z]; 
Show[wplane, wdot, 
        PlotRange -> {{-3.2, 0}, {-1.1, 1.1}}, 
        AspectRatio -> 
          1, 
Ticks -> {Range[-3, 0, 1], 
            Range[-1, 1, 0.5]}, AxesLabel -> {"u", "v"}, 
        DisplayFunction -> $DisplayFunction];  
Print["The curvilinear image about w = ",  
        f[Z], ","]; 
Print["under the mapping  w = ", 
        f[z], ","]; 
Print["where  f(", Z, ") = ", f[Z], " = ", 
        N[f[Z]]]; 
Print[""]; 
Print["Rotation  = ", Arg[f'[Z]]]; 
Print["   Scale  = ", 
        Abs[f'[Z]]];

Let f be a nonconstant analytic function. If f' ((Subscript[z, 0])) = 0, then (Subscript[z, 0]) is called a critical point of f, and the mapping w=f(z) is not conformal at (Subscript[z, 0]). The next result shows what happens at a critical point.

Theorem 9.2 (Nonconformal Map),  Page 358.  Let f(z) be analytic at (Subscript[z, 0]).  If f' ((Subscript[z, 0])) = 0, 
      f'' ((Subscript[z, 0])) = 0,   ... , (f^((k - 1))) ((Subscript[z, 0])) = 0 and 
(f^((k))) ((Subscript[z, 0])) ≠ 0, then the mapping  w = f(z)  magnifies angles at the vertex (Subscript[z, 0]) by the factor k.

Proof of Theorem 9.2, see text Page 358.

Example 9.2,  Page 358.  Graph the transformation  w = f (z) = (z^2).

Solution 9.2.

Enter the function  f (z) = (z^2)  and graph the mapping.

Clear[f, Iden, z]; 
Iden[z_]  =  z; 
f[z_]  =  (z^2); 
CartesianMap[
        Iden, {0, 1, 0.1}, {0, 1, 
          0.1}, 
Ticks -> {Range[0, 1, 0.5], 
            Range[0, 1, 
              0.5]}, 
AxesLabel -> {"x", "y"}, 
        PlotStyle -> {Magenta, Pink}];  
\(\(Print["Vertical lines x = a, and horizontal lines y = b,"];\)\ \)
Print["forming a unit square in the z-plane."]; 
CartesianMap[ 
        f  , {0, 1, 0.1}, {0, 1, 
          0.1}, 
Ticks -> {Range[-1, 1, 1], 
            Range[0, 2, 1]}, 
AspectRatio -> 1, 
        PlotRange -> {{-1, 1}, {0, 2}}, 
        AxesLabel -> {"u", "v"}, 
        PlotStyle -> {Magenta, Pink}];  
Print["The image parabolas ",  
        u == (a^2) - ((v^2)/(4  (a^2))), " and ", 
        u == -(b^2) + ((v^2)/(4 (b^2)))]; 
Print["under the mapping  w = ", 
        f[z]];

Another property of a conformal mapping   w = f (z)  is obtained by considering the modulus of  f' ((Subscript[z, 0])).  If  (Subscript[z, 1])  is near  (Subscript[z, 0]),  then in the equation  f ((Subscript[z, 1])) = 
        f ((Subscript[z, 0])) + 
          f' ((Subscript[z, 0])) ((Subscript[z, 1]) - (Subscript[z, 0])) + η ((Subscript[z, 1])) ((Subscript[z, 1]) - 
                (Subscript[z, 0])) we can neglect the term  η ((Subscript[z, 1])) ((Subscript[z, 1]) - (Subscript[z, 0])), and obtain the approximation  

	(Subscript[w, 1]) - (Subscript[w, 0])=f ((Subscript[z, 1])) - f ((Subscript[z, 0]))≈ f' ((Subscript[z, 0])) ((Subscript[z, 1]) - (Subscript[z, 0])).  

Using this relation, we see that the distance  |(Subscript[w, 1]) - (Subscript[w, 0])|  between the images of the points  (Subscript[z, 1])  and  (Subscript[z, 0])  is given approximately by  |f' ((Subscript[z, 0])) || (Subscript[z, 1]) - (Subscript[z, 0])|.  Therefore we say that the transformation   w = f (z)  changes small distances near  (Subscript[z, 0])  by the scale factor  |f' ((Subscript[z, 0]))|.

Library Research Experience for Undergraduates

Project I. Write a report on conformal mapping.

1. Bruch, John C. and Roger C. Wood (1972), ''Teaching Complex Variables with an Interactive Computer System,'' IEEE Trans. on Ed., E-15, No. 1, pp. 73-80.

2. Bruch, John C., (1975), ''The Use of Interactive Computer Graphics in the Conformal Mapping Area,'' Computers and Graphics, V. 1, pp. 361-374.

3. D'Angelo, John P.,''Mapping Theorems in Complex Analysis (in Progress Reports),'' Am. Math. M., Vol. 91, No. 7. (Aug. - Sep., 1984), pp. 413-414, Jstor.   

4. Frederick, Carl and Eric L. Schwartz, (1990), ''Conformal image warping,'' IEEE Computer Graphics and Applications, V. 10, pp. 54-61.

5. Kasner, Edward and John De Cicco, ''Geometry of Scale Curves in Conformal Maps,'' American J. of Math., Vol. 67, No. 1. (Jan., 1945), pp. 157-166, Jstor.   

6. Miser, Hugh J. (1942),'' Regions and their 'Patterns' in Conformal Mapping,'' Math. Mag., Vol. 16 pp. 333-337.

7. Moppert, C. F., ''Deduction of Cardano's Formula by Conformal Mapping (in Math. Notes),''Am. Math. M., Vol. 59, No. 5. (May, 1952), pp. 310-314, Jstor.   

8. Novinger, W. P., ''An Elementary Approach to the Problem of Extending Conformal Maps to the Boundary (in Classroom Notes),'' Am. Math. M., Vol. 82, No. 3. (Mar., 1975), pp. 279-282, Jstor.   

9. Richardson, S., ''An Identity Arising in a Problem of Conformal Mapping (in Classroom Notes),'' SIAM Review, Vol. 31, No. 3. (Sep., 1989), pp. 484-485, Jstor.   

10. Walsh, J. L., ''On the Circles of Curvature of the Images of Circles under a Conformal Map,'' Am. Math. M., Vol. 46, No. 8. (Oct., 1939), pp. 472-485, Jstor.   

11. Warschawski, S. E., ''On Conformal Mapping of Infinite Strips,'' Trans. of the Am. Math. Soc., Vol. 51, No. 2. (Mar., 1942), pp. 280-335, Jstor.   

12. Williams, Richard K., ''A Note on Conformality (in Classroom Notes),'' Am. Math. M., Vol. 80, No. 3. (Mar., 1973), pp. 299-300, Jstor.

Project II. Write a report on numerical conformal mapping.

1. Chakravarthy, Sukumar and Dale Anderson, ''Numerical Conformal Mapping,'' Math. of Computation, Vol. 33, No. 147. (Jul., 1979), pp. 953-969, Jstor.   

2. Hayes, John K., David K. Kahaner and Richard G. Kellner, ''An Improved Method for Numerical Conformal Mapping,'' Math. of Computation, Vol. 26, No. 118. (Apr., 1972), pp. 327-334+s1-s28, Jstor.   

3. Mastin, C. Wayne, (1987), ''Numerical conformal mapping,'' Comp. Meth. in App. Mech. and Eng., V. 63, pp. 209-211.

4. Wegmann, Rudolf, ''On Fornberg's Numerical Method for Conformal Mapping SIAM J. on Numerical Analysis, Vol. 23, No. 6. (Dec., 1986), pp. 1199-1213, Jstor.

Section 9.1  Exercises for Basic Properties of Conformal Mappings
See textbook page 360.

Section 9.2	Bilinear Transformations

Section 9.3	Mappings Involving Elementary Functions

Section 9.4	Mappings by Trigonometric Functions

GO TO  THE  Table of Contents