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

COMPLEX ANALYSIS: for Mathematics and Engineering, 
3rd Edition,  1997,  ISBN: 0-7637-0270-6
Jones & Bartlett Publishers, Inc.
40 Tall Pine Drive, Sudbury, MA 01776
Tele.  (800) 832-0034, FAX:  (508)  443-8000
E-mail:  mkt@jbpub.com,     http://www.jbpub.com/
This free software is compliments of the authors.
mathews@fullerton.edu,  howell@westmont.edu

CHAPTER 9  CONFORMAL MAPPING
Section 9.1  Basic Properties of Conformal Mappings
Section 9.2  Bilinear Transformations
Section 9.3  Mapping Involving Elementary Functions
Section 9.4  Mapping Involving Trigonometric Functions
GoTo Chapter 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.
GoTo Contents

CHAPTER 9  CONFORMAL MAPPING

\(SetOptions[Graphics, DefaultColor -> RGBColor[0, 0, 1]]; 

    Get["Graphics`ComplexMap`"]; 

    Clear[f, F, g, graphs, Iden, S, w, w1, w2, w3, wplane, z, z1, z2, z3, 
      zplane, Zplane]; \)

Section 9.1  Basic Properties of Conformal Mappings

It is important to be able to graph complex functions and observe that if  f(z)  is analytic and  f'(z)≠0  then the mapping is conformal and orthogonal curves are mapped onto orthogonal curves.

Theorem 9.1,  Page 282.  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]).

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

Load Mathematica's  ComplexMap package.  Make sure this is done only ONCE during a Mathematica  session.

Get["Graphics`ComplexMap`"]

Example 9.1,  Page 283.  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, and  π + i.

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

