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 3 ANALYTIC and HARMONIC
FUNCTIONS
Section 3.2 The Cauchy-Riemann
Equations
We saw in the last section that
computing the derivative of complex functions written in a nice form
such as
is a rather simple task. But life is
not so easy, for many times we encounter complex functions written as
. For example, suppose we
had
.
Is there some criterion---perhaps
involving the partial derivatives for
, and
- - that we can use to determine
whether
is differentiable, and if so, to
find the value of
?
The answer to this question is
yes
, thanks in part to the independent
discovery of two important equations relating the partial derivatives
of
and
by the French mathematician A. L.
Cauchy and the German mathematician G. F. B. Riemann.
Theorem 3.4 (Cauchy-Riemann equations)
Suppose that
is differentiable at the point
. Then the partial derivatives of
and
exist at the point (
), and
(3-15) f '(
) =
,
and
(3-16) f '(
) =
.
Equating the real and imaginary parts of gives us the Cauchy-Riemann equations
(3-17)
and
.
Note carefully some of the
implications of this theorem:
If
differentiable at
, then we know the Cauchy-Riemann
equations (3-17) will be satisfied at
, and we can use either equation
(3-15) or (3-16) to evaluate f '(
).
Taking the contrapositive, if
equations (3-17) are not satisfied at
, then we know automatically that
is
not
differentiable at
.
On the other hand, just because
equations (3-17) are satisfied at
, we cannot necessarily conclude that
is differentiable at
.
Derivation of Theorem 3.4
> dx:='dx':
dy:='dy': f:='f': U:='U': V:='V': x:='x': y:='y':
assume(x,real);
assume(y,real);
f := proc(x,y) U(x,y) + I*V(x,y) end:
`f(x + I y) = U(x,y) + I V(x,y)`; ` `;
dfdx := evalc((f(x+dx,y)-f(x,y))/dx):
df/dx = subs({x='x',y='y'}, dfdx); ` `;
L1 := limit((f(x+dx,y)-f(x,y))/dx, dx=0):
L1:=expand(L1):
dfdy := evalc((f(x,y+dy)-f(x,y))/(I*dy)):
df/dy = subs({x='x',y='y'}, dfdy);
L2 := limit((f(x,y+dy)-f(x,y))/(I*dy), dy=0):
L2:=expand(L2):
Limit(df/dx, dx=0) = subs({x='x',y='y'}, L1);
Limit(df/dy, dy=0) = subs({x='x',y='y'}, L2); ` `;
R1 := subs(I=0,expand(L1)):
R2 := subs(I=0,expand(L2)):
`The two limits must be the same.`;
subs({x='x',y='y'}, L1 = L2); ` `;
print(`The Cauchy-Riemann equations are:`);
subs({x='x',y='y'}, R1 = R2);
subs({x='x',y='y'}, subs(I=1,L1-R1) =
subs(I=1,L2-R2));
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
These are the Cauchy-Riemann
equations
and
.
Example for Page
104. The function
i.e.
is known to be differentiable.
Verify that its derivative satisfies the results of the
Cauchy-Riemann equations.
> f:='f': U:='U':
V:='V': x:='x': y:='y': z:='z':
f := z -> z^3:
`f(z) ` = f(z);
`f(x + I y) ` = f(x+I*y);
`f(x + I y) ` = evalc(f(x+I*y));
U := proc(x,y) x^3 - 3*x*y^2 end:
V := proc(x,y) 3*x^2*y - y^3 end:
`U(x,y) ` = U(x,y);
`V(x,y) ` = V(x,y); ` `;
f1 := z -> subs(Z=z,diff(f(Z),Z)):
`f '(z) ` = f1(z);
`f '(x + I y) ` = f1(x+I*y);
`f '(x + I y) ` = evalc(f1(x+I*y)); ` `;
`f '(z) = Ux(x,y) + i Vx(x,y)` =
diff(U(x,y),x) + I* diff(V(x,y),x);
`f '(z) = Vy(x,y) - i Uy(x,y)` =
diff(V(x,y),y) - I* diff(U(x,y),y);
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Example 3.6, Page 105.
Verify that the complex function
is
NOT
analytic.
> f:='f': F:='F':
U:='U': V:='V': x:='x': y:='y': z:='z':
f := z -> conjugate(z)^2/z:
`f(z) ` = f(z);
`f(x + I y) ` = f(x+I*y);
assume(x,real); assume(y,real);
w1 := simplify(evalc(f(x+I*y))):
`f(x + I y)` = subs({x='x',y='y'}, w1); ` `;
x:='x': y:='y':
U := proc(x,y) (x^3-3*x*y^2)/(x^2+y^2) end:
V := proc(x,y) (-3*x^2*y+y^3)/(x^2+y^2) end:
F := proc(x,y) U(x,y) + I*V(x,y) end:
`F(x,y)` = subs({x='x',y='y'}, F(x,y));
`U(x,y)` = subs({x='x',y='y'}, U(x,y));
`V(x,y)` = subs({x='x',y='y'}, V(x,y)); ` `;
Ux := simplify(diff(U(x,y), x)): `Ux(x,y)` = Ux;
Vy := simplify(diff(V(x,y), y)): `Vy(x,y)` = Vy;
Uy := simplify(diff(U(x,y), y)): `Uy(x,y)` = Uy;
Vx := simplify(diff(V(x,y), x)): `Vx(x,y)` = Vx; ` `;
print(`0 = Ux - Vy `, 0 = simplify(Ux - Vy),
0 = numer(simplify(Ux - Vy)));
print(`0 = Uy + Vx `, 0 = simplify(Uy + Vx),
0 = numer(simplify(Uy + Vx)));
![]()
![]()
![]()
![]()
![]()
![]()
![]()




