Вы находитесь на странице: 1из 16

Chapter 8

Complex Functions

8.1

Complex Algebra

Maple and Mathematica perform complex arithmetic automatically, all


operations are performed by assuming that the basic number system is the complex eld C. In both systems, the imaginary unit i
of the complex number x+y*I is denoted by I.
Complex numbers and variables
Maple:
abs(z);
Re(z); Im(z); conjugate(z); argument(z); evalc(z);
signum(z); csgn(z); polar(z); polar(r,theta); convert(z,polar);
with(RandomTools):
Generate(complex(integer(range=a..b)));
abs, Re,Im, the absolute value and the real and imaginary parts,
conjugate, argument, evalc, the complex conjugate, the complex argument,
and complex evaluation function,
signum, csgn, the sign of a real or complex number and the sign function for
complex expressions,
polar, convert,polar, polar representation of complex numbers and rewriting an expression in polar form,
Generate,complex (of the RandomTools package), generating pseudorandom
complex numbers.

I.K. Shingareva, C. Lizrraga-Celaya, Maple and Mathematica, 2nd ed.,


DOI 10.1007/978-3-211-99432-0_8, Springer-Verlag Vienna 2009

246

Complex Functions

z1:=5+I*7; abs(z1); Re(z1); Im(z1); conjugate(z1),


argument(z1); signum(z1); csgn(z1); polar(z1);
z2:=x+I*y; evalc(abs(z2)); evalc(Re(z2));
assume(x,real); assume(y,real); about(x,y); Re(z2); Im(z2);
unassign('x','y'); about(x,y); evalc(signum(z2));
evalc(polar(r,theta)); map(evalc,convert(z2, polar));
expand((1-I)^4); evalc(sqrt(-9)); expand((3+I)/(4-I));
with(RandomTools): Generate(list(complex(float(range=1..9)),9));
interface(showassumed=0): assume(k,complex);
f:=x->exp(-(Re(k)+I*Im(k))*(a+I*c*t)); f(x);
simplify(evalc(convert(f(x),polar)));

Mathematica:
Abs[z]
Re[z]
Im[z]
Conjugate[z] Arg[z] Sign[z]
ComplexExpand[expr]
ComplexExpand[expr,{z1,...,zn}]
Element[z,Complexes] z\[Element]Complexes
ComplexInfinity
RandomComplex[] RandomComplex[{z1,z2}] RandomComplex[{z1,z2},n]
Abs, Re, Im, the absolute value and the real and imaginary parts,
Conjugate, Arg, the complex conjugate and the complex argument,
Sign, the sign of a real or complex number,
ComplexExpand, complex expansion function, the trigonometric form of complex numbers,
Complexes, the domain of complex numbers,
RandomComplex, generating pseudorandom complex numbers.
z1=5+I*7; z2=x+I*y; f[x_]:=Exp[-k*(a+I*c*t)];
{Abs[z1],Re[z1],Im[z1],Conjugate[z1],Arg[z1],Sign[z1]}
ComplexExpand[z,{z},TargetFunctions->{Arg,Abs}]
{Abs[z2],Re[z2],Im[z2]}//ComplexExpand
{(1-I)^4,Sqrt[-9],(3+I)/(4-I)}//ComplexExpand
{ComplexExpand[f[x],k], ComplexExpand[f[x],k,
TargetFunctions->{Abs,Arg}], ComplexExpand[f[x],k,
TargetFunctions->{Abs,Arg}]/.{Abs[k]->\[Alpha],Arg[k]->\[Phi]}}
{RandomComplex[{1,9},9],RandomComplex[{1,9},{3,3}]//MatrixForm}

Problem 8.1 Let z = a + ib be a complex number. Rewrite z in polar,


exponential, and trigonometric forms.

8.1

Complex Algebra

247

Maple:
z:=3+4*I; zPolar:=polar(z); rho1:=op(1,zPolar);
phi1:=op(2,zPolar); zExp:=rho*exp(I*theta);
zTrig:=convert(zExp,trig); subs({rho=rho1,theta=phi1},zTrig);

Mathematica:
{z1=3+4*I, zPolar={Abs[z1],Arg[z1]}, rho1=zPolar[[1]],
theta1=zPolar[[2]],zExp=rho*Exp[I*theta],zTrig=ExpToTrig[zExp],
zTrig/.{rho->rho1}/.{theta->InputForm[theta1]},
ComplexExpand[z,{z},TargetFunctions->{Abs,Arg}]}

Problem 8.2 Prove that cos(3) =


Moivres theorem).

