[math-fun] Why Heronian triangles are integer-posable
A Heronian triangle is a triangle with integer sides and rational area. I can prove by a modular analysis mod 2 and mod 3 that the area automatically always 6*integer. The fact any such triangle is "integer posable" meaning one can place it so its vertices have integer XY coordinates, was proved by Paul Yiu and then by Michael Reid, the latter as a mathfun post. Now let me explain WHY this is true. It is basically because of these facts: 1. multiplying by a complex number performs a rotation and scaling. 2. Gaussian integers a+bi, a,b ordinary integers, have a Euclidean algorithm for finding GCD of two of them. GCD means a divisor of both having maximum length. Here is my C code for that purpose: // GIgcd(ar,ai, br,bi, &gr,&gi) finds g=GCD of two Gaussian Integers a,b void GIgcd(int ar, int ai, int br, int bi, int *gr, int *gi){ int bn,bn2,tr,ti,wr,wi; while(br!=0 || bi!=0){ bn = br*br+bi*bi; //bn = |b|^2 bn2 = bn/2; tr = ar*br+ai*bi; ti = ai*br-ar*bi; //trti = a*conj(b) tr = ( tr + ((tr<0)?(-bn2):(bn2)) )/bn; ti = ( ti + ((ti<0)?(-bn2):(bn2)) )/bn; //trti = a/b rounded to integers wr = ar-tr*br+ti*bi; wi = ai-tr*bi-ti*br; //w = a - b*trti = "a mod b" ar = br; ai = bi; br = wr; bi = wi; } //normalize to be in pospos quadrant: if(ar<0){ ar = -ar; ai = -ai; } if(ai<0){ ti = -ai; ai = ar; ar = ti; //multiplies a by i } *gr = ar; *gi = ai; } 3. Gaussian integers are "prime" if they have no smaller-length divisor. The primes are exactly the Gaussians with length that is a prime 3 mod 4, or the squareroot of a prime 1 mod 4 [and also the Gaussians with length sqrt(2) and 1]. There are exactly 4 Gaussian primes with length P = prime = 3 mod 4 (arising from multiply by 1,-1,i,-i). There are exactly 8 Gaussian primes with length=sqrt(P = prime = 1 mod 4) (arising from multiply by 1,-1,i,-i and conjugation). 4. There is unique factorization of every Gaussian X into primes, except that each prime can be multiplied by (1,-1,i,-i) so long as the total multiple is 1. The primes in the factorization all have squared lengths or lengths that are the same as the ordinary primes in the factorization of |X|^2. 5. Given any rational pose of triangle, we can by multiplying by LCM(denominators) find an integer pose with one vertex at 0+0i. 6. Given any two Gaussian integers A and B, we can find G=GCD(A,B) and then A/G and B/G is an integer pose scaled to have smaller lengths. 7. We also can compute g=GCD(|A|, |B|) if |A| and |B| are ordinary integers. So now: THEOREM: |G|=g. Proof by induction, reduce A, B by dividing out one common Gaussian prime at a time while simultaneously dividing out corresponding ordinary primes from |A|,|B| so that at all stages the norms correspond. If an ordinary prime p=1 mod 4 is divided out, then we can divide out two conjugate Gaussian primes whose product is p. Each inductive step always is possible due to fact 3, and same fact shows that both parallel operations run out of primes at the same time. QED --------------------- OK? So that hopefully not only provides a new posability proof, but also explains nicely "why it works." It's all about the structure of Gaussian prime factorizations. (The same proof also works in the "Eisenstein integers" and probably various other Euclidean rings too.) Now when I came up with this proof, I thought to myself: I'll just generalize this to the Hurwitz quaternionic 4-dimensional 'integers' and maybe even the Cayley octonionic 8D 'integers'! However, that apparently does not work. The reason it does not work is that the analogous "unique factorization into primes" theorems, are not quite as nice: In the Hurwitzes and Cayleys, the number of primes with norm=p is known to be an unboundedly growing function of p (unlike in the Gaussians where there is an upper bound of 8), but there are only at most 576=24*24 ways to alter a Hurwitz number by multiplying by the 24 Hurwitz units on the right and left. Hence, when you want to divide out a Hurwitz prime of norm=p from Hurwitzes A and B with |A| and |B| both divisible by p, in general it will happen that they DO NOT HAVE a common Hurwitz prime divisor with that norm. They instead usually have TWO DIFFERENT Hurwitz prime divisors with that norm. So the theorem that |G|=g is simply false if you try to redo it in the Hurwitzes. However, it might be that Heronian tetrahedra are special -- their vertices are not general Hurwitzes, they are specially nicely related Hurwitzes. For this reason, the theorem might still be able to work for Heronian tetrahedra, but if so, some further ingredient will be needed to prove it. -- Warren D. Smith http://RangeVoting.org <-- add your endorsement (by clicking "endorse" as 1st step)
participants (1)
-
Warren Smith