\(Z\  = \ I; 
Print["     f(z) = ", f[z]]; 

    Print["    f'(z) = ", \(f'\)[z]]; 
Print["   At  z  = ", Z]; 

    Print["    f'(z) = ", \(f'\)[Z], " = ", N[\(f'\)[Z]]]; 

    Print["Rotation  = ", Arg[\(f'\)[Z]]]; 

    Print["   Scale  = ", Abs[\(f'\)[Z]], " = ", N[Abs[\(f'\)[Z]]]]; 
    \)

\(Z\  = \ 1; 
Print["     f(z) = ", f[z]]; 

    Print["    f'(z) = ", \(f'\)[z]]; 
Print["   At  z  = ", Z]; 

    Print["    f'(z) = ", \(f'\)[Z], " = ", N[\(f'\)[Z]]]; 

    Print["Rotation  = ", Arg[\(f'\)[Z]]]; 

    Print["   Scale  = ", Abs[\(f'\)[Z]], " = ", N[Abs[\(f'\)[Z]]]]; 
    \)

\(Z\  = \ π + I; \ \ \ 
Print["     f(z) = ", f[z]]; 
    
Print["    f'(z) = ", \(f'\)[z]]; 
Print["   At  z  = ", Z]; 

    Print["    f'(z) = ", \(f'\)[Z], " = ", N[\(f'\)[Z]]]; 

    Print["Rotation  = ", Arg[\(f'\)[Z]]]; 

    Print["   Scale  = ", Abs[\(f'\)[Z]], " = ", N[Abs[\(f'\)[Z]]]]; 
    \)

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

\(Clear[f, Iden, z]; 
Iden[z_]\  = \ z; 
f[z_]\  = \ z\^2; 

    zplane\  = \ 
      CartesianMap[Iden, {0, 1, 0.1}, {0, 1, 0.1}, 
        Ticks -> {Range[0, 1, 0.5], Range[0, 1, 0.5]}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      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"}, 
        DisplayFunction -> Identity]; \ \ 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}], 
        DisplayFunction -> $DisplayFunction]; 

    Print["        The mapping  w = ", f[z]]; \)

GoTo Chapter 9

Section 9.2  Bilinear Transformations

The prerequisite for this section is Section 2.6
The Reciprocal Transformation  w = 1/z.

Let  a, b, c, d  denote four complex constants with the restriction that   a d  ≠  b d.  Then the function  w=S (z)=((a z  +  b)/(c z  +  d)),    is called a bilinear transformation or Mobius transformation or linear fractional transformation.

Theorem 9.3,  Page 289.  (The Implicit Formula)  There exists a unique bilinear transformation that maps three distinct points  (Subscript[z, 1]), (Subscript[z, 2]) , and  (Subscript[z, 3])  onto three distinct points  (Subscript[w, 1]), (Subscript[w, 2]) , and  (Subscript[w, 3]) , respectively.  An implicit formula for the mapping is given by the equation:  (((z  -  (Subscript[z, 1])) ((Subscript[z, 2])  -  (Subscript[z, 3])))/((z  -  (Subscript[z, 3])) 
              ((Subscript[z, 2])  -  (Subscript[z, 1])))) = 
          (((w  -  (Subscript[w, 1])) ((Subscript[w, 2])  -  (Subscript[w, 3])))/((w  -  (Subscript[w, 3])) 
              ((Subscript[w, 2])  -  (Subscript[w, 1]))))

Load Mathematica's  ComplexMap package.
Make sure this is done only ONCE during a Mathematica  session.

Get["Graphics`ComplexMap`"]

Example 9.3,  Page 288.  Show that   w  =  S(z)  =  ((i (1  -  z))/(1  +  z))   maps 
the unit disk  |z| < 1   one-to-one and onto the upper half plane  Im w > 0.

\(Clear[f, Iden, solset, w, z]; 
Iden[z_]\  = \ z; 

    f[z_]\  = \ \(I\ \((1 - z)\)\)\/\(1 + z\); 

    Print["f(z) = ", f[z]]; \)

To show  S(z)  is one-to-one, find the inverse function.

\(solset\  = \ Solve[w == f[z], z]; 
Print[solset]; 

    Print[\*""z = \!\(S\^\(-1\)\)[w] = "", 
      solset[[1, 1, 2]]]; \)

To show  S(z)  is onto we will consider a graph.
The graph is not conclusive, but it appears to confirm our suspicion.

\(Clear[f, Iden, z]; 
Iden[z_]\  = \ z; 

    f[z_]\  = \(\ I\ \((1 - z)\)\)\/\(1 + z\); 

    zplane\  = \ 
      PolarMap[Iden, {0.005, 0.995, 0.11}, {0, 2  π, π\/12}, 
        PlotRange -> {{\(-1.05\), 1.05}, {\(-1.05\), 1.05}}, 
        PlotRegion -> {{0.15, 0.85}, {0.15, 0.85}}, 
        Ticks -> {Range[\(-1\), 1, 1], Range[1, 1, 1]}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      PolarMap[f\ \ \ , {0.005, 0.995, 0.11}, {0, 2  π, π\/12}, 
        Ticks -> {Range[\(-3\), 3, 1], Range[0, 3, 1]}, 
        AspectRatio -> 1\/2, PlotRange -> {{\(-3\), 3}, {0, 3}}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; \ \ 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}], 
        DisplayFunction -> $DisplayFunction]; 

    Print["       The mapping  w = ", f[z]]; \)

Example 9.4,  Page 290.  Construct the bilinear transformation  w = S(z)  that maps the 
points  (Subscript[z, 1]) = - i, (Subscript[z, 2]) = 1, (Subscript[z, 3]) = i  onto the points  (Subscript[w, 1]) = - 1, (Subscript[w, 2]) = 0, (Subscript[w, 3]) = 1, respectively.

\(Clear[formula, solset, S, w, w1, w2, w3, W, z, z1, z2, z3, Z]; 

    formula\  = \ 
      \(\((z - z1)\) \((z2 - z3)\)\)\/\(\((z - z3)\) \((z2 - z1)\)\)\  == \ 
        \(\((w - w1)\) \((w2 - w3)\)\)\/\(\((w - w3)\) \((w2 - w1)\)\); 

    Print[formula]; 
z1\  = \ \(-I\); \ \ z2\  = \ 1; \ 
    z3\  = \ I; \ \ 
w1\  = \ \(-1\); \ \ w2\  = \ 0; \ 
    w3\  = \ 1; 
Print[formula]; 
solset\  = \ Solve[formula, w]; 
    Print[solset]; 

    S[z_]\  = \ solset[[1, 1, 2]]; 
    Print["S(z) = ", S[z]]; \)

Check our work and look at the images of z1, z2, z3.

\(Print[\*""   \!\(z\_1\) = "", z1, 
      \*"",      \!\(z\_2\) = "", z2, \*"",      \!\(z\_3\) = "", 
      z3]; 
Print[\*""   \!\(w\_1\) = "", w1, 
      \*"",      \!\(w\_2\) = "", w2, \*"",      \!\(w\_3\) = "", 
      w3]; 
Print[\*""S[\!\(z\_1\)] = "", S[z1], 
      \*"",   S[\!\(z\_2\)] = "", S[z2], 
      \*"",   S[\!\(z\_3\)] = "", S[z3]]; \)

Example 9.5,  Page 290.  Find the bilinear transformation  w = S(z)  that maps the points  
(Subscript[z, 1]) = - 2, (Subscript[z, 2]) = - 1- i, (Subscript[z, 3]) = 0  onto the points  (Subscript[w, 1]) = - 1, (Subscript[w, 2]) = 0, (Subscript[w, 3]) = 1, respectively.

\(Clear[formula, solset, S, w, w1, w2, w3, W, z, z1, z2, z3, Z]; 

    formula\  = \ 
      \(\((z - z1)\) \((z2 - z3)\)\)\/\(\((z - z3)\) \((z2 - z1)\)\)\  == \ 
        \(\((w - w1)\) \((w2 - w3)\)\)\/\(\((w - w3)\) \((w2 - w1)\)\); 

    Print[formula]; 
z1\  = \ \(-2\); \ \ z2\  = \ \(-1\) - I; \ 
    z3\  = \ 0; 
w1\  = \ \(-1\); \ \ w2\  = \ 0; \ \ \ \ w3\  = \ 1; 

    Print[formula]; 
solset\  = \ Solve[formula, w]; Print[solset]; 

    S[z_]\  = \ 
      Simplify[solset[[1, 1, 2]]]; 
    Print["S(z) = ", S[z]]; \)

This is equivalent to the formula  S(z) = (((1 - i) z  +  2)/((1 + i) z  +  2)),
and can be verified by the computation:

\(Print[S[z], " = ", 
      \(\((1 - I)\) z\  + \ 2\)\/\(\((1 + I)\) z\  + 
          \ 2\)]; 

    Print[S[z], " = ", 
      Simplify[\(\((1 - I)\) z\  + \ 2
            \)\/\(\((1 + I)\) z\  + \ 2\)]]; 

    Print["Are they equal ?  ", 
      S[z]\  == \ 
        Simplify[
          \(\((1 - I)\) z\  + \ 2\)\/\(\((1 + I)\) z\ 
               + \ 2\)]]; \)

Check our work and look at the images of  (Subscript[z, 1]), (Subscript[z, 2]), (Subscript[z, 3]).

\(Print[\*""   \!\(z\_1\) = "", z1, \*"",    \!\(z\_2\) = "", 
      z2, \*"",  \!\(z\_3\) = "", z3]; 

    Print[\*""   \!\(w\_1\) = "", w1, \*"",    \!\(w\_2\) = "", 
      w2, \*"",       \!\(w\_3\) = "", w3]; 

    Print[\*""S[\!\(z\_1\)] = "", S[z1], 
      \*"", S[\!\(z\_2\)] = "", S[z2], 
      \*"",    S[\!\(z\_3\)] = "", S[z3]]; \)

Example 9.6,  Page 291. Show that  the mapping  w = S(z) = (((1 - i) z  +  2)/((1 + i) z  +  2))
maps the disk    |z+1| < 1   one-to-one and onto the upper half plane  Im w > 0.

\(Clear[d, g, solset, S, w, w1, w2, w3, W, z, z1, z2, z3, Z]; 

    S[z_]\  = \ 
      \(\((1 - I)\) z\  + \ 2\)\/\(\((1 + I)\) z\  + 
          \ 2\); 
Print["S(z) = ", S[z]]; \)

To show  S(z)  is one-to-one, find the inverse function.

\(solset\  = \ Solve[w == S[z], z]; 
Print[solset]; 

    Print[\*""z = \!\(S\^\(-1\)\)[w] = "", 
      solset[[1, 1, 2]]]; \)

To show  S(z)  is onto, use the method of oriented points on the boundary curve.

\(\(\ z1\  = \ \(-2\); \ z2\  = \ \(-1\) - I; z3\  = \ 0; 

    w1\  = \ \(-1\); \ w2\  = \ 0; \ \ \ \ \ \ \ \ \ \ w3\  = \ 1; 

    Print[\*""   \!\(z\_1\) = "", z1, \*"",     \!\(z\_2\) = "", 
      z2, \*"",  \!\(z\_3\) = "", z3]; 

    Print[\*""   \!\(w\_1\) = "", w1, \*"",     \!\(w\_2\) = "", 
      w2, \*"",       \!\(w\_3\) = "", w3]; 

    Print[\*""S[\!\(z\_1\)] = "", S[z1], 
      \*"",  S[\!\(z\_2\)] = "", S[z2], 
      \*"",    S[\!\(z\_3\)] = "", S[z3]]; \)\)

To find the image of the disk   |z+1| < 1  under w = S(z)
we use the change of variable and find the image of  |z| < 1  under  w = g(z) = S(z-1).

\(d[z_]\  = \ z - 1; 
g[z_]\  = \ S[z - 1]; 

    Print["S(z) = ", S[z]]; 
Print["g(z) = ", g[z]]; \)

\(Clear[S, z]; 

    S[z_]\  = \ 
      \(\((1 - I)\) z\  + \ 2\)\/\(\((1 + I)\) z\  + 
          \ 2\); 
zplane\  = \ 
      PolarMap[d\ \ \ , {0.005, 0.995, 0.11}, {0, 2  π, π\/12}, 
        PlotRange -> {{\(-2.05\), 0.05}, {\(-1.05\), 1.05}}, 
        PlotRegion -> {{0.15, 0.85}, {0.15, 0.85}}, 
        Ticks -> {Range[\(-2\), 1, 1], Range[1, 1, 1]}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ \ 

    wplane\  = \ 
      PolarMap[g\ \ \ , {0.005, 0.995, 0.11}, {0, 2  π, π\/12}, 
        Ticks -> {Range[\(-3\), 3, 1], Range[0, 3, 1]}, 
        AspectRatio -> 1\/2, PlotRange -> {{\(-3\), 3}, {0, 3}}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; \ \ 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}], 
        DisplayFunction -> $DisplayFunction]; 

    Print["       The mapping  w = ", S[z]]; \)

The image of the disk   |z+1| < 1  is the upper half plane  Im(z) > 0.

Example 9.7,  Page 292.  Find the bilinear transformation  w = S(z)  that maps 
the crescent-shaped region that lies inside the disk   |z-2| < 2   and outside the circle   
|z-1| = 1   onto a horizontal strip.

Solution.  For convenience we choose (Subscript[z, 1]) = 4,   (Subscript[z, 2]) = 2 + 2i,   (Subscript[z, 3]) = 0   which are 
mapped onto the points   (Subscript[w, 1]) = 0,  (Subscript[w, 2]) = 1,  (Subscript[w, 3]) = ∞,  respectively.  In this case 
we remove the terms involving  (Subscript[w, 3]) = ∞,  in the implicit formula, because
this implies that   (((Subscript[((Subscript[w, 2])), - (Subscript[w, 3])]))/(w  -  (Subscript[w, 3])))  =  (((Subscript[((Subscript[w, 2])),  - ∞]))/(w  -  ∞))  =  1.

\(Clear[formula, Iden, solset, S, T, w, w1, w2, w3, w4, w5, w6, W, z, z1, 
      z2, z3, z4, z5, z6, Z]; 

    formula\  = \ 
      \(\((z - z1)\) \((z2 - z3)\)\)\/\(\((z - z3)\) \((z2 - z1)\)\)\  == \ 
        \(w - w1\)\/\(w2 - w1\); 
Print[formula]; 
z1\  = \ 4; \ \ 
    z2\  = \ 2 + 2  I; \ z3\  = \ 0; \ 
w1\  = \ 0; \ \ 
    w2\  = \ 1; \ \ \ \ w3\  = \ ComplexInfinity; 
Print[formula]; 

    solset\  = \ Solve[formula, w]; Print[solset]; 

    S[z_]\  = \ solset[[1, 1, 2]]; 
    Print["S(z) = ", S[z]]; \)

Check our work and look at the images of  (Subscript[z, 1]), (Subscript[z, 2]), (Subscript[z, 3]).

\(Print[\*""   \!\(z\_1\) = "", z1, 
      \*"",     \!\(z\_2\) = "", z2, \*"",  \!\(z\_3\) = "", z3]; 
    
Print[\*""   \!\(w\_1\) = "", w1, 
      \*"",     \!\(w\_2\) = "", w2, \*"",      \!\(w\_3\) = "", 
      w3]; 
Print[\*""S[\!\(z\_1\)] = "", S[z1], 
      \*"",  S[\!\(z\_2\)] = "", S[z2], 
      \*"",   S[\!\(z\_3\)] = "", S[z3]]; \)

And we need to look at the points:
(Subscript[z, 4]) = 1 - i,   (Subscript[z, 5]) = 2,  (Subscript[z, 6]) = 1 + i   and   (Subscript[w, 4]) = - 2 + i,  (Subscript[w, 5]) = i,  (Subscript[w, 6]) = 2 + i.

\(z4\  = \ \ 1 - I; \ \ \ \ z5\  = \ 2; \ \ 
    z6\  = \ 1 + I; 
w4\  = \ \(-2\) + I; \ \ 
    w5\  = \ I; \ \ w6\  = \ 2 + I; 

    Print[\*""   \!\(z\_4\) = "", z4, 
      \*"",       \!\(z\_5\) = "", z5, 
      \*"",      \!\(z\_6\) = "", z6]; 

    Print[\*""   \!\(w\_4\) = "", w4, \*"",     \!\(w\_5\) = "", 
      w5, \*"",      \!\(w\_6\) = "", w6]; 

    Print[\*""S[\!\(z\_4\)] = "", S[z4], 
      \*"",  S[\!\(z\_5\)] = "", S[z5], 
      \*"",   S[\!\(z\_6\)] = "", S[z6]]; \)

To illustrate the mapping, consider the inverse image of the horizontal strip.

\(Iden[w_]\  = \ w; 
solset\  = \ Solve[formula, z]; 

    T[w_]\  = \ solset[[1, 1, 2]]; 

    Print["w = S[z] = ", S[z]]; 
Print["z = T[w] = ", T[w]]; 

    Print[" "]; 
Print["T[S[z]] = ", T[S[z]]]; 

    Print["T[S[z]] = ", Simplify[T[S[z]]]]; 
Print[" "]; 

    Print["S[T[w]] = ", S[T[w]]]; 

    Print["S[T[w]] = ", Simplify[S[T[w]]]]; \)

\(zplane\  = \ 
      CartesianMap[T\ \ \ , {\(-9\), 9, 0.3}, {0.005, 0.995, 0.09}, 
        PlotRange -> {{\(-0.05\), 4.05}, {\(-2.05\), 2.05}}, 
        Ticks -> {Range[0, 4, 1], Range[2, 2, 1]}, 
        PlotRegion -> {{0.2, 0.8}, {0.2, 0.8}}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ \ 

    wplane\  = \ 
      CartesianMap[Iden, {\(-9\), 9, 0.9}, {0.005, 0.995, 0.09}, 
        PlotRange -> {{\(-9\), 9}, {0, 1}}, AspectRatio -> 1\/3, 
        Ticks -> {Range[\(-9\), 9, 3], Range[0, 1, 1]}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; \ \ 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}, GraphicsSpacing -> \(-0.1\)], 
        DisplayFunction -> $DisplayFunction]; 

    Print["     The mapping  w = ", S[z]]; \)

GoTo Chapter 9

Section 9.3  Mapping Involving Elementary Functions

In this section we will show how compositions of conformal transformations 
are used to construct mapping with specified characteristics.

Load Mathematica's  ComplexMap package.
Make sure this is done only ONCE during a Mathematica  session.

Get["Graphics`ComplexMap`"]

Example 9.8,  Page 295.  The transformation   w  =  f(z)  =  (((e^z)  -  i)/((e^z)  +  i))   is a
one-to-one conformal mapping of the horizontal strip  0 < y < π onto the disk  |w| < 1.
Furthermore, the x-axis is mapped onto the lower semicircle bounding the disk, and 
the line  y = π  is mapped onto the upper semicircle.

Clear[f, g, solset, w, z]\(f[z_]\  = \ \ 
      \(E\^z - I\)\/\(E\^z + 
          I\); 
Print["f[z] = ", f[z]]; \)

To show w  =  f(z)  =   (((e^z)  -  i)/((e^z)  +  i))   is one-to-one conformal we need 
to find the inverse function

\(solset\  = \ Solve[w\  == \ f[z], z]; 

    g[w_]\  = \ solset[[1, 1, 2]]; 

    Print[solset]; 
Print["f[z] = ", f[z]]; 

    Print["g[w] = ", g[w]]; \ 
Print[" "]; 

    Print["f[g[w]] = ", f[g[w]]]; 

    Print["f[g[w]] = ", Simplify[f[g[w]]]]; 
\ Print[" "]; 

    Print["g[f[z]] = ", g[f[z]]]; 

    Print["g[f[z]] = ", Simplify[g[f[z]]]]; 

    Print["g[f[z]] = ", PowerExpand[Simplify[g[f[z]]]]]; \)

The image is traced using a graph.

\(Clear[f, z]; 

    f[z_]\  = \ \ 
      \(E\^z - I\)\/\(E\^z + 
          I\); 

    zplane\  = \ 
      CartesianMap[
        Identity, {\(-6\), 6, 0.5}, {0.005  Pi, 0.995  π, 0.09  π}, 
        PlotRange -> {{\(-6.4\), 6.4}, {0, 3.2}}, 
        AspectRatio -> 1\/2, 
        Ticks -> {Range[\(-6\), 6, 2], Range[0, 3, 1]}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      CartesianMap[
        f, {\(-6\), 6, 0.5}, {0.005  π, 0.995  π, 0.09  π}, 
        PlotRange -> {{\(-1.1\), 1.1}, {\(-1.1\), 1.1}}, 
        AspectRatio -> 1, 
        Ticks -> {Range[\(-1\), 1, 1], Range[\(-1\), 1, 1]}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}, GraphicsSpacing -> \(-0.3\)], 
        DisplayFunction -> $DisplayFunction]; 

    Print["       The mapping  w = ", f[z]]; \)

Thus, the image of the horizontal strip  0 < y < π  is the disk  |w| < 1.

Example 9.9,  Page 296.  The transformation   w  =  f(z)  =  Log(((1  +  z)/(1  -  z)))  is a
one-to-one conformal mapping of the unit disk  |z| < 1  onto the horizontal strip  |v| < (π/2).
Furthermore, the upper semicircle of the disk is mapped onto the line  v = (π/2)  and the 
lower semicircle onto  v = ((- π)/2).

\(Clear[f, g, solset, w, z]; 
f[z_]\  = \ \ Log[\(1 + z\)\/\(1 - z\)]; 

    Print["f[z] = ", f[z]]; \)

To show w  =  f(z)  =  Log(((1 + z)/(1 - z)))  is one-to-one conformal we need 
to find the inverse function.

\(solset\  = \ Solve[w\  == \ f[z], z]; 

    g[w_]\  = \ solset[[1, 1, 2]]; 

    Print[solset]; 
Print["f[z] = ", f[z]]; 

    Print["g[w] = ", g[w]]; 
Print[" "]; 

    Print["g[f[z]] = ", g[f[z]]]; 

    Print["g[f[z]] = ", Simplify[g[f[z]]]]; 
Print[" "]; 

    Print["f[g[w]] = ", f[g[w]]]; 

    Print["f[g[w]] = ", Simplify[f[g[w]]]]; 

    Print["f[g[w]] = ", PowerExpand[Simplify[f[g[w]]]]]; \)

The image is traced using a graph.

\(Clear[f, z]; 
f[z_]\  = \ \ \ Log[\(1 + z\)\/\(1 - z\)]; 

    zplane\  = \ 
      PolarMap[Identity, {0.000005, 0.999995, 0.11111}, 
        
{0, 2  π, π\/12}, 
        PlotRange -> {{\(-1.1\), 1.1}, {\(-1.1\), 1.1}}, 
        PlotRegion -> {{0.15, 0.85}, {0.15, 0.85}}, 
        AspectRatio -> 1, 
        Ticks -> {Range[\(-1\), 1, 1], Range[\(-1\), 1, 1]}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      PolarMap[f, {0.000005, 0.999995, 0.11111}, 
{0, 2  π, π\/12}, 
        PlotRange -> {{\(-3\), 3}, {\(-1.6\), 1.6}}, 
        AspectRatio -> 1.6\/3, 
        Ticks -> {Range[\(-3\), 3, 1], Range[\(-1\), 1, 1]}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}], 
        DisplayFunction -> $DisplayFunction]; 

    Print["        The mapping  w = ", f[z]]; \)

Thus, the image of the unit disk  |z| < 1  is the horizontal strip  |v| < (π/2).

Example 9.10,  Page 297.  The transformation   w  =  f(z)  =  (((((1 + z))^2))/((((1 - z))^2)))   is a
one-to-one conformal mapping of the portion of the unit disk  |z| < 1 that lies in 
the upper half-plane  Im z > 0 onto the upper half-plane  Im w > 0.  Furthermore, 
the upper semicircular portion of the boundary is mapped onto the line negative 
u-axis, and the segment  -1 < x < 1, y = 0  is mapped onto the positive u-axis.

\(Clear[f, g, solset, w, z]; 

    f[z_]\  = \ \ \((1 + z)\)\^2\/\((1 - z)\)\^2; 

    Print["f[z] = ", f[z]]; \)

To show w  =  f(z)  =  (((((1 + z))^2))/((((1 - z))^2)))   is one-to-one conformal we need to find the inverse function.  Since there is two branches, perhaps one of them is appropriate to this problem.

\(solset\  = \ Solve[w\  == \ f[z], z]; 

    g[w_]\  = \ solset[[1, 1, 2]]; 

    Print[solset]; 
Print["f[z] = ", f[z]]; 

    Print["g[w] = ", g[w]]; 
Print[" "]; 

    Print["f[g[w]] = ", f[g[w]]]; 

    Print["f[g[w]] = ", Simplify[f[g[w]]]]; 
Print[" "]; 

    Print["g[f[z]] = ", g[f[z]]]; 

    Print["g[f[z]] = ", PowerExpand[g[f[z]]]]; 

    Print["g[f[z]] = ", Simplify[PowerExpand[g[f[z]]]]]; \)

The image is traced using a graph.

\(Clear[f, z]; 
f[z_]\  = \ \ \((1 + z)\)\^2\/\((1 - z)\)\^2; 

    zplane\  = \ 
      PolarMap[Identity, {0.000005, 0.999995, 0.11111}, 
        
{0, π, π\/12}, AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      PolarMap[f, {0.000005, 0.999995, 0.11111}, {0, π, π\/12}, 
        PlotRange -> {{\(-4.2\), 4.2}, {0, 4.5}}, 
        AspectRatio -> 4.5\/8, 
        Ticks -> {Range[\(-4\), 4, 2], Range[0, 4, 2]}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}, GraphicsSpacing -> \(-0.1\)], 
        DisplayFunction -> $DisplayFunction]; 

    Print["        The mapping  w = ", f[z]]; \)