cos()3

3 cos() sin()2

(use De

Maple:
interface(showassumed=0): assume(theta, real);
z1:=cos(3*theta)+I*sin(3*theta);
z2:=evalc((cos(theta)+I*sin(theta))^3);
R1:=Re(z1); R2:=Re(z2); R1=R2;

Mathematica:
{z1=Cos[3*theta]+I*Sin[3*theta], z2=(Cos[theta]+
I*Sin[theta])^3//ComplexExpand, r1=ComplexExpand[Re[z1]],
r2=ComplexExpand[Re[z2]], r1==r2}

Problem 8.3 Find and graph all the solutions of the equation z 9 = 1.
Maple:
Ops:=style=point,symbol=circle,color=blue,symbolsize=30;
Sols:=map(allvalues,{solve(z^9=1,z)});
Points:=map(u->[Re(u),Im(u)],Sols); plot(Points,Ops);

Mathematica:
{sol=Solve[z^9==1,z],n=Length[sol]}
{points=sol[[Table[i,{i,1,n}],1,2]]//N,
points=points/.{x_Real->{x,0},Complex[x_,y_]->{x,y}}}
ListPlot[points,PlotStyle->{PointSize[0.03],Hue[0.7]},
AspectRatio->1]

248

8.2

Complex Functions

Complex Functions and Derivatives

Analytic and harmonic functions, multivalued functions


Maple:
f:=z->expr; diff(f(z),z); F:=evalc(f(x+I*y)); limit(f(z),z=z0);
u:=(x,y)->evalc(Re(F));v:=(x,y)->evalc(Im(F)); w:=(x,y)->expr;
w1:=unapply(u(x,y)+I*v(x,y),x,y);
limit(w(x,y),{x=x0,y=y0});

Mathematica:
f[z_]:=expr;
w:=(x,y)->expr;
F=ComplexExpand[f[x+I*y]];
u[x_,y_]:=ComplexExpand[Re[F]]; v[x_,y_]:=ComplexExpand[Im[F]];
Limit[Limit[w[x,y],x->x0],y->y0,ops]
Limit[f[z],z->z0,ops]
D[f[z],z] u[x,y] v[x,y] D[u[x,y],x] Reduce[eqs,vars,Complexes]

Problem 8.4 Find the derivatives of the functions f1 (z) = z 2 + i5z 1


and f2 (z) = (f1 (z))5 .
Maple:
f1:=z->z^2+I*5*z-1; f2:=z->z^5; f3:=z->f2(f1(z));
diff(f1(z),z); diff(f3(z),z);

Mathematica:
f1[z_]:=z^2+I*5*z-1; f2[z_]:=z^5;
f3[z_]:=f2[f1[z]]; {D[f1[z],z], D[f3[z],z]}


Problem 8.5 Let u(x, y) = 2 sin x cosh y x be a real part of the analytic
function w = f (z) and let f (0) = 0. Applying the CauchyRiemann
equations, determine the analytic function w = f (z).
Maple:
u:=(x,y)->2*sin(x)*cosh(y)-x;
Eq1:=int(diff(v(x,y),y),y)=int(diff(u(x,y),x),y)+g(x);
Eq2:=diff(rhs(Eq1),x)=-diff(u(x,y),y);
Eq3:=diff(g(x),x)=solve(Eq2,diff(g(x),x));

8.2

Complex Functions and Derivatives

249

Eq4:=dsolve(Eq3,g(x)); Eq5:=subs(Eq4,Eq1);
v:=unapply(rhs(Eq5),x,y); v(x,y); sxy:={x=(z+evalc(
conjugate(z)))/2,y=(z-evalc(conjugate(z)))/(2*I)};
f1:=unapply(simplify(subs(sxy,u(x,y)+I*v(x,y))),z);
f1(z); c1:=solve(f1(0)=0,_C1);
f:=unapply(subs(_C1=c1,f1(z)),z); f(z);

Mathematica:
u[x_,y_]:=2*Sin[x]*Cosh[y]-x;
{eq1=Integrate[D[v[x,y],y],y]==Integrate[
D[u[x,y],x],y]+g[x], eq2=D[eq1[[2]],x]==-D[u[x,y],y],
eq3=g'[x]==Solve[eq2,g'[x]][[1,1,2]], eq4=DSolve[eq3,
g[x],x][[1,1]], eq5=eq1/.eq4}
v1[x1_,y1_]:=eq5[[2]]/.{x->x1,y->y1}; v1[x,y]
sxy={x->(z+ComplexExpand[Conjugate[z]])/2,
y->(z-ComplexExpand[Conjugate[z]])/(2*I)};
f1[z1_]:=Simplify[u[x,y]+I*v1[x,y]/.sxy]/.{z->z1}; f1[z]
c1=Solve[f1[0]==0,C[1]]
f[z1_]:=(f1[z]/.c1[[1]])/.{z->z1}; f[z]


