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 8   RESIDUE THEORY

a = t = x = y = z = Z = 
                  0; 
Clear[A, center, centers, dot, dots, f, f0, F, g, G, i, p, R, Res, 
        Res1, Res2, Res3, Res4, Res5, Res6, solset, sub, S, t, θ, val, 
        x, y, z, z1, z2, z3, z4, z5, z6, Z]; 
Needs["Graphics`Colors`"]; 
Needs["Graphics`FilledPlot`"];

Section 8.1	The Residue Theorem

Section 8.2	Calculation of Residues

Section 8.3	Trigonometric Integrals

Section 8.4	Improper Integrals of Rational Functions

Section 8.5	Improper Integrals Involving Trigonometric Functions

Section 8.6	Indented Contour Integrals

Section 8.7	Integrands with Branch Points

Section 8.8  The Argument Principle and Rouche's Theorem

We will now derive two results based on Cauchy's Residue Theorem.  They have important practical applications and pertain only to functions all of whose isolated singularities are poles.

Definition 8.3 (Meromorphic Function), Page 344.  A function f is said to be meromorphic in a domain D provided that the only singularities of f are isolated poles and removable singularities.

We make three important observations relating to this definition.

(i).   Analytic functions are a special case of meromorphic functions.

(ii).  Rational functions f (z) = ((P (z))/(Q (z))), where P(z) and Q(z) are polynomials, are meromorphic in the entire complex plane.

(iii). By definition, meromorphic functions have no essential singularities.

Observe that analytic functions are a special case of meromorphic functions.  Rational functions  f (z) = ((P (z))/(Q (z))),  where  P(z)  and  Q(z)  are polynomials, are meromorphic in the entire complex plane.  A meromorphic function does not have essential singularities!

Suppose that  f(z)  is analytic at each point on a simple closed contour  C  and  f(z)  is meromorphic in the domain that is the interior of  C.  An extension of Theorem 7.13 can be made that shows that  f(z)  has at most finitely many zeros that lie inside  C.  Since the function  g (z) = (1/(f (x)))  is also meromorphic, it can have only finitely many zeros inside  C. Therefore  f(z)  can have at most a finite number of poles that lie inside  C.

	Theorem 8 8, known as the argument principle, is useful in determining the number of zeros and poles a function has.