![]()
![]()
![]()
Hence the function f is
differentiable only when
and
or at the origin.
Let's check to see if the Cauchy-Riemann equations hold at (
,
) . Using the facts that
and
, we compute the limits of the
difference quotients.
> `Ux(0,0)` =
limit((U(x,0)-0)/(x-0), x=0);
`Vy(0,0)` = limit((V(0,y)-0)/(y-0), y=0);
`Uy(0,0)` = limit((U(0,y)-0)/(y-0), y=0);
`-Vx(0,0)` = -limit((V(x,0)-0)/(x-0), x=0);
![]()
![]()
![]()
So,
and
.and we see that the
Cauchy-Riemann
equations hold at
. But
is not-analytic at (
,
) because the following two limits
are distinct.
> `Along the
x-axis: `, Limit(df/dz, dz=0) =
limit((F(x,0)-0)/(x-0),x=0);
`Along the line x=t, y=t: `, Limit(df/dz, dz=0) =
limit((F(t,t)-0)/(t+I*t-0),t=0);
![]()
Example 3.8, Page
108. Use the
Cauchy-Riemann equations to show that
is differentiable for all
.
> U:='U': V:='V':
x:='x': y:='y':
U := proc(x,y) exp(-y)*cos(x) end:
V := proc(x,y) exp(-y)*sin(x) end:
`U(x,y)` = U(x,y);
`V(x,y)` = V(x,y); ` `;
`Ux(x,y)` = diff(U(x,y),x);
`Vy(x,y)` = diff(V(x,y),y);
diff(U(x,y),x) = diff(V(x,y),y);
evalb(diff(U(x,y),x) = diff(V(x,y),y)); ` `;
`Uy(x,y)` = diff(U(x,y),y);
`Vx(x,y)` = diff(V(x,y),x);
diff(U(x,y),y) = - diff(V(x,y),x);
evalb(diff(U(x,y),y) = - diff(V(x,y),x)); ` `;
`f(x+iy)` = U(x,y) + I*V(x,y);
`f '(x+iy)` = diff(U(x,y),x) + I*diff(V(x,y),x);
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
The Cauchy-Riemann equations hold
everywhere, so that
is analytic for all
.
Example 3.9, Page
108. Show that the
complex function
is differentiable only at points that lie on the coordinate axes.
> U:='U': V:='V':
x:='x': y:='y':
U := proc(x,y) x^3 + 3*x*y^2 end:
V := proc(x,y) y^3 + 3*x^2*y end:
`U(x,y)` = U(x,y);
`V(x,y)` = V(x,y); ` `;
`Ux(x,y)` = diff(U(x,y),x);
`Vy(x,y)` = diff(V(x,y),y);
print(`0 = Ux - Vy `,
0 = diff(U(x,y),x) - diff(V(x,y),y),
evalb(0 = diff(U(x,y),x) - diff(V(x,y),y))); ` `;
`Uy(x,y)` = diff(U(x,y),y);
`Vx(x,y)` = diff(V(x,y),x);
print(`0 = Uy + Vx `,
0 = diff(U(x,y),y) + diff(V(x,y),x),
evalb(0 = diff(U(x,y),y) + diff(V(x,y),x)));
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
The Cauchy-Riemann equations hold
only if
. So that
is analytic only when
or
, which occurs at points that lie on
the coordinate axes.
End of Section 3.2.