2003-10-30-apollonian.mw

Apollonian Gasket Calculations

First, here's the Saudi Equation

> 2*(a^2 + b^2 + c^2 + d^2) = (a+b+c+d)^2;

2*a^2+2*b^2+2*c^2+2*d^2 = (a+b+c+d)^2

Suppose that for a given (a,b,c), both d and d' are solutions this equation:

> 2*(a^2 + b^2 + c^2) + 2*d^2 = (a+b+c)^2 + 2*d*(a+b+c) + d^2;
2*(a^2 + b^2 + c^2) + 2*d^2 - (a+b+c)^2 - 2*d*(a+b+c) - d^2 = 0;

d^2 - (2*a + 2*b + 2*c)*d + 2*(a^2 + b^2 + c^2) - (a+b+c)^2 = 0;

2*a^2+2*b^2+2*c^2+2*d^2 = (a+b+c)^2+2*d*(a+b+c)+d^2

2*a^2+2*b^2+2*c^2+d^2-(a+b+c)^2-2*d*(a+b+c) = 0

d^2-(2*a+2*b+2*c)*d+2*a^2+2*b^2+2*c^2-(a+b+c)^2 = 0

So then:

> d + dprime = 2*a + 2*b + 2*c;
d * dprime = 2*(a^2 + b^2 + c^2) - (a+b+c)^2;

d+dprime = 2*a+2*b+2*c

d*dprime = 2*a^2+2*b^2+2*c^2-(a+b+c)^2

Next define a function u which takes in four cluster variables and return the exchange for the fourth.

> u := (a,b,c,d) -> simplify(2*a + 2*b + 2*c - d);

u := proc (a, b, c, d) options operator, arrow; simplify(2*a+2*b+2*c-d) end proc

Clusterfy u into a 4-cluster.  

> e := (w,x,y,z) -> (u(x,y,z,w),x,y,z);
f := (w,x,y,z) -> (w,u(w,y,z,x),y,z);

g := (w,x,y,z) -> (w,x,u(w,x,z,y),z);

h := (w,x,y,z) -> (w,x,y,u(w,x,y,z));

e := proc (w, x, y, z) options operator, arrow; u(x, y, z, w), x, y, z end proc

f := proc (w, x, y, z) options operator, arrow; w, u(w, y, z, x), y, z end proc

g := proc (w, x, y, z) options operator, arrow; w, x, u(w, x, z, y), z end proc

h := proc (w, x, y, z) options operator, arrow; w, x, y, u(w, x, y, z) end proc

Some things we can  are downright meaingless:  For instance:

> e(x,x,x,x);

5*x, x, x, x

doesn't mean anything.  Can you imagine four circles that all have the same radius kissing?  No.  So we define.

> v1 := (a,b,c) -> simplify(a+b+c + 2*(a*b+a*c+b*c)^(1/2));
v2 := (a,b,c) -> simplify(a+b+c - 2*(a*b+a*c+b*c)^(1/2));

v1 := proc (a, b, c) options operator, arrow; simplify(a+b+c+2*(a*b+a*c+b*c)^(1/2)) end proc

v2 := proc (a, b, c) options operator, arrow; simplify(a+b+c-2*(a*b+a*c+b*c)^(1/2)) end proc

So if we had three circles with radius x,y, and z, we can let w be the inner circle for the kiss of x, y, and z.

> w := v1(x,y,z);

w := x+y+z+2*(x*y+x*z+y*z)^(1/2)

But we want  simpler looking equations, so let M = (xy+xz+yz)^(1/2):

> w := x+y+z+2*M;

w := x+y+z+2*M

Then we can look at some of the clusters that are accessible form this cluster.

> (w,x,y,z);
e(w,x,y,z);

e(f((w,x,y,z)));

e(f(e(w,x,y,z)));

e(e(f(e(w,x,y,z))));

h(h(e(f(e(w,x,y,z)))));

x+y+z+2*M, x, y, z

x+y+z-2*M, x, y, z

x+9*y+9*z+6*M, x+4*y+4*z+4*M, y, z

x+9*y+9*z-6*M, x+4*y+4*z-4*M, y, z

x+y+z-2*M, x+4*y+4*z-4*M, y, z

x+9*y+9*z-6*M, x+4*y+4*z-4*M, y, z

All of these are "nice" equations, as expected!

But what if we start with 0,1,1?  

> z:=0;
x:=1;

y:=1;

w:=v1(x,y,z);


(w,x,y,z);

h(w,x,y,z);

e(f((w,x,y,z)));

e(f(e(w,x,y,z)));

e(e(h(e(w,x,y,z))));

h(h(e(f(e(w,x,y,z)))));

h(g(h(h(e(f(e(w,x,y,z)))))));

z := 0

x := 1

y := 1

w := 4

4, 1, 1, 0

4, 1, 1, 12

16, 9, 1, 0

4, 1, 1, 0

0, 1, 1, 4

4, 1, 1, 0

4, 1, 9, 28

> z:='z': x='x': y:='y': w:='w';

w := w

> x:='x':y:='y':z:='z':
(w,x,y,z);

e(w,x,y,z);

f(w,x,y,z);

g(w,x,y,z);

h(w,x,y,z);


w, x, y, z

2*x+2*y+2*z-w, x, y, z

w, 2*w+2*y+2*z-x, y, z

w, x, 2*w+2*x+2*z-y, z

w, x, y, 2*w+2*x+2*y-z

> (x+y+z+2*(x*y+x*z+y*z)^(1/2), x, y, z);

x+y+z+2*(x*y+x*z+y*z)^(1/2), x, y, z

>

>