COMPLEX ANALYSIS: Maple Worksheets,
2009
(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/
Check out the new Complex Analysis Projects page.
CHAPTER 7 TAYLOR and LAURENT
SERIES
Section 7.3 Laurent series
Representations
Suppose
is not analytic in
but
is
analytic in the punctured disk
={
}. For example, the function
is not analytic when
but is analytic for
. Clearly, this function does not
have a Maclaurin series representation. If we use the Maclaurin
series for
however, and formally divide each
term in that series by
, we obtain the representation
=
=
+
+
+
+
+
+
+
which is valid for all
such that
. This example raises the question as
to whether it might be possible to generalize the Taylor series
method to functions analytic in an annulus
= {
}.
Perhaps we can represent these functions with a series that employs
negative powers of
in some way as we did with
. As you will see shortly, this is
indeed the case. We begin by defining a series that allows for
negative powers of
.
Theorem 7.7 (Laurent series)
Suppose the Laurent series
converges on an annulus
.
Then the series converges
uniformly on any subannulus
where
.
Example on page 280.
Find the Laurent series for
.
> f:='f':
z:='z':
f := z -> exp(z)/z^3:
`f(z) ` = f(z);
The following Laurent series is
valid for
.
> L:='L': s:='s':
S:='S': z:='z': Z:='Z':
s := taylor(exp(z), z=0, 9)/z^3:
`f(z) ` = exp(z)/z^3;
`f(z) ` = s;
s := series(exp(z)/z^3, z=0, 9):
`f(z) ` = s;
S := series(exp(Z)/Z^3, Z=0, 9):
S := convert(S, polynom):
LS := z -> subs(Z=z,S):
L[5](z) = LS(z);

![]()
 = 1/(z^3)+1/(z^2)+1/2/z+1/6+1/24*z+1/120*z^...](images/C07-342.gif)