Problem 8.6 Show that u(x, y) =
functions.

x2

y2,

v(x, y) = 2xy are harmonic

Maple:
f:=z->z^2: F:= evalc(f(x+I*y));
u:=(x,y)->evalc(Re(F)); v:=(x,y)->evalc(Im(F));
u(x,y); v(x,y); evalb(0=diff(u(x,y),x$2)+diff(u(x,y),y$2));
evalb(0=diff(v(x,y),x$2)+diff(v(x,y),y$2));

Mathematica:
f[z_]:=z^2; f1=ComplexExpand[f[x+I*y]];
u[x_,y_]:=ComplexExpand[Re[f1]]; v[x_,y_]:=ComplexExpand[Im[f1]];
{u[x,y], v[x,y], D[u[x,y],{x,2}]+D[u[x,y],{y,2}]===0,
D[v[x,y],{x,2}]+D[v[x,y],{y,2}]===0}


Problem 8.7 Determine the harmonic conjugate v(x, y) for harmonic
function u(x, y) = xy 3 x3 y.

250

Complex Functions

Maple:
VConj:=proc(u) local v1,v2,v3,v4;
v1:=int(diff(u,x),y); v2:=-diff(u,y)-diff(v1,x);
v3:=int(v2,x); v4:=v1+v3; RETURN(v4): end;
u:=(x,y)->x*y^3-x^3*y;
evalb(0=diff(u(x,y),x$2)+diff(u(x,y),y$2));
v:=(x,y)->VConj(u(x,y)); v(x,y); v(2*x,2*y);
evalb(0=diff(v(x,y),x$2)+diff(v(x,y),y$2));

Mathematica:
vConj[u_]:=Module[{v1,v2,v3,v4},
v1=Integrate[D[u,x],y]; v2=-D[u,y]-D[v1,x];
v3=Integrate[v2,x]; v4=v1+v3]; u[x_,y_]:=x*y^3-x^3*y;
D[u[x,y],{x,2}]+D[u[x,y],{y,2}]===0
v[x_,y_]:=vConj[u[x,y]]; {v[x,y], v[2*x,2*y],
D[v[x,y],{x,2}]+D[v[x,y],{y,2}]===0}

Problem 8.8 Evaluate the values: Log(z1 ), log(z2 ), z2c , where z1 = 1+2i,
z2 = 2, c = (1 i)/30.
Maple:
z1:=1+2*I; w1:=evalc(log(z1)); w2:=evalc(log(z1))+I*2*Pi*n;
z2:=2; c:=(1-I)/30; w3:=evalc(exp(c*log(z2)));
z3:=n->evalf(exp(c*(log(z2)+2*Pi*I*n))); k:=9;
for n from -k to k do print(z3(n)) od:
Points:=[[Re(z3(i)),Im(z3(i))] $ i=-k..k];
plot(Points,scaling=constrained,style=point,axes=boxed,
symbol=circle,color=blue);

Mathematica:
{z1=1+2*I, w1=ComplexExpand[Log[z1]],
w2=ComplexExpand[Log[z1]]+I*2*Pi*n, z2=2, c=(1-I)/30,
w3=ComplexExpand[Exp[c*Log[z2]]]}
z3[n_]:=Exp[c*(Log[z2]+2*Pi*I*n)]//N; k=9;
Do[Print[z3[n]],{n,-k,k}];
points=Table[{Re[z3[i]],Im[z3[i]]},{i,-k,k}]
ListPlot[points,PlotStyle->{PointSize[0.03],Hue[0.7]},
AspectRatio->1]

8.2

Complex Functions and Derivatives

Problem 8.9 Evaluate lim

z1+i

251

z 2 2i
.
z 2 2z + 2

Maple:
f:=z->(z^2-2*I)/(z^2-2*z+2); F:=factor(f(Z));
L1:=subs(Z=1+I,F); L2:=limit(f(z),z=1+I);

Mathematica:
f[z_]:=(z^2-2*I)/(z^2-2*z+2); f1=Factor[f[z1]]
{l1=f1/.{z1->1+I}, l2=Limit[f[z],z->1+I]}

Problem 8.10 Show that the function f (z) =


able discontinuity at z = 0.

