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 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.