Thus the image of the portion of the unit disk  |z| < 1 that lies in the 
upper half-plane  Im z > 0  is the upper half-plane  Im w > 0.

Example 9.11,  Page 298.  Consider the function   w  =  f(z)  = (Sqrt[(z^2) - 1]),  which 
is the composition of the functions  Z = (z^2) - 1  and  w = (Sqrt[Z])  where the branch of the 
square root is    (Sqrt[Z])  =  (Sqrt[R])(cos((θ/2)) + i sin((θ/2))),    (θ = arg Z  and  0 ≤ θ < 2π).
Then the transformation  w = f(z)  maps the upper half-plane  Im z > 0  one-to-one and 
onto the upper-half plane  Im w > 0  slit along the segment  u = 0, 0 < v ≤ 1.

\(Clear[f, g, solset, w, z]; 
f[z_]\  = \ \@\(z\^2\  - \ 1\); 

    Print["f[z] = ", f[z]]; \)

But in Mathematica  the branch cut for square root is along the negative x-axis.
But we need a version of the function f(z) with a branch cut along the positive x-axis:
f(z)  =  i (Sqrt[1 - (z^2)])

\(f[z_]\  = \ \@\(z\^2\  - \ 1\); 
Print["f[z] = ", f[z]]; \)

To show  w = f(z) = (Sqrt[(z^2) - 1])  is one-to-one conformal we need to find the inverse function.

