8.2  Rank and Block Matrices

Rank is the most robust number attached to a matrix, and Chapters 3 and 4 found several inequalities for it: the rank of a product is at most the rank of each factor, and Sylvester’s inequality bounds it from below. Those proofs worked with subspaces. This section proves rank inequalities by a different and very mechanical method. We place the matrices we care about as blocks of one bigger matrix, and then change that matrix by block row and column operations, which never change the rank, until its rank can be read off. The method gives short proofs of the Frobenius inequality and of identities such as rank(Im−AB)+n=rank(In−BA)+m, which are awkward to reach with subspaces alone.

8.2.1. Three basic inequalities

We start with what the shape of a block matrix alone says about its rank. Write (AB) for the matrix obtained by placing B to the right of A (same number of rows), and (AC) for C below A (same number of columns). In these results the blocks need not be square.

Theorem 8.2.1 (Rank Inequalities for Block Matrices)

Let A∈Mm×k(F), B∈Mm×l(F), C∈Mp×k(F) and D∈Mp×l(F).

  • (a) max(rankA,rankB)≤rank(AB)≤rankA+rankB, and likewise max(rankA,rankC)≤rank(AC)≤rankA+rankC.
  • (b) rank(A00D)=rankA+rankD.
  • (c) rank(AB0D)≥rankA+rankD and rank(A0CD)≥rankA+rankD.

Idea. Rank is the dimension of the column space, so look at columns. In (a) the columns of (AB) are those of A together with those of B, and dimensions of sums are at most sums of dimensions. In (b) the columns coming from A and from D live in two subspaces that meet only in 0. In (c) we cannot use the column space of B, which is unknown, so instead we pick independent columns of A and of D and show that the columns of the big matrix standing above them are still independent: the zero block lets us peel off the D-part first.

Proof. For y∈Fm and z∈Fp, write (yz)∈Fm+p for the stacked vector.

  • (a) The columns of (AB) are the columns of A followed by the columns of B, so its column space is col(A)+col(B) by Proposition 1.7.2. It contains col(A) and col(B), which gives the lower bound by Theorem 1.6.7, and by Theorem 1.7.3 rank(AB)=rankA+rankB−dim⁡(colA∩colB)≤rankA+rankB. For the stacked matrix, Proposition 8.1.2 gives (AC)⊤=(A⊤C⊤), and a matrix and its transpose have the same rank (Theorem 3.5.5). Apply the first part to A⊤ and C⊤.

  • (b) Let M=(A00D). Its first k columns are (aj0) and its last l columns are (0dq), where aj, dq are the columns of A, D. So col(M)=Y+Z with Y={(y0):y∈colA} and Z={(0z):z∈colD}. A vector in Y∩Z has both parts zero, so Y∩Z={0}. The map y↦(y0) is linear and injective from colA onto Y, so dim⁡Y=rankA (Theorem 2.5.4); likewise dim⁡Z=rankD. By Theorem 1.7.3, rankM=rankA+rankD−0.

  • (c) Let M=(AB0D), r=rankA and s=rankD. By Theorem 3.5.2 there are columns aj1,…,ajr of A that are linearly independent, and columns dq1,…,dqs of D that are linearly independent. The corresponding columns of M are (aji0) and (bqidqi), where bq is column q of B. Let ∑i=1rαi(aji0)+∑i=1sβi(bqidqi)=0. The last p entries give ∑iβidqi=0, so all βi=0. The first m entries then give ∑iαiaji=0, so all αi=0. Hence col(M) contains r+s linearly independent vectors, and rankM≥r+s by Theorem 1.6.3. For the lower triangular shape, (A0CD)⊤=(A⊤C⊤0D⊤) by Proposition 8.1.2; apply the first case and Theorem 3.5.5.

All three inequalities, the two in (a) and the one in (c), can be strict, and small witnesses show it. For A=B=(1), rank(11)=1<2: the two column spaces overlap. For A=e1 and B=e2 in F2, rank(e1e2)=rankI2=2>max(1,1): each block adds something the other lacks. For A=D=(0) and B=(1), rank(0100)=1>0+0: the off-diagonal block contributes rank of its own. The proof of (a) says exactly when the upper bound is attained: rank(AB)=rankA+rankB if and only if colA∩colB={0}.

Warning. The ranks of the four blocks do not determine the rank of the whole. Over Q, (1111) and (111−1) have all four 1×1 blocks of rank 1, but ranks 1 and 2. Only special shapes, like the zero blocks in (b) and (c), turn block ranks into information about the whole matrix.

