COMPLEX ANALYSIS: Maple Worksheets, 2001
(c) John H. Mathews Russell W. Howell
mathews@fullerton.edu howell@westmont.edu
Complimentary software to accompany the textbook:
COMPLEX ANALYSIS: for Mathematics & Engineering, 4th Ed, 2001, ISBN: 0-7637-1425-9
Jones and 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/
CHAPTER 6 COMPLEX INTEGRATION
Section 6.3 The Cauchy-Goursat Theorem
The Cauchy-Goursat theorem states that within certain domains the integral of an analytic function over a simple closed contour is zero. An extension of this theorem will allow us to replace integrals over certain complicated contours with integrals over contours that are easy to evaluate. We will show how to use the technique of partial fractions together with the Cauchy-Goursat theorem to evaluate certain integrals. In Section 6.4 we will see that the Cauchy-Goursat theorem implies that an analytic function has an antiderivative. To start with, we need to introduce a few new concepts.
We saw in Section 1.6 that each simple closed contour
divides the plane into two domains. One domain is bounded and is called the
interior
of
, and the other domain is unbounded and is called the
exterior
of
. This result is known as the Jordan Curve Theorem.
Reall that a domain
is a connected open set. In particular, if
and
are any pair of points in
, then they can be joined by a curve that lies entirely in
. A domain
is said to be
simply connected
if it has the property that any simple closed contour
contained in
has its interior contained in
. In other words, there are no "holes'' in a simply connected domain. A domain that is not simply connected is said to be a
multiply connected domain
.
Let the simple closed contour
have the parametrization
, for
a
t
b. If
is parametrized so that the interior of
is kept on the left as
moves around
, then we say that
is oriented in the
positive
(counterclockwise) sense; otherwise,
is oriented
negatively
. If
is positively oriented, then
is negatively oriented.
Green's theorem, an important result from the calculus of real variables, tells us how to evaluate the line integral of real-valued functions.
Theorem 6.4 (Green's Theorem)
Let
be a simple closed contour with positive orientation, and let
be the domain that forms the interior of
.
If
and
are continuous and have continuous partial derivatives at all points on
and
, then
.
We are now ready to state the main result of this section.
Theorem 6.5 (Cauchy-Goursat Theorem)
Let
be analytic in a simply connected domain
.
If
is a simple closed contour that lies in
, then
.
Load Maple's "residue" procedure.
Make sure this is done only ONCE during a Maple session.
> readlib(residue):
Example 6.12, Page 229.
Let us recall that
,
, and
, where n is a positive
integer, are all entire functions and have continuous derivatives. For illustration set
,
and choose the contour to be the unit circle
:
with positive orientation.
The Cauchy-Goursat theorem implies that for any simple closed contour we have:
(a)
,
(b)
,
(c)
(a)
First, consider
, which can be verified with the computation:
>
dz :='dz':f:='f':F:='F':g:='g':t:='t':T:='T':z:='z':Z:='Z':z1:='z1':
f := z -> exp(z):
`f(z) ` = f(z);
z := t -> exp(I*t):
`C: z(t) ` = z(t);
`f(z(t)) ` = f(z(t));
z1 := t -> subs(T=t,diff(z(T), T)):
`dz = z '(t) dt ` = z1(t), `dt`;
Int(f(z),z=C..``) = Int(f(z(t))*z1(t),t=0..2*pi);
`The anti-derivative is:`;
g := t -> simplify(subs(T=t,int(f(z(T))*z1(T), T))):
`g(t) ` = g(t);
g1 := g(2*Pi):
g0 := g(0):
`g(2*Pi) ` = expand(g1),` and `,`g(0) ` = expand(g0);
`g(2*Pi) - g(0) ` = expand(g1 - g0);
Int(f(z),z=C..``) = expand(g1 - g0);
(b)
Second,
, c
an be verified with the computation:
>
dz :='dz':f:='f':F:='F':g:='g':t:='t':T:='T':z:='z':Z:='Z':z1:='z1':
f := z -> cos(z):
`f(z) ` = f(z);
z := t -> exp(I*t):
`C: z(t) ` = z(t);
`f(z(t)) ` = f(z(t));
z1 := t -> subs(T=t,diff(z(T), T)):
`dz = z '(t) dt ` = z1(t), `dt`;
Int(f(z),z=C..``) = Int(f(z(t))*z1(t),t=0..2*pi);
`The anti-derivative is:`;
g := t -> simplify(subs(T=t,int(f(z(T))*z1(T), T))):
`g(t) ` = g(t);
g1 := g(2*Pi):
g0 := g(0):
`g(2*Pi) ` = expand(g1),` and `,`g(0) ` = expand(g0);
`g(2*Pi) - g(0) ` = expand(g1 - g0);
Int(f(z),z=C..``) = expand(g1 - g0);
(c)
Third,
, c
an be verified with the computation:
>
dz :='dz':f:='f':F:='F':g:='g':t:='t':T:='T':z:='z':Z:='Z':z1:='z1':
f := z -> z^5:
`f(z) ` = f(z);
z := t -> exp(I*t):
`C: z(t) ` = z(t);
`f(z(t)) ` = f(z(t));
z1 := t -> subs(T=t,diff(z(T), T)):
`dz = z '(t) dt ` = z1(t), `dt`;
Int(f(z),z=C..``) = Int(f(z(t))*z1(t),t=0..2*pi);
`The anti-derivative is:`;
g := t -> simplify(subs(T=t,int(f(z(T))*z1(T), T))):
`g(t) ` = g(t);
g1 := g(2*Pi):
g0 := g(0):
`g(2*Pi) ` = expand(g1),` and `,`g(0) ` = expand(g0);
`g(2*Pi) - g(0) ` = expand(g1 - g0);
Int(f(z),z=C..``) = expand(g1 - g0);
We want to be able to replace integrals over certain complicated contours with integrals that are easy to evaluate. If
is a simple closed contour that can be "continuously deformed" into another simple closed contour
without passing through a point where
is not analytic, then the value of the contour integral of
over
is the same as the value of the integral of
over
. To be precise, we state the following result.
Theorem 6.6 (Deformation of Contour)
Let
and
be two simple closed positively oriented contours such that
lies interior to
.
If
is analytic in a domain
that contains both
and
and the region between them, then
.
We now state an important result that is implied by the deformation of contour theorem. This result will occur several times in the theory to be developed and is an important tool for computations. You may want to compare the proof of this corollary with your solution to Exercise 6.2.23.
Corollary 6.1
Let
denote a fixed complex value. If
is a simple closed contour with positive orientation such that
lies interior to
, then
=
,
and
=
, where
is any integer except
.
Extra Eample, Page 232.
Let
denote a fixed complex value. If
is a
simple closed contour with positive orientation such that
lies interior to
, then
(a)
and
(b)
, where
is an integer.
For illustration,
we use a circle of radius
centered at
.
(a)
Show that
.
>
dz :='dz':f:='f':F:='F':g:='g':t:='t':
T:='T':z:='z':Z:='Z':z0:='z0':z1:='z1':
f := z -> 1/(z - z0):
`f(z) ` = f(z);
z := t -> z0 + exp(I*t):
`C: z(t) ` = z(t);
`f(z(t)) ` = f(z(t));
z1 := t -> subs(T=t,diff(z(T), T)):
`dz = z '(t) dt ` = z1(t), `dt`;
Int(f(z),z=C..``) = Int(f(z(t))*z1(t),t=0..2*pi);
`The anti-derivative is:`;
g := t -> simplify(subs(T=t,int(f(z(T))*z1(T), T))):
`g(t) ` = g(t);
g1 := g(2*Pi):
g0 := g(0):
`g(2*Pi) ` = expand(g1),` and `,`g(0) ` = expand(g0);
`g(2*Pi) - g(0) ` = expand(g1 - g0);
Int(f(z),z=C..``) = expand(g1 - g0);
(b)
Show that
For illustration,
we use a circle of radius
centered at
.
>
dz :='dz':f:='f':F:='F':g:='g':t:='t':
T:='T':z:='z':Z:='Z':z0:='z0':z1:='z1':
f := z -> 1/(z - z0)^5:
`f(z) ` = f(z);
z := t -> z0 + exp(I*t):
`C: z(t) ` = z(t);
`f(z(t)) ` = f(z(t));
z1 := t -> subs(T=t,diff(z(T), T)):
`dz = z '(t) dt ` = z1(t), `dt`;
Int(f(z),z=C..``) = Int(f(z(t))*z1(t),t=0..2*pi);
Int(f(z),z=C..``) = Int(simplify(f(z(t))*z1(t)),t=0..2*pi);
`The anti-derivative is:`;
g := t -> simplify(subs(T=t,int(f(z(T))*z1(T), T))):
`g(t) ` = g(t);
g1 := g(2*Pi):
g0 := g(0):
`g(2*Pi) ` = expand(g1),` and `,`g(0) ` = expand(g0);
`g(2*Pi) - g(0) ` = expand(g1 - g0);
Int(f(z),z=C..``) = expand(g1 - g0);
The deformation of contour theorem is an extension of the Cauchy-Goursat theorem to a doubly connected domain in the following sense. Let
be a domain that contains
and
and the region between them. Then the contour
is a parametrization of the boundary of the region
that lies between
and
so that the points of
lie to the left of
as a point
moves around
. Hence
is a positive orientation of the boundary of
, and Theorem 6.6 implies that
.
We can extend Theorem 6.6 to multiply connected domains with more than one "hole." The proof, which is left for the reader, involves the introduction of several cuts and is similar to the proof of Theorem 6.6.
Theorem 6.7 (Extended Cauchy-Goursat Theorem)
Let
be simple closed positively oriented contours with the property that
lies interior to C for
and the set of interior to
has no points in common with the set interior to
if
. Let
be analytic on a domain
that contains all the contours and the region between C and
, then
.
Example 6.14, Page 233.
Show that
,
where
is the circle
:
taken with positive orientation.
>
f:='f': F:='F': z:='z':
f := z -> 2*z/(z^2 + 2):
`f(z) ` = f(z);
First, split the function up into partial fractions involving linear terms in the denominators. Don't worry
about the subroutine. It splits
up into partial fractions. The result will be an equivalent function
.
The list of terms added to form
have singularities in the same order in the list of points
.
>
Zn := sort([solve(denom(f(z))=0, z)]):
Rn := array(1..nops(Zn)):
Sn := array(1..nops(Zn)):
F1 := 0:
for i from 1 to nops(Zn) do
if i=1 then p:=1 fi;
if 1<i and Zn[i-1]=Zn[i] then
p := p+1 else p := 1 fi;
Rn[i] := residue((z-Zn[i])^(p-1)*f(z), z=Zn[i]);
Sn[i] := Rn[i]/(z-Zn[i])^p;
F1 := F1 + Rn[i]/(z-Zn[i])^p;
od:
Z := array(1..nops(F1)):
R := array(1..nops(F1)):
S := array(1..nops(F1)):
p := 1:
for i from 1 to nops(Zn) do
if Sn[i]<>0 then
Z[p]:=Zn[i]; R[p]:=Rn[i]; S[p]:=Sn[i]; p:=p+1 fi;
od:
`f(z) ` = f(z);
`f(z) ` = F1;
print(`singularities =`, Z);
Determine which singularities lie inside
:
.
>
print(z[1]=Z[1], abs(z[1])<2, evalb(evalf(abs(Z[1]))<2));
print(z[2]=Z[2], abs(z[2])<2, evalb(evalf(abs(Z[2]))<2));
Since both singularities lie inside
, add the corresponding term in the
sum forming
times constant in the numerator that term times
.
>
val := 2*Pi*I*numer(S[1]) + 2*Pi*I*numer(S[2]):
Int(f(z),z=C..``) = val;
Example 6.15, Page 234.
Show that
,
where
is the circle
:
taken with positive orientation.
>
f:='f': F:='F': z:='z':
f := z -> 2*z/(z^2 + 2):
`f(z) ` = f(z);
First, split the function up into partial fractions involving linear terms in the denominators. Don't worry
about the subroutine. It splits
up into partial fractions. The result will be an equivalent function
.
The list of terms added to form
have singularities in the same order in the list of points
>
Zn := sort([solve(denom(f(z))=0, z)]):
Rn := array(1..nops(Zn)):
Sn := array(1..nops(Zn)):
F1 := 0:
for i from 1 to nops(Zn) do
if i=1 then p:=1 fi;
if 1<i and Zn[i-1]=Zn[i] then
p := p+1 else p := 1 fi;
Rn[i] := residue((z-Zn[i])^(p-1)*f(z), z=Zn[i]);
Sn[i] := Rn[i]/(z-Zn[i])^p;
F1 := F1 + Rn[i]/(z-Zn[i])^p;
od:
Z := array(1..nops(F1)):
R := array(1..nops(F1)):
S := array(1..nops(F1)):
p := 1:
for i from 1 to nops(Zn) do
if Sn[i]<>0 then
Z[p]:=Zn[i]; R[p]:=Rn[i]; S[p]:=Sn[i]; p:=p+1 fi;
od:
`f(z) ` = f(z);
`f(z) ` = F1;
print(`singularities =`, Z);
Determine which singularities lie inside
:
.
>
print(z[1]=Z[1], abs(z[1]-I)<2,
evalb(evalf(abs(Z[1]-I))<1));
print(z[2]=Z[2], abs(z[2]-I)<2,
evalb(evalf(abs(Z[2]-I))<1));
Since only the first singularity lies inside
, add the first term in the sum
forming
times constant in the numerator that term times
.
Remark. Sometimes Maple will form the list of values in a different order.
It is always necessary to visually inspect the above results before proceeding.
>
val := 2*Pi*I*numer(S[1]):
Int(f(z),z=C..``) = val;
Example 6.16, Page 234.
Show that
,
where
is the figure eight shown in the text on page 135.
>
f:='f': F:='F': z:='z':
f := z -> (z - 2)/(z^2 - z):
`f(z) ` = f(z);
First, split the function up into partial fractions involving linear terms in the denominators. Don't worry
about the subroutine. It splits
up into partial fractions. The result will be an equivalent function
.
The list of terms added to form
have singularities in the same order in the list of points
>
Zn := sort([solve(denom(f(z))=0, z)]):
Rn := array(1..nops(Zn)):
Sn := array(1..nops(Zn)):
F1 := 0:
for i from 1 to nops(Zn) do
if i=1 then p:=1 fi;
if 1<i and Zn[i-1]=Zn[i] then
p := p+1 else p := 1 fi;
Rn[i] := residue((z-Zn[i])^(p-1)*f(z), z=Zn[i]);
Sn[i] := Rn[i]/(z-Zn[i])^p;
F1 := F1 + Rn[i]/(z-Zn[i])^p;
od:
Z := array(1..nops(F1)):
R := array(1..nops(F1)):
S := array(1..nops(F1)):
p := 1:
for i from 1 to nops(Zn) do
if Sn[i]<>0 then
Z[p]:=Zn[i]; R[p]:=Rn[i]; S[p]:=Sn[i]; p:=p+1 fi;
od:
`f(z) ` = f(z);
`f(z) ` = F1;
print(`singularities =`, Z);
Determine which singularities corresponds to the contour
and
. The second term will correspond
to the singularity at
used with contour
and the first term corresponds to the singularity at
used with contour
. Since
has positive orientation, we add the second term in the sum forming
times constant in the numerator of that term times
. And since the
has negative orientation,
we subtract the first term in the sum forming
times constant in the numerator of that term times
.
Remark. Sometimes Maple will form the list of values in a different order.
It is always necessary to visually inspect the above results before proceeding.
>
val := 2*Pi*I*numer(S[2]) - 2*Pi*I*numer(S[1]):
Int(f(z),z=C..``) = val;
End of Section 6.3.