\(f[z_]\  = \ \ I\ \@\(1\  - \ z\^2\); 

    Print["f[z] = ", f[z]]; \)

\(solset\  = \ Solve[w\  == \ f[z], z]; 

    g[w_]\  = \ solset[[2, 1, 2]]; 

    Print[solset]; 
Print["f[z] = ", f[z]]; 

    Print["g[w] = ", g[w]]; 
Print[" "]; 

    Print["f[g[w]] = ", f[g[w]]]; 
Print[" "]; 

    Print["g[f[z]] = ", g[f[z]]]; 

    Print["g[f[z]] = ", PowerExpand[g[f[z]]]]; \)

The image is traced using a graph.

\(Clear[f, z]; 
f[z_]\  = \ \ I\ \@\(1\  - \ z\^2\); 

    zplane\  = \ 
      CartesianMap[Identity, {0, 2.5, 0.5}, {0.00005, 1.35005, 0.09}, 
        PlotRange -> {{0, 2.5}, {0, 1.35}}, 
        AspectRatio -> 2.5\/1.35, 
        PlotRegion -> {{0.2, 0.8}, {0.2, 0.8}}, 
        Ticks -> {Range[0, 2, 1], Range[0, 1, 1]}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      CartesianMap[f, {0, 2.5, 0.5}, {0.00005, 1.35005, 0.09}, 
        PlotRange -> {{0, 2.5}, {0, 1.8}}, AspectRatio -> 1.8\/2.5, 
        Ticks -> {Range[0, 2, 1], Range[0, 1, 1]}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}], 
        DisplayFunction -> $DisplayFunction]; 

    Print["       The mapping  w = ", f[z]]; \)