Quick check. Without computing, find rank(12000240000010300015).

Solution. With row partition 2,2 and column partition 2,3, the matrix is (A00D) with A=(1224) of rank 1 (the second row is twice the first) and D=(103015) of rank 2 (the first two columns are e1,e2). By Theorem 8.2.1 (b), the rank is 1+2=3.

8.2.2. Block elimination

Gaussian elimination changes a matrix by row operations, which are multiplications by invertible matrices on the left, and the rank never changes. The same is true when the “rows” are whole block rows and the multipliers are matrices. The matrices that do this are the block triangular matrices with identity blocks on the diagonal from Theorem 8.1.5, together with block swaps.

Fix a partition of M=(ABCD)∈M(m+p)×(k+l)(F) with A∈Mm×k(F). For matrices X∈Mm×p(F) and Y∈Mk×l(F), Theorem 8.1.1 gives (ImX0Ip)(ABCD)=(A+XCB+XDCD),(ABCD)(IkY0Il)=(AAY+BCCY+D). In words: multiplying on the left adds X times block row 2 to block row 1, with X on the left of the row; multiplying on the right adds block column 1 times Y to block column 2, with Y on the right of the column. The lower triangular multipliers (Im0X′Ip) and (Ik0Y′Il) act the same way in the other direction. Sides matter: the multiplier sits on the side of the product where the matrix operation happens.

Theorem 8.2.2 (Block Elimination Preserves Rank)

Let M=(ABCD) be as above.

  • (a) For all X∈Mm×p(F), X′∈Mp×m(F), Y∈Mk×l(F) and Y′∈Ml×k(F), the matrices (ImX0Ip),(Im0X′Ip),(IkY0Il),(Ik0Y′Il) are invertible, and so are the block swaps (0IpIm0)∈Mm+p(F) and (0IkIl0)∈Mk+l(F). Hence multiplying M on the left or right by any product of such matrices does not change its rank. The swaps give (0IpIm0)M=(CDAB) and M(0IkIl0)=(BADC).
  • (b) If col(B)⊆col(A), or if row(B)⊆row(D), then rank(AB0D)=rankA+rankD.

Proof.

  • (a) By Theorem 8.1.5 (c), with identity blocks on the diagonal, (ImX0Ip) has inverse (Im−X0Ip); the lower triangular case follows by transposing (Proposition 8.1.2, Theorem 0.9.7). In the swap S=(0IpIm0) the row partition is p,m and the column partition is m,p. Let S′=(0ImIp0), with row partition m,p and column partition p,m. These are conformable, and Theorem 8.1.1 gives S′S=(Im00Ip)=Im+p, so S is invertible by Theorem 3.4.5; the other swap is the same with k,l in place of m,p. The two displayed products are Theorem 8.1.1. Rank is unchanged by invertible factors on either side (Theorem 3.5.9).

  • (b) Suppose col(B)⊆col(A). Each column bq of B is then Ayq for some yq∈Fk (Definition 3.5.1, Theorem 0.9.3). Let Y∈Mk×l(F) have columns yq, so that AY=B by Theorem 0.9.2. By the computation before the theorem, (AB0D)(Ik−Y0Il)=(A−AY+B0D)=(A00D), and (a) together with Theorem 8.2.1 (b) gives the claim. If row(B)⊆row(D), the same argument applied to rows gives B=XD for some X∈Mm×p(F), and (Im−X0Ip)(AB0D)=(A00D).

Part (b) is the typical use of (a): a block that is a multiple of a neighboring block can be cleared, exactly as an entry below a pivot is cleared in Gaussian elimination. The zero block of Theorem 8.2.1 (c) is what lets the cleared matrix fall apart into a direct sum.

8.2.3. Frobenius’s inequality by blocks

Recall Sylvester’s rank inequality (Theorem 4.3.5): for A∈Mm×n(F) and B∈Mn×p(F), rank(AB)≥rankA+rankB−n. In Exercise (C1: Frobenius’s rank inequality) we met a stronger statement, Frobenius’s inequality, and proved it by comparing intersections of subspaces with a null space. Here is a proof in which nothing is chosen: we write down one block matrix whose rank we know, and eliminate.

Theorem 8.2.3 (Frobenius’s Rank Inequality)

Let A∈Mm×n(F), B∈Mn×p(F) and C∈Mp×q(F). Then rank(ABC)+rankB≥rank(AB)+rank(BC).