Sum up the terms to verify that we
have things right.
> L5 := z ->
sum(z^(n-3)/n!, n=0..8):
L0 := z -> sum(z^(n-3)/n!, n=0..infinity):
`f(z) ` = exp(z)/z^3;
L[5](z),` = `,Sum(z^(n-3)/n!, n=0..8) = L5(z);
L[infinity](z),` = `,Sum(z^(n-3)/n!, n=0..infinity) =
L0(z);
, ` = `, Sum(z^(n-3)/n!,n = 0 .. 8) = 1/(z^3...](images/C07-344.gif)
, ` = `, Sum(z^(n-3)/n!,n = 0 .. infi...](images/C07-345.gif)
We can plot the real functions
and
to get the idea that
is an approximation to
.
>
plot({f(x),LS(x)},
x=0.01..8, y=0..25,
title=`y=exp(x)/x^3 and y=L5(x)`,
labels=[` x`,`y `],
tickmarks=[8,4],
view=[0..8,0..25]);
![[Maple Plot]](images/C07-350.gif)
Theorem 7.8 (Laurent's
theorem) Suppose
, and that
is analytic in the annulus
.
If
is any number such that
, then for all
,
has the Laurent series
representation
=
=
,
where for
the coefficients
and
are given by
=
and
=
.
Theorem 7.9 (Uniqueness and
differentiation of Larent series)
Suppose that
is analytic in the annulus
, and has the Laurent series
representation
for all
.
(i)
If
for all
, then
for all n.
(In other words, the Laurent series for
in a given annulus is unique.)
(ii)
For all
, the derivatives for
may be obtained by termwise
differentiation of its Laurent series.
Example 7.7, Page
286. Find three
different Laurent series representations for
involving powers of
.
> f:='f':
z:='z':
f := z -> 3/(1+z)/(2-z):
`f(z)` = f(z);
Maple easily finds the Maclaurin
series involving positive powers of
:
> L:='L':
Z:='Z':
s0 := z -> subs(Z=z, series(f(Z), Z=0, 6)):
`f(z) ` = f(z);
`f(z) ` = s0(z);
S0 := convert(s0(Z), polynom):
L0 := z -> subs(Z=z,S0):
L[0](z) = L0(z);
![]()
![]()
The above series converges for
, this requires looking at the sum
of the two"geometric series"
that form the parts of
. Maple can also find "the other
series" that involves negative powers of
,
this involves the mental thinking that you substitute
in the original series to get a new
function of
,
then expand it about
and then substitute
.
> Z:='Z':
Se := series(f(1/Z), Z=0, 7):
s1 := z -> subs(Z=1/z,Se):
`f(z) ` = f(z);
`f(z) ` = s1(z);
S1 := convert(series(f(1/Z), Z=0, 7), polynom):
S1 := subs(Z=1/Z,S1):
L1 := z -> subs(Z=z,S1):
L[1](z) = L1(z);
![]()
![]()
Or we can use Maple and expand
about
.
> `f(z) ` =
f(z);
`f(z) ` = series(f(z), z=infinity, 7);
![]()
The above series converges for
, this requires looking at the sum
of the two "geometric series"
that form the parts of
. This leaves an unresolved
question: "What happens when
.
This requires a little work. First split up the functions up into
their partial fraction form, and then make
expansions about
and
for each part.
> F:='F':
f1:='f1': f2:='f2':
A := convert(f(z), parfrac, z): `f(z) ` = A;
f1 := z -> 1/(1+z): F[1](z) = f1(z);
f2 := z -> -1/(z-2): F[2](z) = f2(z);
![]()
![]()
Now form Laurent expansions for
the two parts
and
of
.
> S:='S':
Z:='Z':
S11 := series(f1(z), z=0, 20):
S11 := convert(S11, polynom):
S[11](z) = S11;
S12 := series(f1(z), z=infinity, 18):
S12 := series(f1(1/Z), Z=0, 18):
S12 := convert(S12, polynom):
S12 := subs(Z=1/z,S12):
S[12](z) = S12;
S21 := series(f2(z), z=0, 12):
S21 := convert(S21, polynom):
S[21](z) = S21;
S22 := series(f2(z), z=infinity, 12):
S22 := series(f2(1/Z), Z=0, 12):
S22 := convert(S22, polynom):
S22 := subs(Z=1/z,S22):
S[22](z) = S22;
![]()
![]()
![]()
The Laurent series
is valid for
.
> Z:='Z':
s1 := subs(z=Z,S11+S21):
L1 := z -> subs(Z=z,s1):
`f(z) ` = f(z);
L[1](z) = L1(z);
![]()
![]()
>
plot({f(x),L1(x)},x=0.0..1,
title=`s = f(x), s = L1(x)`,
tickmarks=[5,3],
view=[0..1,1.3..1.5]);
![[Maple Plot]](images/C07-3121.gif)
The following Laurent series
is valid for
.
> Z:='Z':
s2 := subs(z=Z,S12+S21):
L2 := z -> subs(Z=z,s2):
`f(z) ` = f(z);
L[2](z) = L2(z);
![]()
![]()
>
plot({f(x),L2(x)},x=1.01..1.99,
title=`s = f(x), s = L2(x)`,
tickmarks=[5,3],
view=[1..2,1.5..4]);
![[Maple Plot]](images/C07-3127.gif)
So
is an approximation to
valid for
. Notice that
is
NOT
a good approximation for
, for example it is not accurate at
.
> `f(1.5)
L1(1.5)`;
f(1.5) <> L1(1.5); ` `;
`f(1.5) ~ L2(1.5)`;
f(1.5), `~` , L2(1.5);
![]()
![]()
![]()
![]()
The Laurent series
is valid for
.
> Z:='Z':
s3 := subs(z=Z,S12+S22):
L3 := z -> subs(Z=z,s3):
`f(z) ` = f(z);
L[3](z) = L3(z);
![]()
>
plot({f(x),L3(x)},x=2.01..4.0,
title=`s = f(x), s = L3(x)`,
tickmarks=[2,6],
view=[2..4,-5..0]);
![[Maple Plot]](images/C07-3143.gif)
So
is an approximation to
valid for
. Notice that
and
are NOT
good approximations for
, for example they are not accurate
at
.
> `f(4.0)
L1(4.0)`;
f(4.0) <> L1(4.0);` `;
`f(4.0) L2(4.0)`;
f(4.0) <> L2(4.0);` `;
`f(4.0) ~ L3(4.0)`;
f(4.0), `~` , L3(4.0);
![]()
![]()
![]()
![]()
![]()
![]()
![]()
The fourth possibility does not
converge for any values of z and should not be considered,
however you could write down a few terms and think about why this
series diverges.
> Z:='Z':
s4 := subs(z=Z,S11+S22):
L4 := z -> subs(Z=z,s4):
L[4](z) = L4(z);
![]()
![]()
In the above series, when
the portion of the series with
positive exponents will converge
but the portion with negative exponents will diverge. Similarly, when
the portion of the series
with negative exponents will converge, but the portion of the series
with positive exponents will diverge.
Hence, the series diverges for all
.
> `f(0.5)
L4(0.5)`;
f(0.5) <> L4(0.5);` `;
`f(1.5) L4(1.5)`;
f(1.5) <> L4(1.5);` `;
`f(4.0) L4(4.0)`;
f(4.0) <> L4(4.0);
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Example 7.8, Page
286. Find the Laurent
series for
.
> f:='f':
z:='z':
f := z ->(cos(z) - 1)/z^4:
`f(z) ` = f(z);
The following Laurent series is
valid for
.
> L:='L': s:='s':
S:='S': Z:='Z':
S := series(cos(Z)-1, Z=0, 12)/Z^4:
s := convert(series(cos(Z)-1, Z=0, 12), polynom)/Z^4:
LS := z -> subs(Z=z,expand(s)):
`f(z) ` = f(z);
`f(z) ` = subs(Z=z,S);
`f(z) ` = series((cos(z) - 1)/z^4, z=0, 12);
L[6](z) = LS(z);