GoTo Chapter 9

Section 9.4  Mapping Involving Trigonometric Functions

The trigonometric functions can be expressed with compositions that involve the exponential
function followed by a bilinear function.  We will be able to find images of certain regions by
following the shapes of successive images in the composite mapping.

Load Mathematica's  ComplexMap package.
Make sure this is done only ONCE during a Mathematica  session.

Get["Graphics`ComplexMap`"]

Example 9.12,  Page 303.  The transformation   w  =  tan(z)   is a one-to-one 
conformal mapping of the vertical strip  |x| < (π/4)   onto the disk  |w| < 1.

\(Clear[f, f1, g, w, z]; 
f[z_]\  = \ \ Tan[z]; 

    Print["f[z] = ", f[z]]; \)

Which is the same as the following function  g(z).

\(g[z_]\  = \ \ 
      \(I\ 
          \((1 - E\^\(I\ 2\ z\))\)\)\/\(1 + 
          E\^\(I\ 2\ z\)\); 

    Print["g[z] = ", g[z]]; \)

The first function in this composition is  (Subscript[f, 1])(z).

\(f1[z_]\  = \ \ E\^\(I\ 2\ z\); 

    Print["f1[z] = ", f1[z]]; \)

The image is traced using a graph.

\(Clear[f, z]; 
f[z_]\  = \ \ Tan[z]; 

    zplane\  = \ 
      CartesianMap[
        Identity, {\(-π\)\/4, π\/4, π\/24}, {\(-2\), 2, 0.2}, 
        AspectRatio -> 2, 
        Ticks -> {Range[0, 1, 1], Range[\(-2\), 2, 1]}, 
        PlotRange -> {{\(-1.05\), 1.05}, {\(-2.1\), 2.1}}, 
        PlotRegion -> {{0.2, 0.8}, {0.2, 0.8}}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    Zplane\  = \ 
      CartesianMap[
        f1, {\(-π\)\/4, π\/4, π\/24}, {\(-2\), 2, 0.2}, 
        AspectRatio -> 6.1\/3.1, 
        PlotRegion -> {{0.15, 0.85}, {0.15, 0.85}}, 
        Ticks -> {Range[0, 3, 1], Range[\(-3\), 3, 1]}, 
        PlotRange -> {{\(-0.05\), 3.5}, {\(-3.5\), 3.5}}, 
        AxesLabel -> {"X", "Y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      CartesianMap[f, {\(-π\)\/4, π\/4, π\/24}, {\(-2\), 2, 0.2}, 
        AspectRatio -> 1, 
        Ticks -> {Range[\(-1\), 1, 1], Range[\(-1\), 1, 1]}, 
        PlotRange -> {{\(-1.05\), 1.05}, {\(-1.05\), 1.05}}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; \ 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, Zplane, wplane}], 
        DisplayFunction -> $DisplayFunction]; 

    Print["         The mapping  w = ", f[z]]; \)