sin(z 2 )
z 3 z 2 /4


has a remov-

Maple:
with(plots): k:=0; f:=z->sin(z^2)/(z^3-Pi/4*z^2);
F:=factor(f(z)); L:=limit(f(z),z=k);
h:=z->proc(z) if z=k then evalf(L) else evalf(f(z)) fi: end;
conformal('h'(z),-2-2*I..2+2*I,axes=boxed,
color=blue,grid=[200,200]);

Mathematica:
f[z_]:=Sin[z^2]/(z^3-Pi/4*z^2);
{k=0, f1=Factor[f[z]], l=Limit[f[z],z->k]}
h[z_]:=Piecewise[{{l,z==k}},f[z]]; ParametricPlot[
Through[{Re,Im}[Evaluate[f[x+I*y]]]],{x,-3,3},{y,-3,3},
PlotPoints->200,ColorFunction->Function[{x,y},Hue[y]],
AspectRatio->1,Frame->True,Axes->False]

Geometric interpretations of complex numbers and functions


Maple:
with(plots):
plot(f(theta),theta=theta1..theta2,ops);
pointplot(list,ops); polarplot(f(theta),theta=theta1..theta2);
polarplot(f(theta),theta=theta1..theta2,style=point);
implicitplot(f(x+I*y),x=a..b,y=c..d,ops);
densityplot(f(x+I*y),x=x1..x2,y=y1..y2,ops);
with(plottools);
z0:=<x0,y0>;
arrow(z0,z1,ops);

252

Complex Functions

Mathematica:
Plot[f[theta],{theta,theta1,theta2}]
PolarPlot[f[theta],{theta,theta1,theta2}]
ListPlot[list,ops]
ListPolarPlot[list,ops] RegionPlot[Ineqs,{x,x1,x2},{y,y1,y2}]
DensityPlot[f[x+I*y],{x,x1,x2},{y,y1,y2},ops]
ContourPlot[f[x+I*y],{x,x1,x2},{y,y1,y2},ops]
z1={x1,y1};
Graphics[{Arrowheads[{spec}],Arrow[{z1,...,zn}]}]

Problem 8.11 Graph various sets of complex numbers (e.g, points, lines,
curves, and regions) over the complex plane and in the polar coordinate
system.
Maple:
with(plots): interface(showassumed=0): assume(z,complex);
zPolar:=polar(z); f1:=theta->argument(subs(
{op(1,zPolar)=5,op(2,zPolar)=theta},zPolar));
plot(f1(theta),theta=-Pi..Pi,thickness=3);
pointplot([seq([i,1/i^2],i=1..50)],color=blue,symbol=circle,
symbolsize=20); polarplot(2*cos(theta),theta=0..Pi);
polarplot(Pi/theta,theta=1..100,style=point);
implicitplot([argument((x+I*y)+2-I)=-Pi/6,
argument((x+I*y)+2-I)=Pi/4],x=-2..2,y=-2..2,filledregions,
coloring=[blue,green]); implicitplot(Re(1/(x+I*y)^2)=1/4,
x=-2..2,y=-2..2,grid=[100,100],filledregions,
coloring=[blue,green]); with(plottools):z1:=<2,-2>; z2:=<4,5>;
A1:=arrow(z1,z2,.1,.4,.1): A2:=arrow(z1,z1+z2,.1,.4,.1):
display({A1,A2},axes=framed,color=blue);

Mathematica:
polar=ComplexExpand[z,{z},TargetFunctions->{Arg,Abs}]
f1[theta_]:=Arg[polar/.{Abs[z]->5,Arg[z]->theta}];
Plot[f1[theta],{theta,-Pi,Pi}]
ListPlot[Table[{i,1/i^2},{i,1,50}],PlotStyle->PointSize[0.02]]
PolarPlot[2*Cos[theta],{theta,0,Pi}]
ListPolarPlot[Table[Pi/theta,{theta,1,100}]]
RegionPlot[-Pi/6<=Arg[(x+I*y)+2-I]<=Pi/4,{x,-2,2},{y,-2,2}]
RegionPlot[Re[1/(x+I*y)^2]>1/4,{x,-2,2},{y,-2,2}]
z1={2,-2}; z2={4,5}; g1=Graphics[{Blue,Arrow[{{0,0},z1}]}];
g2=Graphics[{Blue,Arrow[{z1,z2}]}];

8.3

Complex Integration

253