Idea. The left side is the rank of (ABC00B), by Theorem 8.2.1 (b). The right side is a lower bound for any block triangular matrix with diagonal blocks AB and BC, by part (c). So we want to turn the first matrix into the second by block elimination. Found backwards: A times the second block row puts AB into the top-right corner; then the second block column times C cancels ABC and puts BC into the bottom-left corner. A swap of the two block columns finishes the job.

Proof. Let P=(ABC00B), with row partition m,n and column partition q,p. By Theorem 8.2.1 (b), rankP=rank(ABC)+rankB. By Theorem 8.1.1, (ImA0In)P=(ABCAB0B),(ABCAB0B)(Iq0−CIp)=(ABC−ABCAB−BCB)=(0AB−BCB). Multiplying on the right by the block swap (0IqIp0) exchanges the two block columns and gives Q=(AB0B−BC). By Theorem 8.2.2 (a), rankQ=rankP. By Theorem 8.2.1 (c), rankQ≥rank(AB)+rank(−BC)=rank(AB)+rank(BC), where rank(−BC)=rank(BC) because −BC and BC have the same column space. Hence rank(ABC)+rankB≥rank(AB)+rank(BC).

Taking B=In gives rank(AC)+n≥rankA+rankC for A∈Mm×n(F) and C∈Mn×q(F), which is Sylvester’s inequality again. Taking A=In or C=Ip gives an equality and no information, as it should. The inequality says that multiplying by A on the left loses at least as much rank from BC as from B: the rank lost is rank(BC)−rank(ABC)≤rankB−rank(AB). A smaller column space has less to lose.

8.2.4. A worked example: I−AB and I−BA

Products in the two orders, AB and BA, are different matrices of possibly different sizes, and Chapter 4 showed that even their ranks can differ. Yet I−AB and I−BA are tightly linked. The block matrix that links them contains Im, A, B and In, and each identity block can be used as a pivot to clear its neighbors.

Example (Rank of I−AB versus I−BA)

Let A∈Mm×n(F) and B∈Mn×m(F).

  • (a) Prove that rank(Im−AB)+n=rank(In−BA)+m.
  • (b) Deduce that for m=n, rank(In−AB)=rank(In−BA), and In−AB is invertible if and only if In−BA is.
  • (c) Check (a) for A=(110011) and B=(100001) over Q.

Solution.

  • (a) Let M=(ImABIn)∈Mm+n(F), with partition m,n for rows and columns. We eliminate in two different ways.

    Using Im as the pivot. Subtract B times block row 1 from block row 2, then subtract block column 1 times A from block column 2. By Theorem 8.1.1, (Im0−BIn)M=(ImA0In−BA),(ImA0In−BA)(Im−A0In)=(Im00In−BA). By Theorem 8.2.2 (a) and Theorem 8.2.1 (b), rankM=m+rank(In−BA).

    Using In as the pivot. Subtract A times block row 2 from block row 1, then subtract block column 2 times B from block column 1: (Im−A0In)M=(Im−AB0BIn),(Im−AB0BIn)(Im0−BIn)=(Im−AB00In). So rankM=rank(Im−AB)+n in the same way. Comparing the two expressions for rankM proves (a).

  • (b) For m=n the two added terms are equal and cancel. A square matrix is invertible exactly when its rank is n (Theorem 7.5.3 (d)), so In−AB is invertible if and only if In−BA is.

  • (c) Here AB=(1001)=I2, so rank(I2−AB)=0, and BA=(110000011),I3−BA=(0−100100−10), which has rank 1. Indeed 0+3=1+2. So AB=I2 while BA≠I3, and the identity accounts for the difference exactly: I3−BA has rank 3−2=1.

The trick is worth naming. To compare two expressions, find one block matrix from which both can be obtained by elimination, and compute its rank twice. Section 3 does the same with determinants and inverses, and the pair I−AB, I−BA returns there as Sylvester’s determinant identity.

8.2.5. Exercises

A. Check your understanding

Exercise (A1)
  • (a) State the three inequalities of Theorem 8.2.1.
  • (b) True or false: rank(AB0D)=rankA+rankD for all blocks of compatible sizes. Justify your answer.
  • (c) Which matrix do you multiply (ABCD) by, and on which side, to replace C by C−XA?
  • (d) True or false: rank(AB)=rankA+rankB whenever A and B have the same number of rows. Justify your answer.
  • (e) State Frobenius’s inequality, and explain how Sylvester’s inequality follows from it.