Thus, the image of the vertical strip   |x| < (π/4)   is the disk   |w| < 1.

Example 9.13,  Page 304.  The transformation  w  =  f(z) = sin(z)  is a one-to-one
conformal mapping of the vertical  strip  |x| < (π/2)  onto the w-plane slit along the rays  
u ≤ - 1, v = 0  and  1 ≤ u, v = 0.

\(Clear[f, graphs, wplane, z, zplane]; 
f[z_]\  = \ Sin[z]; 

    Print["f[z] = ", f[z]]; \)

The image is traced using a graph.

\(Clear[f, z]; 
f[z_]\  = \ Sin[z]; 

    zplane\  = \ 
      CartesianMap[
        Identity, {\(-π\)\/2, π\/2, π\/12}, {\(-2.5\), 2.5, 
          0.25}, AspectRatio -> 1, 
        Ticks -> {Range[\(-2\), 2, 1], Range[\(-2\), 2, 1]}, 
        PlotRange -> {{\(-2.6\), 2.6}, {\(-2.6\), 2.6}}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      CartesianMap[
        f, {\(-π\)\/2, π\/2, π\/12}, {\(-2.25\), 2.25, 0.25}, 
        AspectRatio -> 1, 
        Ticks -> {Range[\(-3\), 3, 1], Range[\(-3\), 3, 1]}, 
        PlotRange -> {{\(-3.05\), 3.05}, {\(-3.05\), 3.05}}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; \ 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}], 
        DisplayFunction -> $DisplayFunction]; 

    Print["         The mapping  w = ", f[z]]; \)

