Moebius transformations of the plane.
A function is called a Moebius map if it is non-constant.
Problem. Show that a function is a Moebius map if and only if
solution
> f := z -> (a*z+b)/(c*z+d);
Now f is nonconstant if and only if f(z) and f(w) are different for some z and w, so
> f(z)-f(w) <> 0;
Now simplify and look at the numerator of the left hand side.
> num :=numer(simplify(f(z)-f(w)));
Factor out the w from two terms and the z from the other two terms, then factor that.
> collect(num,[w,z]);
> factor(numer(simplify(f(z)-f(w))));
By inspection, we see that the only way for f(z) and f(w) to differ for some z and w is for ad - bc to be nonzero.
Problem. Show that Moebius maps are 1-1 functions defined every except possibly at one number and taking every value except possibly one number.
Definition: The extended complex plane is the complex plane together with a new point, . Points in the extended complex plane are identified with the points on a sphere sitting on the complex plane with the south pole on 0, the north pole is identified with infinity, and each complex number z is identified with the point on the sphere that lies on the segment on from the north pole to z.
Note that the moebius map f: is undefined at (provided ). However, in the extended complex plane we can say that = . Similarly, we can extend the definition of f to include a value at infintity,
= = .
With this extension, the moebius maps form a nice collection of 1-1 maps of the extended complex plane onto itself.
Problem. Show that translations ( ), rotations , stretches ( ), and the inversion are all Moebius maps.
solution
A translation is a moebius map with a = 1, b = z[0], c = 0 and d = 1. A rotation is a mobius map with a = cos(theta)+I*sin(theta), b= 0, c = 0, and d = 1. For a stretch take a = r, b = c = 0 and d =1, and for inversion take a=0, b=1, c=1, and d=0.
Problem. Show that the Moebius maps form a semigroup under composition. Do they form a group?
solution
Define a moebius map maker
> mrmp := (a,b,c,d) -> z -> (a*z +b)/(c*z +d);
Use it to make two moebius maps f and g.
> f := mrmp(a1,b1,c1,d1);
> g := mrmp(a2,b2,c2,d2);
simplify and collect the composition g(f(z)).
> map(collect,simplify(g(f(z))),z);
By inspection we see that it has the right form. It is nonconstant, since it is the composition of nonconstant maps. So it is Moebius! We already know that composition of functions is associative, so the moebius maps form a semigroup under composition.
To see that it is a group, we need to compute the inverse function.
> w:='w': eq:=w =f(z);
> z = solve(eq,z);
Hence the inverse of is . Thus the Moebius maps form a group under compostion.
>
Problem. Show that every Moebius map is the composition of basic Moebius maps (translations, rotations, stretches, and inversion).
solution
Call the map . If c = 0 then the map is . Write . Then f is the composition of a stretch by r followed by a rotation through followed by a translation by . The stretch and the rotation commute, and are combined into multiplication by . If , write = . We see that the function is multiplication by c followed by translation by d followed by inversion followed by multiplication by followed by translation by .
Problem. Show that takes circles through the origin to lines not through the origin and vice versa. Which lines are carried onto themselves?
Solution
Let be the center of the circle and r be its radius. We can multiply by a unit complex number a so that = c is a real number. Since for any z , , we know the image of the circle under inversion is the image of the circle under rotation by a followed by inversion followed by rotation by a. So we need only show it for circles through the origin centered at c on the real axis. In this case r = c, and a typical point on the circle looks like z = . First we check the real part of .
> Re(1/(c+c*(cos(t)+I*sin(t))))=evalc(Re(1/(c+c*(cos(t)+I*sin(t)))));
> evalc(Re(1/(c+c*(cos(t)+I*sin(t))))) =simplify(evalc(Re(1/(c+c*(cos(t)+I*sin(t))))));
This says that the image of the circle of radius c centered at c under inversion is contained in the vertical line . Now look at the imaginary part of 1/z
> Im(1/(c+c*(cos(t)+I*sin(t))))=evalc(Im(1/(c+c*(cos(t)+I*sin(t)))));
> evalc(Im(1/(c+c*(cos(t)+I*sin(t))))) =simplify(evalc(Im(1/(c+c*(cos(t)+I*sin(t))))));
We see that at t = 0, is on the x-axis and as , the imaginary part of goes to . Also as , the imaginary part of goes to . So the entire vertical line is covered. This completes the argument that circles through the origin are carried to lines not through the origin. On the other hand, if l is a line not through the origin, then we can rotate it to a vertical line not through the origin, invert it to a circle through the origin (because 1/(1/z)) = z) then rotate that circle to the appropriate circle through the origin.
We can see by inspection that the x-axis and the y-axis are carried onto themselves (except 0 is not in the image) under inversion, whereas any other line through the origin get carried onto its conjugate line (here again 0 is not covered).
We can define a new word to examine the image of any path pth under a function of a complex variable p.
>
complextools[pathimage] := proc(p,pth,rng)
local t,z,opts,f,g,pf,pg;
opts := op(select(type,[args],`=`));
if type(pth,list) then f := pth[1]: g := pth[2] else
f := Re(pth(t)): g := Im(pth(t)) fi:
z := evalc(p(pth(t)));
pf := unapply(Re(z),t); pg := unapply(Im(z),t);
plot([[f(t),g(t),t=rng],[pf(t),pg(t),t=rng]],opts) end:
with(complextools);
Look at the circle centered at 1/2 + 1/2*I passing through 0 (blue) and its image (red) under inversion.
>
pathimage(z->1/z, t-> 1/2 + 1/2*I + abs(1/2 + 1/2*I)*(cos(t)+I*sin(t)),
0..2*Pi,view=[-2..3,-2..2],color=[blue,red],scaling=constrained);
In the animation below, the magenta circle is the unit circle, the blue circle passes through the origin, and the red line is its image under inversion . We can see a theorem here: If C is a circle passing through the origin, then 1/C is the line through and , where and are the points of intersection of C with the unit circle.
> circ := plot([cos(t),sin(t),t=0..2*Pi],color=magenta):
>
plots[display]([seq(plots[display]([circ,pathimage(z->1/z, t-> 1/2+(i/10) + 1/2*I + abs(1/2+i/10 + 1/2*I)*(cos(t)+I*sin(t)),
0..2*Pi,view=[-2..3,-2..2],color=[blue,red],scaling=constrained)]),i=0..10)],insequence=true);
>
Problem . Show that z -> 1/z takes circles not through the origin to circles not through the origin. Which circles are carried onto them selves?
Solution
Here again, because , we can assume the circle is centered on the real axis, say at c, and has radius r. The points r+c and c-r are endpoints of a diameter of the circle (and are both nonzero). Their reciprocals and are the endpoints of a diameter of the image curve which we are trying to show is a circle. The average of these points should be the center of the image circle (if it is a circle). We check the absolute value of the number to see if it is constant.
> (abs( 1/(c+r*(cos(t)+I*sin(t)))- 1/2 *(1/(r+c)+1/(c-r))))^2=factor(simplify(evalc(abs( 1/(c+r*(cos(t)+I*sin(t)))- 1/2 *(1/(r+c)+1/(c-r))))^2));
And indeed it is! Hence the image curve is a circle of radius . Note it does not pass though 0.
Which circles are taken onto themselves? By inspection, we can see that only circles centered on the real axis could possibly be taken to themselves. Of those, the unit circle is the only one centered at 0. Of the remaining, the endpoints of the diameter on the real axis must be reciprocals. So, if the radius is r and the center is c, we have . Solving for c, . Hence there are for each radius r >0 but exactly two circles centered at and respectively which get carried into themselves under inversion. Checking this with maple, we see in the animation below only the blue circle, not its red image under inversion.
> circ := plot([cos(t),sin(t),t=0..2*Pi],color=magenta):
>
plots[display]([seq(plots[display]([circ,pathimage(z->1/z, t-> sqrt(1+(1/2+(i/10))^2) + abs(1/2+i/10 )*(cos(t)+I*sin(t)),
0..2*Pi,view=[-2..3,-2..2],color=[blue,red],scaling=constrained)]),i=0..10)],insequence=true,scaling=constrained);
>
There is a theorem here: The circles with nonzero center which get carried to themselves under inversion are orthogonal to the unit circle, ie, intersect the unit circle at a right angle.
Problem. Show that the image of a line or a circle under a Moebius map is either a line or a circle.
Solution
By a previous problem, each Moebius map is a composition of rotations, radial stretches, translations, and inversion. Clearly maps of the first 3 kinds take circles and lines to circles and lines respectively. All that remains is to show inversion takes lines and circles to lines or circles.
From the two previous problems, we know that circles through the origin go to lines not through the origin and circle not through the origina go to circles not through the origin. So a circle go either to a line or a circle. A line through the origin looks like the real scalar multiples of of some complex number on the unit circle Under inversion . This is all scalar multiples (except 0) of the conjugate of a. In particular it is a line through the origin.. So lines are taken either to a line or a circle.
Problem. Find all Moebius maps which take 0 to I, 1 to 2, and 2 to 1+I.
Solution
Let the map be We want to solve the equations f(0) = I, f(1) = 2 and f(2) = I+1 for a, b, c, d
> f := z-> (a*z+b)/(c*z+d);
> eqs := {f(0)=I, f(1)=2,f(2)=I+1};
> sol:= solve(eqs,{a,b,c});
> sold:=unapply(sol ,d);
It appears that each value of d gives a different moebius map, but it is not so. We can multiply the top and bottom of the map through by any nonzero number without changing the function values. So there is only one such map taking on the 3 specified values.
> f := unapply(subs(sold(1) union {d=1},f(z)),z);
> pieimage(f,[.5,1,1.5,2],``,``,0..2);
Question : As a map on the extended complex plane, what is and what for what z is ? Answer : We can get the first value by dividing top and bottom by z and letting z go to infinity to get = . In the plot above it.s inside the small white circle. Now the z such that f(z) = infinity is the z such that the denominator of f(z) is 0 which is = . In the plot it lies at point all the blue rays emanate from.
>
Problem. Show that every Moebius map is completely determined by determined by where it takes 3 points.
Solution
This is an interpolation problem. We are given a 3 point table of values , , and , which is 3 equations in 4 unknowns. Solving for a,b, and c, we a unique solution independent of d.
> f := z -> (a*z+b)/(c*z+d);
> eqns := {f(z[1]) = w[1], f(z[2]) = w[2], f(z[3]) = w[3]};
> solve(eqns,{a,b,c});
>
>