A Pythagorean triple is a set of three positive integers a, b, and c having the property that they can be respectively the two legs and the hypotenuse of a right triangle, thus satisfying the equation
[1] F. J. M. Barning showed[2] that when any of the three matrices is multiplied on the right by a column vector whose components form a Pythagorean triple, then the result is another column vector whose components are a different Pythagorean triple.
So if any one of them, for example A, is applied to a primitive Pythagorean triple (a, b, c)T to obtain another triple (d, e, f)T, we have (d, e, f)T = A(a, b, c)T and hence (a, b, c)T = A−1(d, e, f)T. If any prime factor were shared by any two of (and hence all three of) d, e, and f then by this last equation that prime would also divide each of a, b, and c. So if a, b, and c are in fact pairwise coprime, then d, e, and f must be pairwise coprime as well.
This can be seen by applying in turn each of the unimodular inverse matrices A−1, B−1, and C−1 to an arbitrary primitive Pythagorean triple (d, e, f), noting that by the above reasoning primitivity and the Pythagorean property are retained, and noting that for any triple larger than (3, 4, 5) exactly one of the inverse transition matrices yields a new triple with all positive entries (and a smaller hypotenuse).
A geometric interpretation for this tree involves the excircles present at each node.
For instance, the matrix D = CB moves one out the tree by two nodes (across, then down) in a single step; the characteristic equation of D provides the pattern for the third-order dynamics of any of a, b, or c in the non-exhaustive tree formed by D. Another approach to the dynamics of this tree[8] relies on the standard formula for generating all primitive Pythagorean triples: with m > n > 0 and m and n coprime and of opposite parity (i.e., not both odd).
Pairs (m, n) can be iterated by pre-multiplying them (expressed as a column vector) by any of each of which preserves the inequalities, coprimeness, and opposite parity.
[9] Then the matrix multiplications will preserve the inequalities and coprimeness, and both m and n will remain odd.
This tree will produce the same primitive Pythagorean triples, though with a and b switched.
This approach relies on the standard formula for generating any primitive Pythagorean triple from a half-angle tangent.
Specifically one writes t = n / m = b / (a + c), where t is the tangent of half of the interior angle that is opposite to the side of length b.
(Alternatively, write t = n / m as a fraction in lowest terms and use the formulas from the previous section.)