Thus, the image of the vertical strip   |x| < (π/2)   is the 
w-plane slit along the rays  u ≤ - 1, v = 0  and  1 ≤ u, v = 0.

Figure 9.18,  Page 307.  The transformation  w  =  f(z) = arcsin(z)  is a one-to-one
conformal mapping of the first quadrant  x > 0,  y > 0  onto the semi-infinite strip  
|u| < (π/2) ,  v > 0.

\(Clear[f, graphs, wplane, z, zplane]; 
f[z_]\  = \ ArcSin[z]; 

    Print["f[z] = ", f[z]]; \)

The image is traced using a graph.

\(Clear[f, z]; 
f[z_]\  = \ ArcSin[z]; 

    zplane\  = \ 
      CartesianMap[Identity, {0, 4, 0.2}, {0, 4, 0.2}, AspectRatio -> 1, 
        Ticks -> {Range[0, 4, 1], Range[0, 4, 1]}, 
        PlotRange -> {{\(-0.1\), 4.1}, {\(-0.1\), 4.1}}, 
        AxesLabel -> {"x", "y"}, 
        DisplayFunction -> Identity]; \ 

    wplane\  = \ 
      CartesianMap[f, {0, 4, 0.2}, {0, 4, 0.2}, AspectRatio -> 1, 
        Ticks -> {Range[0, 2, 1], Range[0, 2, 1]}, 
        PlotRange -> {{\(-0.1\), 2.6}, {\(-0.1\), 2.6}}, 
        AxesLabel -> {"u", "v"}, 
        DisplayFunction -> Identity]; \ 

    graphs\  = \ 
      Show[GraphicsArray[{zplane, wplane}], 
        DisplayFunction -> $DisplayFunction]; 

    Print["      The mapping  w = ", f[z]]; \)

