FACTORING MATRICES TERRY A. LORING A lot of factorization results can be done using row operatations paired with column operations. To illustratate, suppose we have factored a 3-by-3 matrix A as A = ST, for some 3-by-3 matrices. We sort of like nicer one. We can insert −1 1 0 1 1 0 1 I = 0 1 0 0 1 0 = 0 0 1 0 0 1 this factorization, but want a 1 0 −1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 in the middle to get 1 0 −1 1 0 1 A = S 0 1 0 0 1 0 T . 0 0 1 0 0 1 If we let 1 0 −1 S1 = S 0 1 0 0 0 1 and 1 0 1 T1 = 0 1 0 T 0 0 1 we have A = S1 T1 which might be better than the factorization we had before. This is a lot of writing of zeros. We know about how elementary matrices work when multiplied on the left of other matrices. They implement row operations. Multiplied on the right they implement column operations. If x1 y1 z1 S = x2 y2 z2 x3 y3 z3 1 2 TERRY A. LORING then x1 y1 z1 1 0 −1 x1 y1 z1 − x1 S1 = x2 y2 z2 0 1 0 = x2 y2 z2 − x2 . x3 y3 z3 0 0 1 x3 y3 z3 − x3 On the other hand, if a1 a2 a3 T = b1 b2 b3 c1 c2 c3 then 1 0 1 a1 b1 c1 a1 + a3 b1 + b3 c1 + c3 . a2 b2 c2 T1 = 0 1 0 a2 b2 c2 = 0 0 1 a3 b3 c3 a3 b3 c3 That is, S is taken to S1 via C3 ← C3 − C1 while T is taken to T1 via R1 ← R1 + R3. Doing this column operation on the left factor offsets the effect of doing this particular row operation on the right factor. 0.1. Offsets to Row Operations. The offsets are as follows: on left factor Cj ← α1 Cj Cj ↔ Ck Ck ← Ck − βCj on right factor Rj ← αRj Rj ↔ Rk Rj ← Rj + βRk When working with a product of three matrices, we will work on two adjacent ones at each step, leaving the third alone. Here is notation for doing noting: “nop” stands for “no operation.” 1. A N EASY FACTORIZATION The following factorization is easy (for an factorization result, so not so easy overall) because it puts the triangular matrices on the outside. It is great for theory, a bit lame in applications. Theorem 1. Every matrix (square or not) A can be factored as A = LP U where L is lower-triangular, U is upper-triangular, and P has every entry 0 except for at most one 1 in each row or column. FACTORING MATRICES 3 Rather than a proof, I offer a description of an algorithm for finding L, P and U. We start with a really silly factorization using A and two copies of I : A = IAI. We create P from A mostly by doing “type III” row operations that “clear below” and type III column operation that “clear to the right.“ To finish we can do “type II” row operations that rescale the rows to make a leading term a one. The L and U come about doing the offset operations described above. We do not swap any rows or columns. 1.1. Some two-by-two examples. 1.1.1. Invertible. Given 0 1 2 2 we can use a column operation to get a second 0 on the bottom, and then a row operation to turn a 2 into a 1 : 0 1 2 2 A= = = 1 0 0 1 1 0 0 1 0 1 2 2 0 1 2 0 1 0 0 1 1 1 0 1 nop | C2 ← C2 − C1| 1 R2 ← R2 2 = 1 0 0 2 0 1 1 0 The final result is 1 1 0 1 0 1 2 2 where = LP U L= 1 0 0 2 P = 0 1 1 0 U= 1 1 0 1 is lower-triangular, is a permutation matrix, and | C2 ← 2C2 | R1 ← R1 + R2 | nop 4 TERRY A. LORING is upper-triangular. This is not a unique answer. For example, 0 1 2 2 = 1 0 0 1 0 1 1 0 2 2 0 1 would also work. 1.1.2. Rank one. Given B= 1 1 2 2 we can use a row operation to get all 0s on the bottom then a column operation to get a 0 in the top right: 1 1 2 2 = 1 0 0 1 = 1 0 2 1 = 1 0 2 1 1 1 2 2 1 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 1 C1 ← C1 + 2C2 | R2 ← R2 − 2R1 nop | nop | C2 ← C2 − C1 | R1 ← R1 + R2 so we are done, with L= 1 0 2 1 , P = 1 0 0 0 , U= 1 1 0 1 . In this case, P is not a permutation matrix, as it only has one 1 for two rows. 1.2. A three-by-three example. Suppose 2 2 1 A = 4 4 3 . 2 5 2 FACTORING MATRICES 5 As in Gauss-Jordan, we do R2 ← R2 − 2R1 to pick up a zero in the first column. This is offset by C1 ← C1 + 2C2 to the left. A 1 0 0 2 2 1 1 0 0 = 0 1 0 4 4 3 0 1 0 0 0 1 2 5 2 0 0 1 C1 ← C1 + 2C2 | R2 ← R2 − 2R1 | nop 1 0 0 2 2 1 1 0 0 = 2 1 0 0 0 1 0 1 0 0 0 1 2 5 2 0 0 1 Next we clear down to pick up two more zeros, then switch to clearing right: A 1 0 0 2 2 1 1 0 0 = 2 1 0 0 0 1 0 1 0 0 0 1 2 5 2 0 0 1 1 0 0 2 2 1 1 0 0 = 2 1 0 0 0 1 0 1 0 1 0 1 0 3 1 0 0 1 1 0 0 2 2 1 1 0 0 = 2 1 0 0 0 1 0 1 0 1 1 1 0 3 0 0 0 1 C1 ← C1 + C3 | R3 ← R3 − R1 | nop C2 ← C2 + C3 | R3 ← R3 − R2 | nop nop | C2 ← C2 − C1 | R1 ← R1 + R2 nop 1 1 | C3 ← C3 − C1 | R1 ← R1 + R3 2 2 1 0 0 2 0 1 1 1 0 = 2 1 0 0 0 1 0 1 0 1 1 1 0 3 0 0 0 1 1 0 0 2 0 0 1 1 12 = 2 1 0 0 0 1 0 1 0 1 1 1 0 3 0 0 0 1 and to finish, scale the rows in the middle, the columns on the left. 6 TERRY A. LORING A 2 0 0 1 0 0 1 1 12 = 2 1 0 0 0 1 0 1 0 0 3 0 1 1 1 0 0 1 C1 ← 2C1 | R1 ← 1 R1 2 | nop C3 ← 3C3 | R3 ← 1 R3 3 | nop 2 0 0 1 0 0 1 1 12 = 2 1 0 0 0 1 0 1 0 1 1 1 0 3 0 0 0 1 2 0 0 1 0 0 1 1 12 0 0 1 0 1 0 = 2 1 0 3 3 3 0 1 0 0 0 1 and we are done. The final results is 2 2 1 4 4 3 = LP U 2 5 2 where 2 0 0 L= 2 1 0 3 3 3 is lower-triangular, 1 1 21 U = 0 1 0 0 0 1 is upper-triangular, and 1 0 0 P = 0 0 1 0 1 0 is a permutation matrix. 1.3. A lower-rank example. Suppose 3 6 0 A = 1 2 0 . 1 2 1 FACTORING MATRICES 7 Then A 1 0 0 3 6 0 1 0 0 = 0 1 0 1 2 0 0 1 0 0 0 1 1 2 1 0 0 1 3 0 0 1 2 0 1 0 0 1 2 0 0 1 0 = 0 1 0 0 0 1 1 2 1 0 0 1 3 0 0 1 2 0 1 0 0 0 0 0 0 1 0 = 1 1 0 0 0 1 1 2 1 0 0 1 3 0 0 1 2 0 1 0 0 0 0 0 0 1 0 = 1 1 0 1 0 1 0 0 1 0 0 1 1 C1 ← 3C1 | R1 ← R1 3 C1 ← C1 + C2 | R2 ← R2 − R1 | nop C1 ← C1 + C3 | R3 ← R3 − R1 | nop nop | C2 ← C2 − 2C1 | R1 ← R1 + 2R2 3 0 0 1 0 0 1 2 0 = 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 What we found was 3 6 0 3 0 0 1 0 0 1 2 0 A = 1 2 0 = 1 1 0 0 0 0 0 1 0 . 1 2 1 1 0 1 0 0 1 0 0 1 Notice A has rank 2 and the number of 1s in the middle matrix is 2. U NIVERSITY OF N EW M EXICO URL: www.math.unm.edu/~loring | nop