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 3  ANALYTIC and HARMONIC FUNCTIONS

u = v = w = x = y = z = Z = 
                    0; 
Clear[a, b, difQuotient, dfdt, 
        dfdx, Δf, ΔfΔx, ΔfΔy, ΔfΔz, Δw, Δx, Δy, Δz, E1, 
        E2, E3, E4, E5, f, F, g, g1, g2, g3, g4, g5, lap, lim, L1, L2, sub, 
        u, Ux, Uy, Uθ, v, v1, v2, v3, Vx, Vy, Vθ, w, x, x0, y, 
        y0, z, z0, Z];

Section 3.1  Differentiable and Analytic Functions

Does the notion of a derivative of a complex function make sense? If so, how should it be defined, and what does it represent? These and other questions will be the focus of the next few sections.
	
	Using our imagination, we take our lead from elementary Calculus and define the derivative of f at (Subscript[z, 0]), written f' ((Subscript[z, 0])).    

Definition (Complex Derivative),  Page 93.  The definition for the derivative of  f(z)  at  z = (Subscript[z, 0])  is similar to that for real functions  

			\(f' \((z\_0)\) = 
        lim\+\(z\  -> \ z\_0\)\ \(f \((z)\)\  - \ f \((z\_0)\)\)\/\(z\  - \ z\_0\)\),

provided that the limit exists. When this happens, we say that the function f is differentiable at (Subscript[z, 0]). If we write Δz = z - (Subscript[z, 0]), then definition of derivative can be expressed in the form  

			\(f' \((z\_0)\) = 
        lim\+\(Δz\  -> \ 0\)\ \(f \((z\_0 + Δz)\)\  - \ f \((z\_0)\)\)\/Δz\).  
  
	If we let w=f(z) and Δw = f (z) - f ((Subscript[z, 0])), then the we can use Leibniz's notation (dw/dz) for the derivative:  

			\(f' \((z\_0)\) = \(dw\/dz = 
          lim\+\(Δz\  -> \ 0\)\ Δw\/Δz\)\).

Illustrative Example for Page 93.  Use the limit definition to find the derivative of  f' ((Subscript[z, 0])).

Solution for Illustrative Example, Page 93.

Clear[Δw, Δz, f, z, 
        z]; 
lim = 
        Limit[((f[Z] - f[(Subscript[z, 0])])/(Z - (Subscript[z, 0]))), Z -> (Subscript[z, 0]), 
          Analytic -> True]; 
\(\(Print[\*""(lim_(z -> (Subscript[z, 0]))) ((f[z] - f[(Subscript[z, 0])])/(z - (Subscript[z, 0]))) = "", lim];\)\ \)

\(
\(lim = 
        Limit[\(f[z\_0 + Δz] - f[z\_0]\)\/Δz, Δz -> 0, 
          Analytic -> True];\)\ \)
\(\(Print[\*""(lim_(Δz -> 0)) ((f[(Subscript[z, 0]) + Δz] - f[(Subscript[z, 0])])/Δ)z = "", 
        lim];\)\ \)

\(
\(Δw = 
        f[z\_0 + Δz] - f[z\_0];\)\ \)
lim = 
        Limit[Δ(w/Δ)z, Δz -> 0, 
          Analytic -> True]; 
\(\(Print[\*""(lim_(Δz -> 0)) Δ(w/Δ)z = "", 
        lim];\)\ \)

Example 3.1,  Page 94.  Use the limit definition to find the derivative of  f (z) = (z^3).

Solution 3.1.

Enter the function f[z].

Clear[
        difQuotient, ΔfΔz, f, lim, sub, z, 
        Z]; 
f[z_]  =  (z^3); 
Print["f(z) = ", f[z]];

Form the difference quotient.

ΔfΔz  =  ((f[Z] - f[(Subscript[z, 0])])/(Z  -  (Subscript[z, 0]))); 
\(\(Print[\*""Δ(f/Δ)z = \!\(\(f[z] - f[z\_0]\)\/\(z\\  - \\ z\_0\)\)""];\)\ \)
\(\(Print[\*""Δ(f/Δ)z = "", ΔfΔz];\)\ \)