Thus, the image of the first quadrant  x > 0,  y > 0  is the semi-infinite strip  |u| < (π/2),  v > 0.

Example 9.14,  Page 308.  Find the principal value of  Arcsin(1 + i).

\(Clear[u, v, x, y]; 

    u[x_, y_]\  = \ 
      ArcSin[\(\@\(\((x + 1)\)\^2 + y\^2\) - 
            \@\(\((x - 1)\)\^2 + y\^2\)\)\/2]; 

    v[x_, y_]\  = \ 
      Sign[y]\ ArcCosh[
          \(\@\(\((x + 1)\)\^2 + y\^2\) + \@\(\((x - 1)\)\^2 + y\^2\)\)\/2]; 
    
Print["u[x,y] = ", u[x, y]]; 
Print["v[x,y] = ", v[x, y]]; 

    Print[" "]; 

    Print["u[1,1]+I v[1,1] = ", 
      u[1, 1] + I\ v[1, 1]]; 

    Print["u[1,1]+I v[1,1] = ", 
      N[u[1, 1] + I\ v[1, 1]]]; 

    Print["    ArcSin[1+I] = ", ArcSin[1 + I]]; 

    Print["   ArcSin[1+I] = ", N[ArcSin[1 + I]]]; 
    \)

GoTo Chapter 9