Solution.

  • (a) max(rankA,rankB)≤rank(AB)≤rankA+rankB (and the same for stacked blocks); rank(A00D)=rankA+rankD; and both block triangular shapes have rank at least rankA+rankD.

  • (b) False. (0100) with 1×1 blocks has rank 1, but rank(0)+rank(0)=0. Only ≥ holds in general.

  • (c) Multiply on the left by (I0−XI): block row 2 becomes (C−XAD−XB) by Theorem 8.1.1. The rank does not change (Theorem 8.2.2).

  • (d) False. (11) has rank 1, not 1+1. Equality holds exactly when colA∩colB={0}.

  • (e) rank(ABC)+rankB≥rank(AB)+rank(BC) for matrices of compatible sizes. With B=In it reads rank(AC)+n≥rankA+rankC, which is Sylvester’s inequality.

B. Practice

Exercise (B1: Ranks of block matrices)

Let A=(1224) and D=(1101) in M2(Q). Find the rank of each 4×4 matrix, citing the result you use. In which case is the lower bound of Theorem 8.2.1 (c) strict?

  • (a) M1=(A00D).
  • (b) M2=(AB0D) with B=(1326).
  • (c) M3=(AI200).

Solution. rankA=1, since the second row is twice the first and A≠0; rankD=2, since detD=1≠0.

  • (a) By Theorem 8.2.1 (b), rankM1=1+2=3.

  • (b) The columns of B are (1,2) and (3,6)=3(1,2), and (1,2) is the first column of A. So colB⊆colA, and by Theorem 8.2.2 (b), rankM2=1+2=3. (Explicitly B=AY with Y=(1300).)

  • (c) The lower bound is rankA+rank0=1. But the last two columns of M3 are e1,e2, and every column lies in span(e1,e2), so rankM3=2. This is the strict case: the block I2 is not a multiple of A or of the zero block.

Exercise (B2: Shifted products)

Let A∈Mm×n(F), B∈Mn×m(F) and c∈F with c≠0.

  • (a) By adapting Example (Rank of I−AB versus I−BA), prove that rank(cIm−AB)+n=rank(cIn−BA)+m.
  • (b) Check (a) over Q for c=2, A=(110110) and B=(101010).
  • (c) Show by an example with m=1, n=2 that (a) can fail for c=0.

Solution.

  • (a) Since c≠0, put A′=c−1A. Then cIm−AB=c(Im−A′B) and cIn−BA=c(In−BA′). Multiplying a matrix by the non-zero scalar c does not change its column space, hence not its rank. By Example (Rank of I−AB versus I−BA) (a) applied to A′ and B, rank(cIm−AB)+n=rank(Im−A′B)+n=rank(In−BA′)+m=rank(cIn−BA)+m.

  • (b) Here m=3, n=2, and 2I3−AB=(1−1−1010−101),2I2−BA=(0−101), since AB=(111010101) and BA=(2101). In the first matrix, row 1 equals −(row 2)−(row 3), and rows 2 and 3 are not multiples of each other, so its rank is 2 (Theorem 3.5.5). The second has rank 1. Indeed 2+2=1+3.

  • (c) For c=0 the identity would say rank(AB)+n=rank(BA)+m. Take A=(10) and B=(10): AB=(1) has rank 1, and BA=E11∈M2(F) has rank 1, but 1+2≠1+1.

Exercise (B3: Idempotents by blocks)

Let A∈Mn(F).

  • (a) Starting from (A00In−A), use block elimination to prove rankA+rank(In−A)=n+rank(A−A2).
  • (b) Deduce that A2=A if and only if rankA+rank(In−A)=n.
  • (c) Compare (b) with what Chapter 4 says about projections.

Hint: first add block row 1 to block row 2, then add block column 2 to block column 1.

Solution.

  • (a) Write I=In. By Theorem 8.1.1, each step being multiplication by one of the matrices of Theorem 8.2.2 (a): (A00I−A)→ row2+row1 (A0AI−A)→ col1+col2 (A0II−A)→ row1−Arow2 (0A2−AII−A)→ col2−col1(I−A) (0A2−AI0). The multipliers are, in order, (I0II) on the left, (I0II) on the right, (I−A0I) on the left and (I−(I−A)0I) on the right. In the third step the top row becomes (A−AI0−A(I−A))=(0A2−A), and in the fourth the bottom-right block becomes (I−A)−I(I−A)=0. Swapping the block columns (Theorem 8.2.2 (a)) gives (A2−A00I), of rank rank(A2−A)+n by Theorem 8.2.1 (b). The first matrix has rank rankA+rank(I−A), and rank is unchanged throughout. Since A2−A=−(A−A2) has the same rank as A−A2, (a) follows.

  • (b) By (a), rankA+rank(I−A)=n if and only if rank(A−A2)=0, that is, A−A2=0.

  • (c) If A2=A, then TA is a projection (Definition 4.5.1), so Fn=imTA⊕kerTA by Theorem 4.5.1, with kerTA=col(I−A) (a vector v with Av=0 equals (I−A)v, and conversely A(I−A)=A−A2=0). So rankA+rank(I−A)=dim⁡imTA+dim⁡kerTA=n, which is the forward direction of (b). The block argument also gives the converse, and it never mentions subspaces.

