<<

Solving Polynomial Systems Over Local Fields, 2015 19 Oct. 2015 Quick Notes on Hermite Factorization Hermite Factorization, which dates back to work of Charles Hermite around 1856, is to matrices what is to matrices over fields. Hermite Factorization has applications to the classification of finitely generated Abelian groups and, more recently, quantum-resistant cryptography. Most relevant to our setting, Hermite Factorization si- multaneously (a) generalizes the Extended Euclidean Algorithm, (b) enables the solution of binomial systems over any field, and (c) can be thought of as a (disguised) special case of the calculation of a Gr¨obner basis. Here, we’ll very quickly review the core fundamentals of Hermite Factorization. m×n Recall that for any A =[ai,j] ∈ C , a leading entry of A is simply an entry ai,j ′ with (i) ai,j =0,6 (ii) either i = m or ai′,j =0 for all i >i, and (iii) either j =1 or ai,j′ =0 for all j′

m×m Lemma 3 For any a1,...,am ∈Z we can always find a U ∈Z with gcd(a1,...,am) a1 .  0  U  . = . .  .   am       0    Note: We use the standard convention that gcd(a1,...,am) is positive if it is nonzero. Proof of Lemma 3: The case m =1 is easy, since A is just the single entry a1: If a1 =0 then we have UA = H with U =1 and H = 0. Otherwise, we have UA = H with U = ±1 (where the sign agrees with that of a1) and H =|a1|. Instructor: J. Maurice Rojas The case m=2 is actually a disguised version of the Extended Euclidean Algorithm, ap- plied to the two entries of A. From what we know about the Extended Euclidean Algorithm, we can always find a 2 × 2 unimodular matrix V with [a1,a2]V = [gcd(a1,a2), 0]. Taking transposes, and setting U =V ⊤, we are done. For m ≥ 3 we simply proceed by induction: Assume we can find we can find a gcd(a ,...,a − ) a 1 m 1 1 0 m− × m− .   unimodular U¯ ∈Z( 1) ( 1) with U¯  . = . . Then, using block-  .   am−1       0  multiplication, we also clearly obtain   gcd(a1,...,am−1) a  0  ¯ 1 U  .  . . = . .  1     am   0       am  So then we can easily find an  S providing a swap so that gcd(a1,...,am−1) a1 U¯ .  am  S  . = . .  1   .   am       0  Applying block multiplication and the m =2 case one last time, we can then find a 2 × 2 W gcd(a1,...,am) a1  1  U¯ O .  0  unimodular matrix W with . S ′  .  = . .  ..   O 1   .     am     1     0      W  1  ¯ U O  So U = . S ′ satisfies our desired factorization and we are done.  ..   O 1     1   

Lemma 4 For any a1,...,am ∈ Z with am =6 0 we can always find a unimodular matrix U ′ ∈Zm×m with ′ a1 a1 . . ′  .   .  U = ′ ,  am−1   am−     1   am   |am|  ′ ′ ′ ′    a1,...,am−1 ≥0, and |am|>a1,...,am−1.

