forms a group, since the inverse of a matrix in Γ is again in Γ, as is the product of two matrices in Γ. The modular group acts on the collection of all integer spinors. Furthermore, the group is transitive on the collection of integer spinors with relatively prime entries. For if has relatively prime entries, then where and are selected (by the Euclidean algorithm) so that . By acting on the spinor ξ in (), the action of Γ goes over to an action on Pythagorean triples, provided one allows for triples with possibly negative components. Thus if is a matrix in , then gives rise to an action on the matrix in (). This does not give a well-defined action on primitive triples, since it may take a primitive triple to an imprimitive one. It is convenient at this point (per ) to call a triple standard if and either are relatively prime or are relatively prime with odd. If the spinor has relatively prime entries, then the associated triple determined by () is a standard triple. It follows that the action of the modular group is transitive on the set of standard triples. Alternatively, restrict attention to those values of and for which is odd and is even. Let the subgroup Γ(2) of Γ be the kernel of the group homomorphism where is the special linear group over the finite field of integers modulo 2. Then Γ(2) is the group of unimodular transformations which preserve the parity of each entry. Thus if the first entry of ξ is odd and the second entry is even, then the same is true of for all . In fact, under the action (), the group Γ(2) acts transitively on the collection of primitive Pythagorean triples . The group Γ(2) is the free group whose generators are the matrices Consequently, every primitive Pythagorean triple can be obtained in a unique way as a product of copies of the matrices and . Parent/child relationships By a result of , all primitive Pythagorean triples can be generated from the (3, 4, 5) triangle by using the three linear transformations T1, T2, T3 below, where , , are sides of a triple: In other words, every primitive triple will be a "parent" to three additional primitive triples. Starting from the initial node with , , and , the operation produces the new triple (3