C. Going deeper

Exercise (C1: The rank of A−ABA)

Let A∈Mm×n(F) and B∈Mn×m(F).

  • (a) Verify, by block multiplication, the following chain, in which each arrow is multiplication by an invertible block triangular matrix: (A00In−BA)→(AA0In−BA)→(AABAIn)→(A−ABAA0In)→(A−ABA00In). Name each multiplier and the side it acts on.
  • (b) Deduce that rank(A−ABA)=rankA+rank(In−BA)−n.
  • (c) Suppose ABA=A. Show that BA is idempotent and that rank(BA)=rankA.

Hint for (c): use (b), then Exercise (B3: Idempotents by blocks).

Solution.

  • (a) The partitions are m,n for rows and n,n for columns. By Theorem 8.1.1:
  1. Right multiplication by (InIn0In) adds block column 1 to block column 2: (AA+000+(In−BA)).
  2. Left multiplication by (Im0BIn) adds B times block row 1 to block row 2: the new row is (BABA+In−BA)=(BAIn).
  3. Right multiplication by (In0−BAIn) subtracts block column 2 times BA from block column 1: the new column is (A−ABABA−InBA)=(A−ABA0).
  4. Left multiplication by (Im−A0In) subtracts A times block row 2 from block row 1: the new row is (A−ABA−A⋅0A−AIn)=(A−ABA0).

All four multipliers are invertible by Theorem 8.2.2 (a).

  • (b) By Theorem 8.2.2 (a) the first and last matrices have the same rank, and by Theorem 8.2.1 (b) these ranks are rankA+rank(In−BA) and rank(A−ABA)+n. Rearranging gives the formula.

  • (c) (BA)2=B(ABA)=BA, so BA is idempotent. By (b), 0=rank(A−ABA)=rankA+rank(In−BA)−n, so rank(In−BA)=n−rankA. By Exercise (B3: Idempotents by blocks) (b) applied to the idempotent BA, rank(BA)=n−rank(In−BA)=rankA.

Exercise (C2: Involutions and the field)

Let A∈Mn(F).

  • (a) Suppose the characteristic of F is not 2. Starting from (A−In00A+In), prove that rank(A−In)+rank(A+In)=n+rank(A2−In).
  • (b) Deduce that if A2=In (and charF≠2), then rank(A−In)+rank(A+In)=n.
  • (c) Show that (b) fails over F2, and point to the step of (a) that breaks.

Hint for (a): add block column 2 to block column 1, and subtract block row 2 from block row 1; then −2In is an invertible pivot.

Solution.

  • (a) Write I=In and P=A+I. Since charF≠2, 2≠0 in F, so 12 exists and −2I is invertible. By Theorem 8.1.1, with each multiplier from Theorem 8.2.2 (a): (A−I00P)→ col1+col2 (A−I0PP)→ row1−row2 (−2I−PPP)→ col2−col1⋅12P (−2I0PP−12P2)→ row2+12Prow1 (−2I00P−12P2). In the second step (A−I)−P=−2I; in the third, −P−(−2I)12P=0 and P−P⋅12P=P−12P2; in the fourth, P+12P(−2I)=0. Finally P−12P2=12P(2I−P)=12(A+I)(I−A)=12(I−A2), where the product (A+I)(I−A)=I−A+A−A2 expands by distributivity. The first matrix has rank rank(A−I)+rank(A+I) and the last has rank n+rank(12(I−A2))=n+rank(A2−I) by Theorem 8.2.1 (b), non-zero scalar multiples having the same column space. Rank is unchanged throughout.

  • (b) If A2=In, then rank(A2−In)=0.

  • (c) Over F2, take A=In. Then A2=In, but A−In=0 and A+In=2In=0, so the left side is 0≠n. The step that breaks is the pivot: −2In=0 is not invertible, and 12 does not exist. (Chapter 2’s decomposition of an involution into ±1 parts, Theorem 4.5.5, needs the same hypothesis.)

Found a typo or a mistake? Report it, or read this page’s source

The text of this book is licensed under CC BY-NC-SA 4.0.