g3=Graphics[{Blue,Arrow[{z2,z1+z2}]}]; Show[g1,g2,g3]
Graphics[{Blue,Arrow[{{0,0},z1,z2,z1+z2}]}]
Graphics[{Arrowheads[{-.1,.1}],Blue,Arrow[{z1,z2}]}]


Problem 8.12 Graph various complex functions over the complex plane.
Maple:
with(plots); ops:=colorstyle=HUE,style=patchnogrid,
brightness=0.9,contrast=0.7,numpoints=5000,axes=boxed;
f1:=z->sin(z); f2:=z->Re(z); f3:=z->Im(z);
densityplot(evalc(abs(1/f1(x+I*y))),x=-1..1,y=-1..1,ops,
view=[-1/20..1/20,-1/20..1/20]);
densityplot(evalc(f2(sin((x+I*y)^2))),x=-2..2,y=-2..2,ops,
view=[-2..2,-2..2]); implicitplot(evalc(f3(sin((x+I*y)^2))),
x=-3..3,y=-3..3,color=blue,numpoints=5000,view=[-3..3,-3..3]);

Mathematica:
f1[z_]:=Sin[z]; f2[z_]:=Re[z]; f3[z_]:=Im[z];
DensityPlot[Abs[1/f1[x+I*y]],{x,-2,2},{y,-2,2},
ColorFunction->Function[{x,y},Hue[y]]]
DensityPlot[f2[Sin[(x+I*y)^2]],{x,-2,2},{y,-2,2},
ColorFunction->Function[{x,y},Hue[y]]]
ContourPlot[Evaluate[f3[Sin[(x+I*y)^2]]],{x,-3,3},{y,-3,3}]

8.3

Complex Integration

Maple:
f:=z->expr;
F:=u(x,y)+I*v(x,y); w:=evalc(F); diff(f(z),z);
U:=evalc(Re(F)); V:=evalc(Im(F)); int(f(z),z,'continuous');
int(f(z),z,'CauchyPrincipalValue'); int(f(z),z,'AllSolutions');

Mathematica:
f[z_]:=expr; D[f[z],z] F=u[x,y]+I*v[x,y]
w=ComplexExpand[F]
ComplexExpand[Re[F]] ComplexExpand[Im[F]] Residue[f[z],{z,z0}]
Integrate[f[z],{z,a,b},PrincipalValue->True] NIntegrate[f[z],z]

254

Complex Functions

Problem 8.13 The Cauchys integral theorem: let A be an open subset


of B which is simply connected, let f : A B be a holomorphic function,
and let C be a rectiable
path in A whose starting point is equal to its

f (z) dz = 0. Evaluate this integral for f (z) = z 2 .
ending point. Then,
C

Maple:
f:=z->z^2; C:=[r*exp(I*theta),theta=0..2*Pi];
Int(subs(z=C[1], f(z)*Diff(z,theta)),C[2])=
value(Int(subs(z=C[1], f(z)*Diff(z,theta)),C[2]));