Theorem 8.8 (Argument Principle), Page 344.  Let  f(z)  be meromorphic in the simply connected domain  D.  Let  C  be a simple closed positively oriented contour in  D  along which  f (z) ≠ 
        0  and  f (z) ≠ ∞.  Then  

	\(\(1\/\(2  π\ i\)\) \(∫\_C\ \(\(f' \((z)\)\)\/\(f \((z)\)\)\) dz\) = \ N\  - \ P\),  

where  N  is the number of zeros of  f(z)  that lie inside  C  and  P  is the number of poles that lie inside  C.

Proof of Theorem 8.8, see text Page 344.

Corollary 8.1, Page 345.  Suppose that  f(z)  is analytic in the simply connected domain  D.  Let  C  be a simple closed positively oriented contour in  D  such that for z ∈ C, f (z) ≠ 0.  Then  

			\(\(1\/\(2  π\ i\)\) \(∫\_C\ \(\(f' \((z)\)\)\/\(f \((z)\)\)\) dz\) = \ N\_f\),  

where  (Subscript[N, f])  is the number of zeros of  f(z)  that lie inside  C.

Proof of Corollary 8.1, see text Page 345.

Example 8.25, Page 348.  The image of the circle (Subscript[C, 2]) (0) under f (z)  =  (z^2) + z is the curve {(x, 
            y) = (4  cos 2  t + 2  cos t, 
              4  sin 2  t + 2  sin t) :  
            0 ≤ t ≤ 2  π}.  Show that the image of (Subscript[C, 2]) (0) winds twice around the origin.

Solution 8.25.

We consider the function  f (z)  =  (z^2) + z  and evaluate the integral  \(\(1\/\(2  π\ i\)\) \(∫\_C\ \(\(f' \((z)\)\)\/\(f \((z)\)\)\) dz\) = \ N\),
where  C  is the unit circle  C : |z| = 1.

Remove[z]; 
Clear[f, F, θ]; 
f[z_]  =  (z^2) + z; 
z[θ_]  =  
        2  (E^(I θ)); 
F[θ_]  = ∫f'[z[θ]]/f[
                  z[θ]] z'[θ] \[DifferentialD]θ; 
val  =  (∫_0^(2  π))f'[z[θ]]/f[
                  z[θ]] z'[θ] \[DifferentialD]θ; 
Print["              f[z] = ", f[z]]; 
Print["              z[θ] = ", z[θ]]; 
Print["           f[z[θ]] = ", 
        f[z[θ]]]; 
Print["             z'[θ] = ", z'[θ]]; 
\(\(Print[\*""   f'[z[θ]]/f[z[θ]] z'[θ] = "", \(f'\)[z[θ]]\/f[z[θ]]\ \(z'\)[θ]];\)\ \)
Print[""]; 
\(\(Print[\*""F[θ] = ∫f'[z[θ]]/f[z[θ]]z'[θ]\[DifferentialD]θ = "", 
        F[θ]];\)\ \)
Print["F[2π] = ", F[2  π], ",    F[0] = ", 
        F[0]]; 
Print[""]; 
\(\(Print["∫"\+0\%\(2  π\), \*""f'[z[θ]]/f[z[θ]]z'[θ]\[DifferentialD]θ = "", F[2  π], " - ", F[0], " = ", 
        F[2  π] - F[0]];\)\ \)
\(\(Print["∫"\+0\%\(2  π\), \*""f'[z[θ]]/f[z[θ]]z'[θ]\[DifferentialD]θ = "", val];\)\ \)
\(\(Print["∫"\+0\%\(2  π\), \*""f'[z[θ]]/f[z[θ]]z'[θ]\[DifferentialD]θ = "", ComplexExpand[val]];\)\ \)
dot = 
        Graphics[{Red, PointSize[0.03], 
            Point[{0, 0}]}]; 
\(\(center = 
        Graphics[{Text[\*""\!\(z\_0\)"", {0, 0 + 0.1}, {\(-1\), 
                0}]}];\)\ \)
contour  =  Graphics[{Magenta, Circle[{0, 0}, 2]}]; 
Show[center, contour, dot, 
        PlotRange -> {{-2.2, 2.2}, {-2.2, 2.2}}, 
        Ticks -> {Range[-2, 2, 1], 
            Range[-2, 2, 1]}, 
AspectRatio -> 1, 
        Axes -> True, 
        AxesLabel -> {"x", "y"}]; 
\(Print[\*""(∮_C) "", \(f'\)[z[θ]]\/f[z[θ]], " \[DifferentialD]z = ", 
      ComplexExpand[val]]\)
Print["The contour is the circle C: |z| = 2,"]; 
Print["with positive orientation."]; 
Print[""]; 
Print["The desired integral is"]; 
\(\(Print[\*""(1/(2  πI)) (∮_C) f'[z[θ]]/f[z[θ]] \[DifferentialD]z = "", \(1\/\(2  π\ I\)\) 
          ComplexExpand[val], ","];\)\ \)
Print["which is the winding number for the curve C."]; 
Print[""]; 
ParametricPlot[{Re[f[z[θ]]], Im[f[z[θ]]]}, {θ, 
          0, 2  π}, PlotRange -> {{-4.5, 6.5}, {-5.5, 5.5}}, 
        PlotStyle -> Magenta, 
        Ticks -> {Range[-5, 5, 1], 
            Range[-4, 6, 1]}, 
AspectRatio -> 1, 
        Axes -> True, 
        AxesLabel -> {"u", "v"}]; 
Print["The image curve f(C) of the circle C:|z| = 2"]; 
Print["under the mapping  w = f[z] = ", 
        f[z]]; 
Print["winds around the origin in the w-plane N = 2 times."]

Finally, we note that if g (z) = f (z) - a, then g' (z) = f (z), and thus we can generalize what we've just said to compute how many times the curve f (C) winds around the point a. Theorem 8.9 summarizes our discussion.

Now suppose that  f(z)  is analytic at each point on  C  and meromorphic inside  C.  Then  f(C)  is a closed curve in the w-plane. The value of  \(\(1\/\(2  π\ i\)\) \(∫\_C\ \(\(f' \((z)\)\)\/\(f \((z)\)\)\) dz\)\)  in Theorem 8.8 is the number of times that  f(C)  winds around the origin  w = 0  in the w-plane and is referred to as the winding number.

Theorem 8.9, Page 348. (Winding Number)  Suppose f is meromorphic in the simply connected domain D. If C is a simple closed, positively oriented contour in D such that for  z ∈ C, f (z) ≠ 0 and f (z) ≠ ∞, then  

				\(W \((f \((C)\), 
            a)\) = \(1\/\(2  π\ i\)\) \(∫\_C\ \(\(f' \((z)\)\)\/\(f \((z)\) - a\)\) dz\)\),  

known as the winding number of  f(C) about a, counts the number of times the curve f(C) winds around the point a. If a=0, the integral counts the number of times the curve f(C) winds around the origin.

We close this section with a result that will help us gain information about the location of the zeros and poles of meromorphic functions.

Theorem 8.10 (Rouche's Theorem), Page 349.  Suppose f and g be meromorphic functions defined in the simply connected domain D, and that C is a simple closed contour in D, and that f and g have no zeros or poles for z ∈ C.  If the strict inequality \(\(\(|\)\(f \((z)\) + 
          g \((z)\)\)\(|\)\(\(<\)\(\(|\)\(f \((z)\)\)\(|\)\(+\(\(|\)\(g \((z)\)\)\(|\)\)\)\)\)\)\)  holds for all z ∈ C , then  (Subscript[Z, f]) - (Subscript[P, f]) = (Subscript[Z, g]) - (Subscript[P, g]).

Proof of Theorem 8.10, see text Page 349.

Corollary 8.2, Page 350.  Let f and g be analytic functions defined in the simply connected domain D, and C be a simple closed contour in D, and that f and g have no zeros for z ∈ C. If the strict inequality  \(\(\(|\)\(f \((z)\) + 
          g \((z)\)\)\(|\)\(\(<\)\(\(|\)\(f \((z)\)\)\(|\)\(+\(\(|\)\(g \((z)\)\)\(|\)\)\)\)\)\)\)  holds for all z ∈ C, then (Subscript[Z, f]) = (Subscript[Z, g]).

Proof of Corollary 8.2, see text Page 350.

Example 8.26,  Page 350.  Show that al four zeros of the polynomial  g[z] = (z^4) - 7  z - 1  lie in the disk  |z|< 2.

Solution 8.26.

Enter the functions  f[z_] = (z^4)  and  g[z] = (z^4) - 7  z - 1.

Remove[z, Z]; 
Clear[f, g]; 
f[z_] = (z^4); 
g[z_] = (z^4) - 7  z - 1; 
Print["f[z] = ", f[z]]; 
Print["g[z] = ", g[z]];

Show that at points on the circle |z| = 2 we have the relation |f (z) - 
            g (z)|  = |7  z + 
              1| ≤|7  z|+ 
                  1  = 7 (2) + 
              1 = 15 < 16 = |f (z)|.

Plot[{Abs[
            f[2  (E^(I θ))] - 
              g[2  (E^(I θ))]], 
          Abs[f[2  (E^(I θ))]]}, {θ, 0, 2  π}, PlotRange -> {{0, 2  π}, {0, 16.3}}, 
        PlotStyle -> {Blue, Magenta}, 
        Ticks -> {Range[0, 2  π, (π/2)], 
            Range[0, 16, 4]}]; 
Print["The graphs of"]; 
\(\(Print[\*""|f[2\!\(E\^\(I\\ θ\)\)]| = "", 
        Abs[f[2  E\^\(I\ θ\)]], " = ", 
        ComplexExpand[
          Abs[f[2  E\^\(I\ θ\)]], 
          TargetFunctions -> {Im, Re}]];\)\ \)
Print["and"]; 
\(\(Print[\*""|f[2\!\(E\^\(I\\ θ\)\)]] - g[2\!\(E\^\(I\\ θ\)\)]| = "", Abs[
          f[2  E\^\(I\ θ\)] - 
            g[2  E\^\(I\ θ\)]]];\)\ \)
\(\(Print["for  0 ≤ θ ≤ 2π."];\)\ \)

The function  f(z)  has a zero of order  4  at the origin, and the hypothesis of Rouche's Theorem holds true for the circle |z| = 2.  Therefore,  g(z)  has four zeros inside |z| = 2.  

Aside. We can verify this by using Mathematica to find the zeros of  f(z)  and  g(z).

solset1 = Solve[f[z] == 0, z]; 
solset2 = NSolve[g[z] == 0, z]; 
Print["The zeros of f[z] = ", 
        f[z]]; 
Print[solset1]; 
Print[""]; 
Print["The zeros of g[z] = ", 
        g[z]]; 
Print[solset2];

Find out which zeros of g(z) lie inside the circle  C : |z| = 2.

Print["The zeros of g[z] = ", 
        g[z]]; 
(Subscript[Z, 1])  =  
        ReplaceAll[z, 
          (Subscript[solset2, [[1]]])];  
\(\(Print[\*""\!\(z\_1\) = "", Z\_1];\)\ \)
(Subscript[Z, 2])  =  
        ReplaceAll[z, 
          (Subscript[solset2, [[2]]])];  
\(\(Print[\*""\!\(z\_2\) = "", Z\_2];\)\ \)
(Subscript[Z, 3])  =  
        ReplaceAll[z, 
          (Subscript[solset2, [[3]]])];  
\(\(Print[\*""\!\(z\_3\) = "", Z\_3];\)\ \)
(Subscript[Z, 4])  =  
        ReplaceAll[z, 
          (Subscript[solset2, [[4]]])];  
\(\(Print[\*""\!\(z\_4\) = "", 
        Z\_4];\)\ \)
dots = 
        Graphics[{{Red, PointSize[0.03], Point[{Re[(Subscript[Z, 1])], Im[(Subscript[Z, 1])]}]}, {Red, 
              PointSize[0.03], Point[{Re[(Subscript[Z, 2])], Im[(Subscript[Z, 2])]}]}, {Red, 
              PointSize[0.03], Point[{Re[(Subscript[Z, 3])], Im[(Subscript[Z, 3])]}]}, {Red, 
              PointSize[0.03], 
              Point[{Re[(Subscript[Z, 4])], Im[(Subscript[Z, 4])]}]}}]; 
\(\(centers = 
        Graphics[{Text[\*""\!\(z\_1\)"", {Re[Z\_1], 
                Im[Z\_1] + 0.1}, {\(-1\), 0}], 
            Text[\*""\!\(z\_2\)"", {Re[Z\_2], Im[Z\_2] - 0.1}, {\(-1\), 
                0}], Text[\*""\!\(z\_3\)"", {Re[Z\_3], 
                Im[Z\_3] + 0.1}, {1, 0}], 
            Text[\*""\!\(z\_4\)"", {Re[Z\_4], Im[Z\_4] + 0.1}, {1, 
                0}]}];\)\ \)
contour  =  Graphics[{Magenta, Circle[{0, 0}, 2]}]; 
Show[dots, centers, contour, 
        PlotRange -> {{-2.1, 2.1}, {-2.1, 2.1}}, 
        Ticks -> {Range[-2, 2, 1], 
            Range[-2, 2, 1]}, 
AspectRatio -> 1, 
        Axes -> True, 
        AxesLabel -> {"x", "y"}]; 
Print["The zeros of g[z] = ", 
        g[z]]; 
\(\(Print[\*""\!\(z\_1\) = "", Z\_1, ", Is |", 
        Z\_1, "| < 2 ? ", N[Abs[Z\_1]] < 2];\)\ \)
\(\(Print[\*""\!\(z\_2\) = "", Z\_2, ", Is |", 
        Z\_2, "| < 2 ? ", N[Abs[Z\_2]] < 2];\)\ \)
\(\(Print[\*""\!\(z\_3\) = "", Z\_3, ", Is |", 
        Z\_3, "| < 2 ? ", N[Abs[Z\_3]] < 2];\)\ \)
\(\(Print[\*""\!\(z\_4\) = "", Z\_4, ", Is |", 
        Z\_4, "| < 2 ? ", 
        N[Abs[Z\_4]] < 2];\)\ \)

Therefore,  g(z)  has four zeros inside |z| = 2.

Example 8.27,  Page 351.  Show that the polynomial  g[z] = (z^4) - 7  z - 1  has one zero in the disk  |z|< 1.

Solution 8.27.

Enter the functions  f[z_] = -7 z - 1  and  g[z] = (z^4) - 7  z - 1.

Remove[z, Z]; 
Clear[f, g]; 
f[z_] = -7 z - 1; 
g[z_] = (z^4) - 7  z - 1; 
Print["f[z] = ", f[z]]; 
Print["g[z] = ", g[z]];

Show that at points on the circle |z| = 1 we have the relation |f (z) - 
            g (z)|  = |7  z + 
              1| ≤|7  z|+ 
                  1  = 7 (2) + 
              1 = 15 < 16 = |f (z)|.

Plot[{Abs[
            f[(E^(I θ))] - 
              g[(E^(I θ))]], 
          Abs[f[(E^(I θ))]]}, {θ, 
          0, 2  π}, PlotRange -> {{0, 2  π}, {0, 8.3}}, 
        PlotStyle -> {Blue, Magenta}, 
        Ticks -> {Range[0, 2  π, (π/2)], 
            Range[0, 16, 4]}]; 
Print["The graphs of"]; 
\(\(Print[\*""|f[\!\(E\^\(I\\ θ\)\)]| = "", 
        Abs[f[E\^\(I\ θ\)]], " = ", 
        FullSimplify[
          ComplexExpand[Abs[f[E\^\(I\ θ\)]], 
            TargetFunctions -> {Im, 
                Re}]]];\)\ \)
Print["and"]; 
\(\(Print[\*""|f[\!\(E\^\(I\\ θ\)\)] - g[\!\(E\^\(I\\ θ\)\)]| = "", 
        Abs[f[E\^\(I\ θ\)] - 
            g[E\^\(I\ θ\)]], " = ", 
        ComplexExpand[
          Abs[f[E\^\(I\ θ\)] - 
              g[E\^\(I\ θ\)]], 
          TargetFunctions -> {Im, Re}]];\)\ \)
\(\(Print["for  0 ≤ θ ≤ 2π."];\)\ \)

The function  f(z)  has a zero at z = ((-1)/7)  in the unit disk |z|< 1,  and the hypothesis of Rouche's Theorem holds true for the circle |z| = 1.  Therefore,  g(z)  has one zero inside |z| = 1.  

Aside. We can verify this by using Mathematica to find the zeros of  f(z)  and  g(z).

solset1 = Solve[f[z] == 0, z]; 
solset2 = NSolve[g[z] == 0, z]; 
Print["The zeros of f[z] = ", 
        f[z]]; 
Print[solset1]; 
Print[""]; 
Print["The zeros of g[z] = ", 
        g[z]]; 
Print[solset2];

Find out which zeros of g(z) lie inside the circle  C : |z| = 1.

Print["The zeros of g[z] = ", 
        g[z]]; 
(Subscript[Z, 1])  =  
        ReplaceAll[z, 
          (Subscript[solset2, [[1]]])];  
\(\(Print[\*""\!\(z\_1\) = "", Z\_1];\)\ \)
(Subscript[Z, 2])  =  
        ReplaceAll[z, 
          (Subscript[solset2, [[2]]])];  
\(\(Print[\*""\!\(z\_2\) = "", Z\_2];\)\ \)
(Subscript[Z, 3])  =  
        ReplaceAll[z, 
          (Subscript[solset2, [[3]]])];  
\(\(Print[\*""\!\(z\_3\) = "", Z\_3];\)\ \)
(Subscript[Z, 4])  =  
        ReplaceAll[z, 
          (Subscript[solset2, [[4]]])];  
\(\(Print[\*""\!\(z\_4\) = "", 
        Z\_4];\)\ \)
dots = 
        Graphics[{{Red, PointSize[0.03], Point[{Re[(Subscript[Z, 1])], Im[(Subscript[Z, 1])]}]}, {Red, 
              PointSize[0.03], Point[{Re[(Subscript[Z, 2])], Im[(Subscript[Z, 2])]}]}, {Red, 
              PointSize[0.03], Point[{Re[(Subscript[Z, 3])], Im[(Subscript[Z, 3])]}]}, {Red, 
              PointSize[0.03], 
              Point[{Re[(Subscript[Z, 4])], Im[(Subscript[Z, 4])]}]}}]; 
\(\(centers = 
        Graphics[{Text[\*""\!\(z\_1\)"", {Re[Z\_1], 
                Im[Z\_1] + 0.1}, {\(-1\), 0}], 
            Text[\*""\!\(z\_2\)"", {Re[Z\_2], Im[Z\_2] - 0.1}, {\(-1\), 
                0}], Text[\*""\!\(z\_3\)"", {Re[Z\_3], 
                Im[Z\_3] + 0.1}, {1, 0}], 
            Text[\*""\!\(z\_4\)"", {Re[Z\_4], Im[Z\_4] + 0.1}, {1, 
                0}]}];\)\ \)
contour  =  Graphics[{Magenta, Circle[{0, 0}, 1]}]; 
Show[dots, centers, contour, 
        PlotRange -> {{-2.1, 2.1}, {-2.1, 2.1}}, 
        Ticks -> {Range[-2, 2, 1], 
            Range[-2, 2, 1]}, 
AspectRatio -> 1, 
        Axes -> True, 
        AxesLabel -> {"x", "y"}]; 
Print["The zeros of g[z] = ", 
        g[z]]; 
\(\(Print[\*""\!\(z\_1\) = "", Z\_1, ", Is |", 
        Z\_1, "| < 1 ? ", N[Abs[Z\_1]] < 1];\)\ \)
\(\(Print[\*""\!\(z\_2\) = "", Z\_2, ", Is |", 
        Z\_2, "| < 1 ? ", N[Abs[Z\_2]] < 1];\)\ \)
\(\(Print[\*""\!\(z\_3\) = "", Z\_3, ", Is |", 
        Z\_3, "| < 1 ? ", N[Abs[Z\_3]] < 1];\)\ \)
\(\(Print[\*""\!\(z\_4\) = "", Z\_4, ", Is |", 
        Z\_4, "| < 1 ? ", 
        N[Abs[Z\_4]] < 1];\)\ \)

Therefore,  g(z)  has one zero inside |z| = 1.

Library Research Experience for Undergraduates

Project I. Write a report on Rouche's Theorem and/or the winding number.

1. Baker, John A., (1991), ''Plane Curves, Polar Coordinates and Winding Numbers,'' Math. Mag., V. 64, No. 2, pp. 75-91.

2. Challener, David and Lee Rubel , ''A Converse to Rouche's Theorem (in Notes),'' Am. Math. M., Vol. 89, No. 5. (May, 1982), pp. 302-305, Jstor.   

3. DePree, John D. and Charles C. Oehring, (1969), Elements of Complex Analysis, Reading, Mass., Addison-Wesley Pub. Co.

4. Filaseta, Michael, ''Rouche's Theorem for Polynomials (in Notes),'' Am. Math. M., Vol. 97, No. 9. (Nov., 1990), pp. 834-835, Jstor.   

5. Glicksberg, I., ''A Remark on Rouche's Theorem (in Math. Notes),'' Am. Math. M., Vol. 83, No. 3. (Mar., 1976), pp. 186-187, Jstor.   

6. Greenleaf, Frederick P., (1972), Introduction to Complex Variables, Philadelphia, Saunders.

7. Leland, Kenneth O., ''An Algorithm for Winding Numbers for Closed Polygonal Paths,'' Math. of Computation, Vol. 29, No. 130. (Apr., 1975), pp. 554-558., Jstor.   

8. Paliouras, John D., (1990), Complex Variables for Scientists and Engineers, 2nd ed., N.Y., Macmillan.
	
9. Stewart, Ian and David Tall, (1983), Complex Analysis (The Hitchhiker's Guide to the Plane), N.Y.: Cambridge University Press.
	
10. Tsarpalias, A., ''A Version of Rouche's Theorem for Continuous Functions (in Notes),'' Am. Math. M., Vol. 96, No. 10. (Dec., 1989), pp. 911-913., Jstor.

Section 8.8 Exercises for  The Argument Principle and Rouche's Theorem
See textbook page 351.

GO TO  THE  Table of Contents