Observe that substitution of   (Subscript[z, 0])  for  z  indeterminate.

\(
\(sub0\  = \ 
        ReplaceAll[ΔfΔz, 
          Z\  -> \*""\!\(z\_0\)""];\)\ \)
sub1  =  
        ReplaceAll[ΔfΔz, 
          Z  -> (Subscript[z, 0])]; 
\(\(Print[\*""Substitute Z = (Subscript[z, 0]), Δ(f/Δ)z = "", ΔfΔz];\)\ \)
\(\(Print[\*""              Get  Δ(f/Δ)z = "", 
        sub0];\)\ \)
\(\(Print[\*""                   Δ(f/Δ)z = "", 
        sub1];\)\ \)

Calculate the derivative as the limit of the difference quotient.

lim  =  
        Limit[ΔfΔz,  
          Z -> (Subscript[z, 0])]; 
\(\(Print[\*""(df/dz) = (lim_(Δz -> 0)) \!\(\(f[z] - f[z\_0]\)\/\(z\\  - \\ z\_0\)\)""];\)\ \)
\(\(Print[\*""(df/dz) = (lim_(Δz -> 0)) "", ΔfΔz];\)\ \)
\(\(Print[\*""\!\(df\/dz\) = "", 
        lim];\)\ \)

Notice that the difference quotient can be simplified before substitution of  (Subscript[z, 0])  for  z  and can be used to find the derivative.

difQuotient  =  
        Simplify[ΔfΔz]; 
n  =  
        Factor[Numerator[ΔfΔz]]; 
d = Denominator[ΔfΔz]; 
sub  =  
        ReplaceAll[difQuotient, 
          Z  -> (Subscript[z, 0])]; 