′ Proof of Lemma 4: For each i∈{1,...,m−1} let ai be the unique element of {0,..., |am|} ′ ′ with ai ≡ai mod ad. In particular, we can set ai =ai −⌊ai/am⌋ am. Let I denote the m × m . Then, letting Ei denote the m × m elementary matrix that equals I save for an entry of −⌊ai/am⌋ in the (i,m) position (for all i ∈ {1,...,m − 1}), and letting Em be the matrix obtained by replacing the (m,m) entry of I by am/|am|, we easily obtain ′ a1 a1  .   .  . . ′  E1 ··· Em = ′ . So we can take U :=E1 ··· Em and we are done.  am−1   am−     1   am   |am|      Proof of Theorem 2: If A is the then we can simply set U to be the m × m identity matrix and H to be the m × n zero matrix. Since there are no leading entries at all for H, we vacuously obtain a Hermite Factorization, and we see that the factorization is non-unique since we could have multiplied U by −1. So let us assume henceforth that A has at least one nonzero entry. Recalling how Gaussian Elimination proceeds column by column to create leading 1s, we will mimic this process with elementary row operations invertible over Z to produce leading entries that are simply positive (and possibly not equal to 1). In particular, by Lemma 3, we can find a matrix U1 with H1 := U1A having a positive leading entry at the top of its first nonzero column. Let us call this entry h1,j1 . If m=1 or j1 =n then we are done. Otherwise, we let A2 be the submatrix of H1 defined by rows 2,...,m and columns j1 +1,...,n of H1. By Lemma 3 once again, we can find an (m − 1) × (m − 1) unimodular matrix U2 with U2A2 having a leading entry at the top of its 1 1 first nonzero column. Clearly, this implies that is unimodular and H1  U2   U2  has a leading entry in its second row, say at position j2. By Lemma 4, we can then find a ′ 2 × 2 matrix U2 such that ′ 0 ··· 0 h1,j1 ··· h1,j2−1 h1,j2 ∗ ··· ∗ U2  0 ··· 0 0 ··· 0 h2,j2 ∗ ··· ∗   1  1 . . . . H2 := .. H1 =  . . . . 0 ∗ ··· ∗ ,  .   U2   ......     ......   1       0 ··· 0 0 ··· 0 0 ∗ ··· ∗    where h2,j2 >h1,j2 ≥0 and * indicates an unknown entry. In particular, H2 has leading entries in rows 1 and 2. Continuing this way inductively, we arrive at the desired factorization, with H = Hj for some j ≤ m and U a product of block-diagonal matrices with diagonal blocks of one of (m−i+1)×(m−i+1) the following forms: 1, a unimodular matrix Ui ∈ Z , or a unimodular matrix ′ Zi×i Ui ∈ , for i ∈ {1,...,m − 1}. This proves the first assertion of our theorem, on the existence of Hermite factorization. To prove the final assertion, first assume that A has rank m. Then every Hermite factorization of A must result in an H with exactly m leading entries. Otherwise, we could divide each row with a leading entry by its leading entry and then use Gaussian Elimination to obtain a row echelon form for A with strictly less than m leading 1s, implying that A has rank 0, and ui,ih (1)i,i =h (2)i,i for all i (since u is upper- triangular), we see that the diagonal entries of U ′ are in fact all 1. Moreover, we see that ′ ′ the diagonal entries of H1 and H2 must be identical. ′ ′ ′ ′ ′ ′ ′ ′ Now observe that u1,1h (1)1,2 + u1,2h (1)2,2 = h (2)1,2, and thus h (1)1,2 + u1,2h (1)2,2 = ′ ′ ′ ′ ′ ′ h (2)1,2. In particular, if u1,2 > 0 then h (2)1,2 >h (1)2,2 = h (2)2,2 (since h (1)1,2 > 0) and ′ ′ this contradicts the definition of Hermite factorization (since we must have h (2)1,2 h (1)2,2 again yielding a contradiction. So we ′ must have u1,2 =0. ′ ′ Repeating the last argument inductively, computing h (2)1,3,...,h (2)1,m, we successively ′ ′ ′ obtain that u1,3 =0,...,u1,m =0. So the first row of U agrees with the first row of the m×m identity matrix. Continuing in the same way with the second row, the third row, etc., we ′ then at last obtain U is the m × m identity matrix. So U1 =U2 and thus H1 =H2. To conclude, assume that the rank of A is strictly less than m. We need to show that there at least two different Hermite factorizations for A. This is easy, upon observing that our low rank assumption implies that there is at least one row of H — call it hi — with no leading entry. Should this hi =O then we can clearly add any integral multiple of hi to any other row of H leaving H unchanged. This means that there are infinitely many integral shears that we can pre-multiply U by to get the same H, so U was not unique. If hi is not the zero row then it must have a positive non-zero entry hi,j with j ≥ 2 and hi,j−1 =0. So let hi′ be the unique row of H with a leading entry in the jth column. (Note ′ that i >i since H is upper-triangular.) Then we can add any integral multiple of hi to hi′ and the resulting new H (and the resulting new U obtained by pre-multiplying the old U by a suitable shear) will still satisfy all the axioms of Hermite factorization. So neither U nor H are unique.