![]()
![]()
Sum up the terms to verify that we
have things right.
> L8 := z ->
sum((-1)^n * z^(2*n-4)/(2*n)!, n=1..6):
L0 := z -> sum((-1)^n * z^(2*n-4)/(2*n)!, n=1..infinity):
`f(z) ` = (cos(z) - 1)/z^4;
L[8](z),` = `,
Sum((-1)^n * z^(2*n-4)/(2*n)!, n=1..6) = L8(z);
L[infinity](z),` = `,
Sum((-1)^n * z^(2*n-4)/(2*n)!, n=1..infinity) = L0(z);
, ` = `, Sum((-1)^n*z^(2*n-4)/(2*n)!,n = 1 ....](images/C07-3180.gif)
, ` = `, Sum((-1)^n*z^(2*n-4)/(2*n)!,...](images/C07-3181.gif)
Compare the graph of the function and its Laurent series.
>
plot({f(x),LS(x)},
x=0.01..5.0,
title=`y = f(x), y = L8(x)`,
tickmarks=[5,4],
view=[0..4,-20..0]);
![[Maple Plot]](images/C07-3182.gif)
Example 7.9, Page 287.
Find the Laurent series for
centered at
.
> f := 'f':
S:='S': z:='z':
f := z -> exp(-1/z^2):
S := series(f(z), z=infinity, 12):
`f(z) ` = f(z);
`f(z) ` = S;

We can get the Laurent expansion
by series substitution:
> P:='P':
Z:='Z':
S1 := taylor(exp(Z), Z=0, 7):
S1 := convert(S1,polynom):
`F(Z) ` = exp(Z);
P[6](Z) = S1;
![]()
Make the substitution
to get the Laurent series is valid
for
.
> L:='L':
Z:='Z':
L1 := z -> subs(Z=-1/z^2,S1):
`f(z) ` = f(z);
L[12](z) = L1(z);
 = 1-1/(z^2)+1/2/z^4-1/6*1/(z^6)+1/24/z^8-1...](images/C07-3192.gif)
Or we can get the Laurent
expansion by series expansion about infinity:
> L2 :=
taylor(exp(-1/z^2), z=infinity, 14):
`f(z) ` = f(z);
`f(z) ` = L2;

>
plot({f(x),L1(x)}, x=0.5..4.0,
title=`y = f(x), y = L12(x)`,
tickmarks=[5,4],
view=[0..4,0..1.5]);
![[Maple Plot]](images/C07-3195.gif)
End of Section 7.3.