Mathematica:
f[z_]:=z^2; z[theta_]:=r*Exp[I*theta];
intd=f[z[theta]]*z'[theta]
Integrate[TraditionalForm[intd],{theta,0,2*Pi}]==Integrate[
f[z[theta]]*z'[theta],{theta,0,2*Pi}]

Problem 8.14 Applying the Cauchys integral formula, evaluate the


integrals:


cosh(iz)
cosh(z)
dz,
dz.
2
4
|z|=2 z + 4z + 3
|z2|=2 z 1
Maple:
Eq1:=factor(cosh(I*z)/(z^2+4*z+3)); Eq2:=numer(Eq1);
Eq3:=denom(Eq1); f1:=unapply(Eq2/(z+3),z);
z0:=rhs(isolate(Eq3/(z+3),z)); i1:=2*Pi*I*f1(z0);
Eq11:=factor(cosh(z)/(z^4-1)); Eq12:=numer(Eq11);
Eq13:=denom(Eq11); f2:=unapply(Eq12/((z+1)*(z^2+1)),z);
z0:=rhs(isolate(Eq13/((z+1)*(z^2+1)),z));i2:=2*Pi*I*f2(z0);

Mathematica:
{eq1=Factor[Cosh[I*z]/(z^2+4*z+3)],
eq2=Numerator[eq1],eq3=Denominator[eq1]}
f1[z1_]:=eq2/(z+3)/.{z->z1};
{z0=Solve[eq3/(z+3)==0,z][[1,1,2]], i1=2*Pi*I*f1[z0]}
{eq11=Factor[Cosh[z]/(z^4-1)], eq12=Numerator[eq11],
eq13=Denominator[eq11]}
f2[z1_]:=eq12/((z+1)*(z^2+1))/.{z->z1}; {z0=Solve[
eq13/((z+1)*(z^2+1))==0,z][[1,1,2]],i2=2*Pi*I*f2[z0]}

8.4

Sequences and Series

255

Problem 8.15 Evaluate integral around poles:



f (z) dz = 2i
C

n


Res(f, a),

where f (z) =

k=1

5z 2
.
z2 z

Maple:
f:=(5*z-2)/(z^2-z); R0:=residue(f,z=0); R1:=residue(f,z=1);
2*Pi*I*(R0+R1);

Mathematica:
f[z_]:=(5*z-2)/(z^2-z); {r0=Residue[f[z],{z,0}],
r1=Residue[f[z],{z,1}], 2*Pi*I*(r0+r1)}

8.4

Sequences and Series

Problem 8.16 Evaluate lim zn , where zn = (n1/4 + i(n2 + 1))/n2 .


n=

Maple:
z_n:=(n^(1/4)+I*(n^2+1))/n^2; L1:=limit(z_n,n=infinity);

Mathematica:
{zn=(n^(1/4)+I*(n^2+1))/n^2, l1=Limit[zn,n->Infinity]}


Problem 8.17 Show that the series

(1 + i(1)n+1 n2 )/n4 converges.

n=1

Maple:
z:=n->(1+I*(-1)^(n+1)*n^2)/n^4; In:=infinity; ns:=1..infinity;
L:=expand(z(n+1)/z(n));limit(limit(subs((-1)^n=K,L),K=In),n=In);
S1:=sum(evalc(Re(z(n))),n=ns)+I*sum(evalc(Im(z(n))),n=ns);
S2:=convert(S1,StandardFunctions);

256

Complex Functions

Mathematica:
z[n_]:=(1+I*(-1)^(n+1)*n^2)/n^4;
{l=z[n+1]/z[n]//Expand, Limit[l,n->Infinity]}
Sum[ComplexExpand[Re[z[n]]],{n,1,Infinity}]+I*Sum[
ComplexExpand[Im[z[n]]],{n,1,Infinity}]


Problem 8.18 Find the radius of convergence of f (z) =


n=0

z 2n
2n!

Maple:
c:=n->1/(2*n)!; L:=simplify(c(n+1)/c(n)); A:=infinity;
R:=limit(1/L,n=A); sum(c(n)*z^(2*n),n=0..A);

Mathematica:
c[n_]:=1/(2*n)!; l=c[n+1]/c[n]//Simplify
{r=Limit[1/l,n->Infinity], Sum[c[n]*z^(2*n),{n,0,Infinity}]}


The Mandelbrot and Julia sets: let f :CC be either the complex plane
or the Riemann sphere. We consider f as a discrete dynamical
system on the phase space C and study the iteration behavior of
f . Let the map z  z 2 + c, where z = x + iy, c C. We dene the
2
sequence {zn }
n=0 as follows: zn = zn1 + c, z0 = 0.
The Mandelbrot set, M , generated for all values of c, consists of the
values of c for which the sequence {zn }
n=0 does not diverge to
innity under iteration. For the Julia set J(f ), we consider a x
2
point c and generate the sequence {zn }
n=0 as follows: zn = zn1 +c,
z0 = z.
The Julia set, J consists of the values of z0 for which the sequence
{zn }
n=0 does not diverge to innity under iteration. The Mandelbrot and Julia sets produce fractals.
Problem 8.19 Construct the Julia set in 2D and 3D for the map z 
z 3 Cz, C = 0.69 + 0.67i.

8.4

Sequences and Series

257

Maple:
with(plots): d:=3/2; CZ:=0.69+0.67*I; Ops2D:=symbol=circle,
style=point,color=red,axes=none; Ops3D:=colorstyle=HUE,
style=patchnogrid,axes=boxed,grid=[200,200];
JuliaSet2D:=proc(C,t,d) local x,y,z,i,L,k,m:
L:=[]: z:=0: k:=200: m:=3:
for x from -d*t to d*t do for y from -d*t to d*t do
z:=x/t+I*y/t: for i from 0 while i<k and evalf(abs(z))<m do
z:=z^3-C*z: od: if i=k then L:=[op(L),[x,y]]: fi: od: od:
RETURN(L): end:
JuliaSet3D:=proc(X,Y,C) local Z,m,k,t;
Z:=X+I*Y; k:=30: m:=3.0:
for t from 1 while t<k and evalf(abs(Z))<m do
Z:=Z^3-C*Z;od;-t; end:
L_J:=JuliaSet2D(CZ,30,d): pointplot(L_J,Ops2D);
densityplot('JuliaSet3D'(x,y,CZ),x=-d..d,y=-d..d,Ops3D);

Mathematica:
{d=3/2,cz=0.69+0.67*I}
Set2DJulia[c_,t_,d_]:=Module[{x,y,z=0,k=200,m=3.,l={},l1,i},
Do[Do[z=x/t+I*y/t;i=0;While[i<k && N[Abs[z]]< m,z=z^3-c*z;i++];
If[i==k,l=Join[l,{x,y}]],{y,-d*t,d*t}],{x,-d*t,d*t}];
l1=Partition[l,2]];
Set3DJulia[x_,y_,c_]:=Module[{z,m=3.,k=30,t=1},z=x+I*y;
While[t<k && N[Abs[z]]< m,z=z^3-c*z;t++]; Return[-t]];
lJ2D=Set2DJulia[cz,30,d];
ListPlot[lJ2D,PlotStyle->{PointSize[0.03],Hue[0.7]},
AspectRatio->1]
pointsJ=Table[Set3DJulia[x,y,cz],{y,-d,d,0.01},{x,-d,d,0.01}];
ListDensityPlot[pointsJ,Mesh->False,ColorFunction->Hue]

Problem 8.20 Construct the Mandelbrot (Multibrot) set in 3D for the


map z  z 3 .
Maple:
with(plots): d:=3/2; k:=200; m:=3; Ops:=colorstyle=HUE,
style=patchnogrid, axes=boxed,grid=[200,200];
MandelbrotSet:=proc(X,Y) local Z,t; Z:=X+I*Y;
for t from 1 while t<k and evalf(abs(Z))<m do
Z:=Z^3+(X+I*Y) od; -t; end:
densityplot('MandelbrotSet'(x,y),x=-d..d,y=-d..d,Ops);

258

Complex Functions

Mathematica:
{d=3/2,k=200,m=3}
Set3DMandelbrot[x_,y_]:=Module[{z,t=1},z=x+I*y;
While[t<k && N[Abs[z]]< m,z=z^3+(x+I*y);t++]; Return[-t]];
pointsM=Table[Set3DMandelbrot[x,y],{y,-d,d,0.01},
{x,-d,d,0.01}]; ListDensityPlot[pointsM,
Mesh->False,ColorFunction->Hue]

8.5

Singularities and Residue Theory

Singularities, series expansions about singularities, Laurent series


Maple:
f:=z->(z^2+a^2)^(-1/2); singular(f(z),z);
series(sqrt(z)+z^(-1/2),z=0,9); series(cos(sqrt(z)),z=0,9);
series((1/sin(z))^2,z=0,9);
with(numapprox): laurent(1/(x^3*sin(x^3)),x=0,19);
laurent(1/((x-1)*(x-3)),x=1,11); laurent(1/((x-1)*(x-3)),x=3,11);

Mathematica:
f[z_]:=(z^2+a^2)^(-1/2); Solve[1/f[z]==0,z]
{Series[Sqrt[z]+z^(-1/2),{z,0,9}],
Series[Cos[Sqrt[z]],{z,0,9}], Series[(1/Sin[z])^2,{z,0,9}]}
{Series[1/(x^3*Sin[x^3]),{x,0,9}], Series[1/((x-1)*(x-3)),
{x,1,9}], Series[1/((x-1)*(x-3)),{x,3,9}]}

Limits at singularities
Maple:
f0:=(x, y)->evalc(conjugate(x+I*y));
limit(f0(x, y),{x=x0,y=y0}); f1:=z->z^2; f2:=z->z^(1/2);
limit(f1(z),z=0,complex); limit(f2(z),z=0,complex);
f3:=z->z^(-2); f4:=z->z^(-1/2); f5:=z->exp(1/z);
limit(f3(z),z=0,complex); limit(f4(z),z=0,complex);
limit(f5(z),z=0,right);

8.6

Transformations and Mappings

259

Mathematica:
f0[x_,y_]:=ComplexExpand[Conjugate[x+I*y]];
Limit[Limit[f0[x,y],x->x0],y->y0]
f1[z_]:=z^2; f2[z_]:=Sqrt[z];
{Limit[f1[z],z->0], Limit[f2[z],z->0]}
f3[z_]:=z^(-2); f4[z_]:=z^(-1/2); f5[z_]:=Exp[1/z];
{Limit[f3[z],z->0], Limit[f4[z],z->0], Limit[f5[z],z->0]}

8.6

Transformations and Mappings

Problem 8.21 The transformation w = z 2 maps lines onto lines or


parabolas. Find the image of the vertical line x = 5.
Maple:
z:=(x+I*y)^2; Eq1:={U=evalc(Re(z)),V=evalc(Im(z))};
Eq2:=subs(x=5,Eq1); Eq3:=eliminate(Eq2,y);
Sols:=[solve(Eq3[2][1],U)]; U:=V->expand(Sols[1]);
U(V); plot(U(V), V=-10..10);

Mathematica:
{z=(x+I*y)^2, eq1={u==ComplexExpand[Re[z]],
v==ComplexExpand[Im[z]]}, eq2=eq1/.{x->5},
eq3=Eliminate[eq2,y]}
u[v_]:=Flatten[Solve[eq3,u]//Simplify][[1,2]]; u[v]
Plot[u[v],{v,-10,10},PlotStyle->{Blue,Thickness[0.01]}]

Conformal mapping z = f (Z) on a rectangular region and the Riemann


sphere
Maple:
with(plots): f:=z->(5*z-1)/(5*z+1);
conformal(f(z),z=-1-2*I..1+2*I,-5-5*I..5+5*I,
grid=[25,25],numxy=[140,140]);
conformal(cos(z)-sin(z),z=0-2*I..2*Pi+2*I,color=gold);
conformal3d(cos(z)-sin(z),z=0-2*I..2*Pi+2*I,color=white,
grid=[20,20],orientation=[17,111]);

260

Complex Functions

Mathematica:
f1[z_]:=(5*z-1)/(5*z+1); f2[z_]:=Cos[z]-Sin[z];
ParametricPlot[Through[{Re,Im}[f1[x+I*y]]],{x,-5,5},
{y,-5,5},Mesh->30,PlotPoints->80,PlotStyle->Hue[0.7],
AspectRatio->1,PlotRange->{{0,2},{-1,1}}]
ParametricPlot[Through[{Re,Im}[f2[r*Exp[I*t]]]],{r,0,1},
{t,0,2*Pi},PlotStyle->Hue[0.9],AspectRatio->1,
PlotRange->{{0.6,1.3},{-0.5,0.5}}]
ParametricPlot[Through[{Re,Im}[f2[x+y*I]]],{x,-2,2+2*Pi},
{y,-2,2},PlotStyle->Hue[0.9],AspectRatio->1,PlotRange->All]
ParametricPlot3D[Evaluate[{ComplexExpand[Re[f2[x+I*y]]]/(1+
Abs[f2[x+I*y]]^2),ComplexExpand[Im[f2[x+I*y]]]/(1+
Abs[f2[x+I*y]]^2),Abs[f2[x+I*y]]^2/(1+Abs[f2[x+I*y]]^2)}],
{x,0,2*Pi},{y,-Pi,Pi},ColorFunction->Function[{x,y},
Hue[0.1*(x+y)]],BoxRatios->{1,1,1},Mesh->30]

Riemann surfaces
We construct the graph of the Riemann surface for the logarithm function w = ln z considering the map z = exp(w) = exp(u + iv).
Maple:
with(plots): w:=u+I*v; z:=evalc(exp(w)); x:=evalc(Re(z));
y:=evalc(Im(z)); Eq1:=z=X+I*Y; Eq2:=evalc(Re(Eq1)); Eq3:=
evalc(Im(Eq1)); eliminate({map(x->x^2,Eq2)+map(x->x^2,Eq3)},u);
plot3d([x,y,v],u=-1..1,v=-4*Pi..4*Pi,grid=[100,100],
orientation=[-27,67],style=PATCHNOGRID,axes=none,colour=v);

Mathematica:
{w=u+I*v, z=ComplexExpand[Exp[w]], x=ComplexExpand[Re[z]],
y=ComplexExpand[Im[z]]}
{eq1=z==X+I*Y, eq2=ComplexExpand[Thread[Re[eq1],Equal]],
eq3=ComplexExpand[Thread[Im[eq1], Equal]],
eq31=Thread[eq2^2,Equal], eq32=Thread[eq3^2,Equal],
Reduce[Simplify[Thread[eq31+eq32,Equal]],{u},Reals]}
ParametricPlot3D[{x,y,v},{u,-1,1},{v,-4*Pi,4*Pi},PlotPoints->70,
Mesh->None,Axes->None,BoxRatios->{1,1,1},ViewPoint->{-27,77,39},
ColorFunction->Function[{u,v},Hue[u*v]]]

Вам также может понравиться