\(\(Print[\*""(df/dz) = (lim_(Δz -> 0)) \!\(\(f[z] - f[z\_0]\)\/\(z\\  - \\ z\_0\)\)""];\)\ \)
\(\(Print[\*""(df/dz) = (lim_(Δz -> 0)) "", ΔfΔz];\)\ \)
\(\(Print[\*""(df/dz) = (lim_(Δz -> 0)) "", n, "/(", d, ")"];\)\ \)
\(\(Print[\*""(df/dz) = (lim_(Δz -> 0)) ("", difQuotient, ")"];\)\ \)
\(\(Print[\*""\!\(df\/dz\) = "", 
        sub];\)\ \)

Hence we have used the limit definition to find the derivative of  f[z]  at the point  (Subscript[z, 0]).  
Thus, the derivative of   f (z)=(z^3)  is  f'(z)=3  (z^2).

We must pay careful attention to the complex value Δz in the definition of the derivative, since the value of the limit must be independent of the manner in which Δz -> 0. If we can find two curves that end at (Subscript[z, 0]) along which Δ(w/Δ)z approaches distinct values, then Δ(w/Δ)z does not have a limit as Δz -> 0 and f does not have a derivative at (Subscript[z, 0]).  The same kind of remark applies for the other two limits used to define the derivative.

Example 3.2,  Page 94.  Use the limit definition to show that \(f \((z)\) = \(\(z\)\(\ \)\)\&_\) is NOWHERE differentiable.

Solution 3.2.

Clear[Δf, ΔfΔx, ΔfΔy, Δx, Δy, f, x, y, z]; 
f[z_]  =  Conjugate[z]; 
Print["f(z) = ", f[z]];

First, form the difference quotient using  Δz = Δx.

ΔfΔx  =  ((f[(Subscript[x, 0])  +  Δx  +  I (Subscript[y, 0])] - f[(Subscript[x, 0])  +  I (Subscript[y, 0])])/((Subscript[x, 0])  +  Δx  +  I (Subscript[y, 0])   -  (Subscript[x, 0])  -  I (Subscript[y, 0]))); 
n = 
        ComplexExpand[
          Numerator[ΔfΔx]]; 
d = 
        ComplexExpand[
          Denominator[ΔfΔx]]; 
\(\(Print[\*""(df/dz) = (lim_(Δx -> 0)) \!\(\(f[x\_0\\  + \\ Δx\\  + \\ I\\ y\_0] - f[x\_0\\  + \\ I\\ y\_0]\)\/\(x\_0\\  + \\ Δx\\  + \\ I\\ y\_0\\ \\  - \\ x\_0\\  - \\ I\\ y\_0\)\)""];\)\ \)
Print[""]; 
\(\(Print[\*""Δ(f/Δ)x = "", ΔfΔx];\)\ \)
\(\(Print[\*""\!\(Δf\/Δx\) = "", 
        n, "/", d];\)\ \)
ΔfΔx  =  
        ComplexExpand[ΔfΔx]; 
\(\(Print[\*""Δ(f/Δ)x = "", ΔfΔx];\)\ \)

And this limit is easy to compute.

\(
\(Print[\*""(lim_(Δz -> 0)) Δ(f/Δ)z = (lim_(Δx -> 0)) "", n, "/", d, " = ", 
        Limit[ΔfΔx, Δx -> 
            0]];\)\ \)
Print["where  Δz = Δx"];

Second, form the difference quotient using  Δz = i Δy.

ΔfΔy  =  ((f[(Subscript[x, 0])  +  I ((Subscript[y, 0]) + Δy)] - f[(Subscript[x, 0])  +  I (Subscript[y, 0])])/((Subscript[x, 0])  +  I ((Subscript[y, 0]) + Δy)   -  (Subscript[x, 0])  -  I (Subscript[y, 0]))); 
n = 
        ComplexExpand[
          Numerator[ΔfΔy]]; 
d = 
        ComplexExpand[
          Denominator[ΔfΔy]]; 
\(\(Print[\*"" (df/dz) = (lim_(Δy -> 0)) \!\(\(f[x\_0\\  + \\ I \((y\_0 + Δy)\)] - f[x\_0\\  + \\ I\\ y\_0]\)\/\(x\_0\\  + \\ I \((y\_0 + Δy)\)\\ \\  - \\ x\_0\\  - \\ I\\ y\_0\)\)""];\)\ \)
Print[""]; 
\(\(Print[\*""\!\(Δf\/\(I\\ Δy\)\) = "", ΔfΔy];\)\ \)
\(\(Print[\*""\!\(Δf\/\(I\\ Δy\)\) = "", n, "/", d];\)\ \)
ΔfΔy  =  
        ComplexExpand[ΔfΔy]; 
\(\(Print[\*""\!\(Δf\/\(I\\ Δy\)\) = "", ΔfΔy];\)\ \)

And this limit is easy to compute.

\(
\(Print[\*""(lim_(Δz -> 0)) Δ(f/Δ)z = (lim_(Δy -> 0)) "", n, "/", d, " = ", 
        Limit[ΔfΔy, Δy -> 
            0]];\)\ \)
Print["where  Δz = \[ImaginaryI] \
Δy"];

Since the two limits are different for any point  (Subscript[z, 0]),  f' ((Subscript[z, 0]))  does NOT exist for any  (Subscript[z, 0]).

\(
\(Print[\*""(lim_(Δz -> 0)) Δ(f/Δ)z = "", 
        Limit[ΔfΔx, Δx -> 
            0], ",   where  Δz = Δx"];\)\ \)
\(\(Print[\*""(lim_(Δz -> 0)) Δ(f/Δ)z = "", 
        Limit[ΔfΔy, Δy -> 
            0], ",  where  Δz = I Δy"];\)\ \)

Aside.  Mathematica will NOT differentiate  \(f \((z)\) = \(\(z\)\(\ \)\)\&_\).

Print[" f[x] = ", 
        f[x]]; 
Print["f'[x] = ", f'[x]];

The limit definition has shown that \(f \((z)\) = \(\(z\)\(\ \)\)\&_\) is NOWHERE differentiable.

Remark 3.1. In Section 2.4 we showed that \(f \((z)\) = \(\(z\)\(\ \)\)\&_\) is continuous for all z. We have here, then, a rather simple example of a function that is continuous everywhere but differentiable nowhere. Such functions are hard to construct in real variables. In some sense, the complex case has made pathological constructions simpler!

	We are seldom interested in studying functions that aren't differentiable, or differentiable only at only a single point. Complex functions that have a derivative at all points in a neighborhood of (Subscript[z, 0]) deserve further study. In Chapter 7 we will learn that if the complex function f can be represented by a Taylor series at (Subscript[z, 0]), then it must be differentiable in some neighborhood of (Subscript[z, 0]). Functions that are differentiable in neighborhoods of points are pillars of the Complex Analysis edifice;  we give them a special name as the following definition indicates.

Definition 3.1 (Analytic Function),  Page 95.  We say that the complex function f is analytic at the point (Subscript[z, 0]) provided there is some ϵ > 0 such that f' (z) exists for all z ∈ (Subscript[D, ϵ]) ((Subscript[z, 0])). In other words, f must be differentiable not only at (Subscript[z, 0]), but also at all points in some ϵ-neighborhood of (Subscript[z, 0]).

If f is analytic at each point in the region R, then we say that f is analytic on R. Again, we have a special term if f is analytic on the whole complex plane.

Definition 3.2 (Entire Function),  Page 96.  If f is analytic on the whole complex plane then f is said to be entire.

Points of nonanalyticity for a given function are called singular points. They are important for certain applications in physics and engineering. 
	
	Our definition of the derivative for complex functions is formally the same as for real functions and is the natural extension from real variables to complex variables. The basic differentiation formulas follow identically as in the case of real functions, and we obtain the same rules for differentiating powers, sums, products, quotients, and compositions of functions. The proof of the differentiation formulas are easily established by using the limit theorems.
	
	Suppose that f and g are differentiable. From the limit definition of derivatives and properties of limits, we can establish the following rules that are virtually identical to real valued functions.

The Rules for Differentiation on Page 96.
Derivative of  (i) a scalar multiple, (ii) a linear combination, (iii) a product of two functions, (iv) the quotient of two functions, (v) the composition of two functions.

Solution for the Rules on Page 96.

Enter the functions and differentiate.
First, find the derivative of a scalar multiple.

Clear[a, b, f, F, g1, g2, g3, g4, g5, 
        z]; 
c  =  a  +  I b; 
g1[z_]  =  c f[z]; 
g1'[z]; 
Print["Derivative of a scalar multiple."]; 
Print[" F[z] = ", g1[z]]; 
Print[" F[z] = ", Expand[g1[z]]]; 
Print[" "]; 
Print["F'[z] = ", g1'[z]]; 
Print["F'[z] = ", 
        Expand[g1'[z]]];

Second, find the derivative of a linear combination.

g2[
          z_]  =  ((Subscript[a, 1]) + I (Subscript[b, 1])) f[
              z]  +  ((Subscript[a, 2]) + I (Subscript[b, 2])) g[z]; 
g2'[z]; 
Print["Derivative of a linear combination."]; 
Print[" F[z] = ", g2[z]]; 
Print[" F[z] = ", Expand[g2[z]]]; 
Print[" "]; 
Print["F'[z] = ", g2'[z]]; 
Print["F'[z] = ", 
        Expand[g2'[z]]];

Third, find the derivative of a product of two functions.

g3[z_]  =  f[z] g[z]; 
g3'[z]; 
Print["Derivative of the product of two functions."]; 
Print[" F[z] = ", g3[z]]; 
Print["F'[z] = ", g3'[z]];

Fourth, find the derivative of the quotient of two functions.

g4[z_]  =  f[z]/g[z]; 
Print["Derivative of the quotient of two functions."]; 
Print[" F[z] = ", g4[z]]; 
Print["F'[z] = ", 
        Together[g4'[z]]];

Fifth, find the derivative of the composition of two functions.

g5[z_]  =  f[g[z]]; 
g5'[z]; 
Print["Derivative of the composition of two functions."]; 
Print[" F[z] = ", g5[z]]; 
Print["F'[z] = ", 
        Together[g5'[z]]];

Example 3.3,  Page 96.  Use the rules to find the derivative of  f (z) = (z^2) + i 2  z + 3,  and then use this result to find the derivative of  \(F \((z)\)\  = \(\((f[z])\)\^4 = \((z\^2 + i\ 2  z + 3)\)\^4\)\).

Solution 3.3.

Clear[f, g, w, z]; 
f[z_]  =  (z^2)  +  I 2  z  +  3; 
F[z_]  =  (((f[z]))^4); 
g[w_] = (w^4); 
Print[" f(z) = ", f[z]]; 
Print["f'(z) = ", f'[z]]; 
Print[" "]; 
Print[" g(w) = ", g[w]]; 
Print["g'(w) = ", g'[w]]; 
Print["g'(f(z)) = ", g'[f[z]]]; 
Print[" "]; 
Print[" F(z) = ", F[z]]; 
Print["F'(z) = ", F'[z]]; 
Print[" "]; 
Print["F'(z) = g'[f[z] f'[z]"]; 
Print["F'(z) = ", g'[f[z]] f'[
            z]];

The proofs of the above rules given in equations 3.4-3.10 depend on the validity of extending theorems for real functions to their complex companions. Equation (3-8), for example, relies on Theorem 3.1.

Theorem 3.1,  Page 97.  If  f(z)  is differentiable at  (Subscript[z, 0])  then  f(z)  is continuous at  (Subscript[z, 0]).

Proof of Theorem 3.1, see text Page 97.

We close this section with some important theorems that are complex extensions of results from Calculus which is attributed to the Marquis de L'Hôpital.

Theorem 3.2, (L'Hôpital's Rule), Page 98. Assume that f(z) and g(z) are both analytic at (Subscript[z, 0]). If f ((Subscript[z, 0])) = 0, g ((Subscript[z, 0])) = 0, and g' ((Subscript[z, 0])) ≠ 0  then  
			\(lim\+\(z -> z\_0\)\ \(f \((z)\)\)\/\(g \((z)\)\) = \(f' \((z\_0)\)\)\/\(g' \((z\_0)\)\)\).

Proof of Theorem 3.2.  We defer the proof until Chapter 7, where we will learn some amazing things about analytic functions.

Demonstration for L'Hospital's Rule, Page 98.

Mathematica can do it all, however care must be taken with the higher derivative cases.  Make the assumption that  f ((Subscript[z, 0])) = 0  and  g ((Subscript[z, 0])) = 0.

Clear[f, g, lim, z]; 
f[(Subscript[z, 0])]  =  0; 
g[(Subscript[z, 0])]  =  0; 
lim  =  
        Limit[f[Z]/g[Z],  Z -> (Subscript[z, 0]),  
          Analytic -> True]; 
\(\(Print[\*""     f[\!\(z\_0\)] = "", f[z\_0]];\)\ \)
\(\(Print[\*""     g[\!\(z\_0\)] = "", g[z\_0]];\)\ \)
\(\(Print[\*""    f'[\!\(z\_0\)] = "", \(f'\)[z\_0]];\)\ \)
\(\(Print[\*""    g'[\!\(z\_0\)] = "", \(g'\)[
          z\_0]];\)\ \)
Print[""]; 
\(\(Print[\*""    \!\(f[z\_0]\/g[z\_0]\) = "", f[z\_0], "/", 
        g[z\_0]];\)\ \)
\(\(Print[\*""    \!\(f[z\_0]\/g[z\_0]\) = "", 
        f[z\_0]\/g[z\_0]];\)\ \)
Print[""]; 
\(\(Print[\*""\!\(lim\+\(z -> z\_0\)\) \!\(f[z]\/g[z]\) = "", 
        lim];\)\ \)

Now, make the second additional assumption that  f' ((Subscript[z, 0]))=0  and  g'((Subscript[z, 0]))=0.

Clear[f, g, lim, z]; 
f[(Subscript[z, 0])]  =  0; 
g[(Subscript[z, 0])]  =  0; 
f'[(Subscript[z, 0])]  =  0; 
g'[(Subscript[z, 0])]  =  0; 
lim  =  
        Limit[f[Z]/g[Z],  Z -> (Subscript[z, 0]),  
          Analytic -> True]; 
\(\(Print[\*""      f[\!\(z\_0\)] = "", f[z\_0]];\)\ \)
\(\(Print[\*""      g[\!\(z\_0\)] = "", g[z\_0]];\)\ \)
\(\(Print[\*""     f'[\!\(z\_0\)] = "", \(f'\)[
          z\_0]];\)\ \)
\(\(Print[\*""     g'[\!\(z\_0\)] = "", \(g'\)[
          z\_0]];\)\ \)
\(\(Print[\*""    f''[\!\(z\_0\)] = "", \(\(f'\)'\)[
          z\_0]];\)\ \)
\(\(Print[\*""    g''[\!\(z\_0\)] = "", \(\(g'\)'\)[
          z\_0]];\)\ \)
Print[""]; 
\(\(Print[\*""     \!\(f[z\_0]\/g[z\_0]\) = "", f[z\_0], "/", 
        g[z\_0]];\)\ \)
\(\(Print[\*""    \!\(\(f'\)[z\_0]\/\(g'\)[z\_0]\) = "", \(f'\)[
          z\_0], "/", \(g'\)[z\_0]];\)\ \)
Print[""]; 
\(\(Print[\*""      \!\(f[z\_0]\/g[z\_0]\) = "", 
        f[z\_0]\/g[z\_0]];\)\ \)
Print[""]; 
\(\(Print[\*""  (lim_(z -> (Subscript[z, 0]))) f[z]/g[z] = "", lim];\)\ \)

The third additional assumption is that  f'' ((Subscript[z, 0]))=0  and  g''((Subscript[z, 0]))=0.

Clear[f, g, lim, z]; 
f[(Subscript[z, 0])]  =  0; 
g[(Subscript[z, 0])]  =  0; 
f'[(Subscript[z, 0])]  =  0; 
g'[(Subscript[z, 0])]  =  0; 
f''[(Subscript[z, 0])]  =  0; 
g''[(Subscript[z, 0])]  =  0; 
lim  =  
        Limit[f[Z]/g[Z],  Z -> (Subscript[z, 0]),  
          Analytic -> True]; 
\(\(Print[\*""       f[\!\(z\_0\)] = "", f[z\_0]];\)\ \)
\(\(Print[\*""       g[\!\(z\_0\)] = "", g[z\_0]];\)\ \)
\(\(Print[\*""      f'[\!\(z\_0\)] = "", \(f'\)[
          z\_0]];\)\ \)
\(\(Print[\*""      g'[\!\(z\_0\)] = "", \(g'\)[
          z\_0]];\)\ \)
\(\(Print[\*""     f''[\!\(z\_0\)] = "", \(\(f'\)'\)[
          z\_0]];\)\ \)
\(\(Print[\*""     g''[\!\(z\_0\)] = "", \(\(g'\)'\)[
          z\_0]];\)\ \)
\(\(Print[\*""    f'''[\!\(z\_0\)] = "", \(\(\(f'\)'\)'\)[
          z\_0]];\)\ \)
\(\(Print[\*""    g'''[\!\(z\_0\)] = "", \(\(\(g'\)'\)'\)[
          z\_0]];\)\ \)
Print[""]; 
\(\(Print[\*""      \!\(f[z\_0]\/g[z\_0]\) = "", f[z\_0], "/", 
        g[z\_0]];\)\ \)
\(\(Print[\*""     \!\(\(f'\)[z\_0]\/\(g'\)[z\_0]\) = "", \(f'\)[
          z\_0], "/", \(g'\)[z\_0]];\)\ \)
\(\(Print[\*""    \!\(\(f''\)[z\_0]\/\(g''\)[z\_0]\) = "", \(f''\)[
          z\_0], "/", \(g''\)[z\_0]];\)\ \)
Print[""]; 
\(\(Print[\*""       \!\(f[z\_0]\/g[z\_0]\) = "", 
        f[z\_0]\/g[z\_0]];\)\ \)
Print[""]; 
\(\(Print[\*""   (lim_(z -> (Subscript[z, 0]))) f[z]/g[z] = "", lim];\)\ \)

An Extra Example for Page 98.  Use L'Hopital's rule to find  \(lim\+\(z -> 1 + i\)\(z\^2\  + \ z\  - \ 1\  - \ 3  i\)\/\(z\^2\  - \ 2  z\  + \ 2\)\).

Solution for Extra Example Page 98.

Clear[f, g, lim, z]; 
f[z_]  =  
        (z^2)  +  z  -  1  -  3  I; 
g[z_]  =  (z^2)  -  2  z  +  2; 
Print["f[z] = ", f[z]]; 
Print["g[z] = ", g[z]];

Direct substitution of   z = 1 + i  is indeterminate.

\(
\(Print[\*""f[1 + I]/g[1 + I] = "", f[1 + I], "/", 
        g[1 + I]];\)\ \)
\(\(Print[\*""f[1 + I]/g[1 + I] = "", f[1 + I]\/g[1 + I]];\)\ \)

Find the limit as  z -> 1 + i.

lim  =  
        Limit[f[z]/g[z], z -> 1 + I]; 
\(\(Print[\*""(lim_(z -> 1 + i)) f[z]/g[z] = (lim_(z -> 1 + i)) "", 
        f[z]\/g[z]];\)\ \)
\(\(Print[\*""(lim_(z -> 1 + i)) f[z]/g[z] = (lim_(z -> 1 + i)) "", 
        Factor[f[z]]\/Factor[g[z]]];\)\ \)
\(\(Print[\*""           = \!\(lim\+\(z -> 1 + i\)\) "", 
        Cancel[f[z]\/g[z]]];\)\ \)
Print["           =  ", lim];

Which agrees with the L'Hopital rule computation.

lim  =  
        Limit[f'[z]/(g')[z], 
          z -> 1 + I]; 
\(\(Print[\*""(lim_(z -> 1 + i)) f'[z]/(g')[z] = (lim_(z -> 1 + i)) "", \(f'\)[z]\/\(g'\)[z]];\)\ \)
Print["            = ", lim]

Which agrees with evaluation of the quotient  f'[1 + i]/(g')[1 + i].

Print["  f'[1+\[ImaginaryI]] = ", f'[
          1 + I]]; 
Print["  g'[1+\[ImaginaryI]] = ", g'[
          1 + I]]; 
Print[""]; 
\(\(Print[\*""f'[1 + I]/(g')[1 + I] = ("", \(f'\)[1 + I], ")/", \(g'\)[
          1 + I]];\)\ \)
\(\(Print[\*""f'[1 + I]/(g')[1 + I] = "", \(f'\)[1 + I]\/\(g'\)[1 + I]];\)\ \)

Theorem 3.3,  Page 98.  Let f=u+iv be an analytic function in the domain D. Suppose for all z ∈ D that|f (z)|≡K, where K is a constant. Then f is constant in D.

Proof of Theorem 3.3, see text Page 98.

Library Research Experience for Undergraduates

Project I. Write a report on Rolle's Theorem and/or the Mean Value Theorem for complex functions.

1. Dotson, W.G., (1968), ''A Note on Complex Polynomials Having Rolle's Property and the Mean Value Property for Derivatives,'' Math. Mag., Vol. 41 pp. 140-144.

2. Evard, J.-Cl., and F. Jafari,''A Complex Rolle's Theorem,'' Am. Math. M., Vol. 99, No. 9. (Nov., 1992), pp. 858-861, Jstor.   

3. Marden, Morris, ''The Search for a Rolle's Theorem in the Complex Domain,'' Am. Math. M., Vol. 92, No. 9. (Nov., 1985), pp. 643-650, Jstor.   

4. Samuelsson, Ake, ''A Local Mean Value Theorem for Analytic Function (in Math. Notes),'' Am. Math. M., Vol. 80, No. 1. (Jan., 1973), pp. 45-46, Jstor.   

5. Rubinstein, Zalman, (1969), ''On Analytic Functions Satisfying the Mean Value Theorem and a Conjecture of W.G. Dotson,'' Math. Mag., Vol. 42, pp. 256-259.

6. Schoenberg, I. J., ''A Conjectured Analogue of Rolle's Theorem for Polynomials with Real or Complex Coefficients,'' Am. Math. M., Vol. 93, No. 1. (Jan., 1986), pp. 8-13, Jstor.

Section 3.1  Exercises for Differentiable and Analytic Functions
See textbook page 99.

Section 3.2	The Cauchy-Riemann Equations

Section 3.3	Analytic Functions and Harmonic Functions

GO TO  THE  Table of Contents