7.7  Minors, Rank and Cauchy–Binet

The determinant of a square matrix answers a yes-or-no question: is the matrix invertible? A rectangular matrix has no determinant, and a singular square matrix has determinant 0, which says nothing about how singular it is. Yet every matrix is full of square pieces, and each piece has a determinant. This section shows that these small determinants measure the rank exactly. It then answers a second question left open by multiplicativity: if A is m×n and B is n×m, the product AB is square, so what is det(AB)? The answer, the Cauchy–Binet formula, is proved by the same multilinear expansion that gave uniqueness of the determinant in Theorem 7.4.2.

7.7.1. Submatrices and minors

In Definition 7.6.1 we deleted one row and one column of a square matrix and took the determinant of what was left. That is a special case of a more flexible operation: keep any k rows and any k columns. The recurring object is the square block sitting at the crossings of the chosen rows and columns, and it deserves a name.

A minor is the determinant of a square block cut out of a matrix by choosing some rows and the same number of columns.

For a positive integer m, write [m]={1,2,…,m}.

Definition 7.7.1 (Submatrix and Minor)

Let A=(aij)∈Mm×n(F), and let 1≤k≤min(m,n). Let I={i1<i2<⋯<ik}⊆[m] and J={j1<j2<⋯<jk}⊆[n] be sets with exactly k elements each, listed in increasing order. The submatrix of A on rows I and columns J is AI,J:=(aipjq)p,q=1k∈Mk(F), the k×k matrix whose (p,q)-entry is aipjq. Its determinant detAI,J is a k×k minor of A.

In words: cross out every row not in I and every column not in J, and push the surviving entries together without changing their order. The chosen rows need not be adjacent, and neither need the columns. The sets I and J have the same size, so the block is square and has a determinant.

A 1×1 minor is a single entry, detA{i},{j}=aij. For a square A∈Mn(F) with n≥2, the minor Mij of Definition 7.6.1 is the (n−1)×(n−1) minor with I=[n]∖{i} and J=[n]∖{j}. The only n×n minor of a square matrix is detA itself. An m×n matrix has (mk)(nk) minors of size k, one for each choice of I and J.

Example. Let A=(120013)∈M2×3(Q). Its 2×2 minors all use I={1,2}, and there are three choices of J: detAI,{1,2}=det(1201)=1,detAI,{1,3}=det(1003)=3,detAI,{2,3}=det(2013)=6. Its six 1×1 minors are its entries. It has no 3×3 minors, since it has only two rows.

A degenerate example. Every minor of the zero matrix 0m×n is 0: each block is a zero matrix, whose determinant is 0 by Theorem 7.4.6. This case matters because it is exactly the matrix of rank 0, and the theorem below has to treat it separately.

Non-example by minimal change. Take the same rows and columns but list the columns of A above in the order 3,1: the block (0130) has determinant −3, not 3. Every entry is still an entry of A from rows {1,2} and columns {1,3}; what fails is the clause listed in increasing order. Reordering columns changes the determinant by a sign (Theorem 7.2.1), so the order convention is what makes “the” minor on (I,J) a single well-defined number.

Why this definition. Insisting on increasing order costs nothing and removes all sign ambiguity. Insisting on |I|=|J| is forced: only square blocks have determinants.

Warning. Rank is not read off principal minors. A principal minor uses the same index set for rows and columns (I=J). It is tempting to test rank using only these, but they can all vanish for a non-zero matrix. For N=(0100), the principal minors are 0, 0 and detN=0, yet rankN=1. The non-zero minor is the off-diagonal entry detN{1},{2}=1. The theorem below uses all minors.

Quick check. How many 2×2 minors does a 3×4 matrix have? How many 3×3 minors?

Solution. A 2×2 minor needs 2 of the 3 rows and 2 of the 4 columns: (32)(42)=3⋅6=18. A 3×3 minor uses all three rows and 3 of the 4 columns: (33)(43)=4.

7.7.2. Rank via minors

A non-zero determinant of a square block means the block is invertible, so its columns are independent. Independent columns inside a block come from independent columns of the whole matrix. So a large non-zero minor forces large rank. The converse, that large rank produces a large non-zero minor, needs us to find the right rows as well as the right columns. Both directions together give a description of rank using only determinants:

Theorem 7.7.1 (Rank via Minors)

Let A∈Mm×n(F) be non-zero.

  • (a) rankA is the largest integer k such that A has a non-zero k×k minor.
  • (b) Equivalently, for each 1≤k≤min(m,n): rankA≥k if and only if some k×k minor of A is non-zero; and rankA<k if and only if every k×k minor of A is zero.

Idea. Two inequalities. ① A non-zero k×k minor on rows I and columns J makes AI,J invertible; a dependence among the columns of A indexed by J would restrict to a dependence among the columns of AI,J. So rankA≥k. ② If rankA=r, choose r independent columns (pivot columns). The m×r matrix they form has rank r, so by row rank = column rank it has r independent rows. Those rows cut out an r×r block with independent rows, hence a non-zero determinant.

Proof. Step 1: a non-zero k×k minor forces rankA≥k. Let I={i1<⋯<ik} and J={j1<⋯<jk} with detAI,J≠0. Write a1,…,an for the columns of A. Suppose c1aj1+⋯+ckajk=0 with c1,…,ck∈F. Reading only the entries in rows i1,…,ik of this vector equation gives ∑qcqaipjq=0 for p=1,…,k, that is, AI,Jc=0 with c=(c1,…,ck). By Theorem 7.5.2, AI,J is invertible, so c=0 by Theorem 3.4.4. Hence (aj1,…,ajk) is a linearly independent list in col(A), and by Theorem 1.6.3 (a), k≤dim⁡col(A)=rankA.

Step 2: A has a non-zero r×r minor, where r=rankA. Since A≠0, some column is non-zero, so r≥1. By Theorem 3.5.2 (a), the pivot columns aj1,…,ajr (j1<⋯<jr) are linearly independent. Let J={j1,…,jr} and let A′=A[m],J∈Mm×r(F) be the matrix with these columns. By Theorem 3.5.10 (a), rankA′=r, so by Theorem 3.5.5 the row space of A′ has dimension r. The m rows of A′ span its row space, so by Theorem 1.5.4 some r of them, in rows i1<⋯<ir, form a basis of it; in particular they are linearly independent. These are exactly the rows of B=AI,J∈Mr(F), where I={i1,…,ir}. Transposition is a linear bijection from 1×r rows to columns in Fr, so the columns of B⊤ are linearly independent. By Theorem 3.4.4, B⊤ is invertible, so detB⊤≠0 by Theorem 7.5.2, and detB=detB⊤≠0 by Theorem 7.4.5.

Conclusion. By Step 2 there is a non-zero minor of size r, and by Step 1 there is none of size larger than r. This proves (a). For (b): if rankA≥k, then Step 2 gives a non-zero r×r minor with r≥k, and we still need one of size exactly k. Expanding that r×r determinant along any row (Theorem 7.6.1) writes it as a combination of (r−1)×(r−1) minors of the block, each of which is also an (r−1)×(r−1) minor of A; since the determinant is non-zero, one of these minors is non-zero. Repeating r−k times gives a non-zero k×k minor. Conversely, a non-zero k×k minor gives rankA≥k by Step 1. The second equivalence in (b) is the negation of the first.

The theorem turns “rank at most k−1” into a finite list of polynomial equations in the entries: all k×k minors vanish. That is why rank can only drop when the entries satisfy special equations, as the next example shows.

Example (Rank of a Family of Matrices)

For t∈Q, let A(t)=(1212t336t). Find rankA(t) for every t.

Solution. The only 3×3 minor is detA(t). By cofactor expansion along the first row (Theorem 7.6.1), detA(t)=1⋅(t2−18)−2⋅(2t−9)+1⋅(12−3t)=t2−7t+12=(t−3)(t−4). So for t≠3,4, A(t) has a non-zero 3×3 minor and rankA(t)=3 by Theorem 7.7.1.

For t∈{3,4} every 3×3 minor is zero, so rankA(t)≤2. Look for a 2×2 minor that does not involve t: rows {1,2} and columns {1,3} give det(1123)=1≠0. Hence rankA(3)=rankA(4)=2. The same minor shows rankA(t)≥2 for every t, so rank 1 never occurs.

Remark. To compute the rank of one given matrix, elimination is far cheaper: a 10×10 matrix has (105)2=63504 minors of size 5. Minors earn their keep in theory. They show that rank is unchanged by transposing (the minors of A⊤ are the minors of A, by Theorem 7.4.5) and by enlarging the field (Exercise (C2: Rank does not depend on the field)), and they describe the matrices of rank below k by polynomial equations.

7.7.3. The Cauchy–Binet formula

Multiplicativity, Theorem 7.5.4, handles det(AB) when both factors are square. Now let A∈Mm×n(F) and B∈Mn×m(F). The product AB is m×m, so it has a determinant, but detA and detB do not exist. The natural candidates to replace them are the largest minors: the m×m minors of A, which keep all rows and choose m columns S, and the m×m minors of B, which keep all columns and choose the same m rows S.

Theorem 7.7.2 (Cauchy–Binet Formula)

Let A∈Mm×n(F) and B∈Mn×m(F). Then det(AB)=∑S⊆[n]|S|=mdetA[m],SdetBS,[m], the sum running over all m-element subsets S of [n]. In particular:

  • (a) if m>n, the sum is empty and det(AB)=0;
  • (b) if m=n, the only subset is S=[n] and the formula is det(AB)=detAdetB.

Idea. Treat det as a function of the m columns of AB. Column k of AB is Abk=∑jbjkaj, a combination of the columns of A. Expand by multilinearity in all m columns at once, exactly as in the uniqueness proof: one term for each way of picking a column aφ(k) of A in slot k. ① Terms that pick the same column twice vanish, because the determinant is alternating. ② The surviving picks use m distinct columns, forming a set S, in some order; putting them in increasing order costs the sign of the reordering (Lemma 7.4.1). ③ Collecting all orders of the same S produces a Leibniz sum, which is detBS,[m].

Proof. Write a1,…,an∈Fm for the columns of A and bjk for the entries of B. For x1,…,xm∈Fm, the function D(x1,…,xm)=det(x1,…,xm) is an alternating m-linear form by Theorem 7.4.3.

By Theorem 0.9.2, column k of AB is Abk=∑j=1nbjkaj. Expanding D by linearity in each of its m arguments in turn, det(AB)=D(∑j=1nbj1aj,…,∑j=1nbjmaj)=∑φ(∏k=1mbφ(k)k)D(aφ(1),…,aφ(m)), where φ runs over all functions [m]→[n]. If φ is not injective, two arguments of D are equal and the term is 0 because D is alternating (Definition 7.2.2). So only injective φ contribute. In particular, if m>n there is no injective φ, and det(AB)=0, which proves (a).

An injective φ has an image S={s1<⋯<sm}⊆[n] with m elements, and then φ(k)=sπ(k) for exactly one π∈Sm. Conversely each pair (S,π) gives an injective φ. By Lemma 7.4.1 with vp=asp, D(aφ(1),…,aφ(m))=sgn(π)D(as1,…,asm)=sgn(π)detA[m],S, since A[m],S has columns as1,…,asm. Hence det(AB)=∑|S|=mdetA[m],S∑π∈Smsgn(π)∏k=1mbsπ(k)k. The matrix BS,[m] has (p,k)-entry bspk, so its (π(k),k)-entry is bsπ(k)k, and the inner sum is detBS,[m] by Definition 7.4.1. This proves the formula. For m=n, the only S is [n], with A[n],[n]=A and B[n],[n]=B, which gives (b).

Part (b) is a second proof of multiplicativity, and part (a) matches what rank predicts: if m>n, then rank(AB)≤rankA≤n<m by Theorem 3.5.9, so AB is not invertible. The formula also passes a sanity check at m=1: a 1×n row times an n×1 column is the 1×1 matrix ∑ja1jbj1, and the 1×1 minors are single entries.

Remark. The proof uses only sums, differences and products of entries, together with Lemma 7.4.1, which is division-free by the remark in §4. So, like the results flagged in §4–§6, the Cauchy–Binet formula holds for matrices with entries in any commutative ring.

Example (Cauchy–Binet for a 2×3 times 3×2 Product)

Let A=(120013),B=(10112−1) over Q. Compute det(AB) directly and by the Cauchy–Binet formula. Then compute det(BA).

Solution. Directly. AB=(1+2+00+2+00+1+60+1−3)=(327−2), so det(AB)=−6−14=−20.

By Cauchy–Binet. Here m=2, n=3, and there are three subsets S. The minors of A were computed after Definition 7.7.1. The minors of B keep both columns and rows S:

S detA[2],S detBS,[2] product
{1,2} 1 det(1011)=1 1
{1,3} 3 det(102−1)=−1 −3
{2,3} 6 det(112−1)=−3 −18

The sum is 1−3−18=−20, in agreement.

The other product. BA is 3×3, and here the roles are m=3>n=2, so det(BA)=0 by Theorem 7.7.2 (a). Indeed BA=(12013323−3), whose third row is 3 times the first minus the second, so det(BA)=0.

Warning. For non-square factors, det(AB) and det(BA) differ. For square matrices det(AB)=detAdetB=det(BA). In the example above, det(AB)=−20 while det(BA)=0. An even smaller case: A=(11) and B=(11) give AB=(2) and BA=(1111), with determinants 2 and 0. Also, do not write “detAdetB” for non-square A, B: those symbols are undefined, and the sum over S is what replaces them.

Quick check. Let u,v∈Fn with n≥2. Without computing, what is det(uv⊤)?

Solution. uv⊤ is the product of the n×1 matrix u and the 1×n matrix v⊤. Here the product is n×n and the middle size is 1<n, so det(uv⊤)=0 by Theorem 7.7.2 (a).

7.7.4. Sums of squares over the reals

Over R, take B=A⊤. The minors of A⊤ are the minors of A with rows and columns exchanged, so Cauchy–Binet writes det(AA⊤) as a sum of squares.

Corollary 7.7.3 (Gram Determinants Are Non-negative)

Let A∈Mm×n(R). Then det(AA⊤)=∑S⊆[n]|S|=m(detA[m],S)2 ≥ 0, with equality if and only if rankA<m.

Proof. By Definition 0.9.10, the (p,k)-entry of (A⊤)S,[m] is the (k,sp)-entry of A, so (A⊤)S,[m]=(A[m],S)⊤. By Theorem 7.4.5, det(A⊤)S,[m]=detA[m],S. Substituting into Theorem 7.7.2 with B=A⊤ gives the formula. A sum of squares of real numbers is ≥0, and it is 0 if and only if every term is 0. Every m×m minor of A has the form detA[m],S, since an m×m minor must use all m rows. If m>n, the sum is empty and rankA≤n<m. Otherwise, by Theorem 7.7.1 (b) (or directly if A=0), all these minors vanish if and only if rankA<m.

The matrix AA⊤ collects the dot products of the rows of A with each other. Such matrices of pairwise inner products are Gram matrices; Chapters 11 and 13 study them, and there this corollary becomes the statement that a Gram matrix is positive semidefinite. For m=2 the corollary is a classical identity about two vectors, Exercise (B3: The Lagrange identity). Over C or Fp the conclusion “≥0” has no meaning, and the equality case can fail: over C, A=(1i) has rank 1 but AA⊤=(1+i2)=(0).

7.7.5. Exercises

A. Check your understanding

Exercise (A1)
  • (a) Define the k×k minor of A∈Mm×n(F) on rows I and columns J.
  • (b) True or false: if every principal minor of a square matrix is zero, the matrix is zero. Justify your answer.
  • (c) True or false: if A∈M4×5(F) has a non-zero 3×3 minor, then rankA≥3. Justify your answer.
  • (d) True or false: if A∈M3(F) has a zero 2×2 minor, then rankA≤1. Justify your answer.
  • (e) State the Cauchy–Binet formula, and say what it gives when m>n.
  • (f) Let A∈M2×3(R). Why is det(A⊤A)=0?

Solution.

  • (a) For I={i1<⋯<ik}⊆[m] and J={j1<⋯<jk}⊆[n], it is detAI,J, where AI,J∈Mk(F) has (p,q)-entry aipjq (Definition 7.7.1).

  • (b) False. N=(0100) has principal minors 0,0,0 but N≠0.

  • (c) True, by Step 1 of the proof of Theorem 7.7.1, or by part (b) of that theorem.

  • (d) False. The rank is decided by whether some minor is non-zero, not by one zero minor. I3 has the zero 2×2 minor on rows {1,2} and columns {2,3}, namely det(0010)=0, but rankI3=3.

  • (e) For A∈Mm×n(F) and B∈Mn×m(F), det(AB)=∑|S|=mdetA[m],SdetBS,[m], summed over m-subsets S⊆[n]. If m>n there are no such subsets and det(AB)=0.

  • (f) A⊤A is 3×3, the product of a 3×2 and a 2×3 matrix. By Theorem 7.7.2 (a) with m=3>n=2, det(A⊤A)=0.

B. Practice

Exercise (B1: Rank with a parameter)

For s∈Q, let A(s)=(1s1s1111s). Use minors to find rankA(s) for every s.

Solution. By cofactor expansion along the first row (Theorem 7.6.1), detA(s)=1⋅(s−1)−s(s2−1)+1⋅(s−1)=−s3+3s−2=−(s−1)2(s+2). If s≠1,−2, this 3×3 minor is non-zero, so rankA(s)=3 by Theorem 7.7.1.

If s=−2, then detA(−2)=0, so rankA(−2)≤2. The minor on rows {1,2} and columns {1,2} is det(1−2−21)=1−4=−3≠0. Hence rankA(−2)=2.

If s=1, every entry is 1. Every 2×2 minor is det(1111)=0, and the 1×1 minors are non-zero. Hence rankA(1)=1.

Exercise (B2: Checking Cauchy–Binet)

Let A=(102−111) and B=(21011−1) over Q.

  • (a) Compute det(AB) directly.
  • (b) Compute det(AB) by the Cauchy–Binet formula.
  • (c) Hence, without multiplying, find det(BA).

Solution.

  • (a) AB=(2+0+21+0−2−2+0+1−1+1−1)=(4−1−1−1), so det(AB)=−4−1=−5.

  • (b) The three subsets of [3] of size 2 give S={1,2}: det(10−11)det(2101)=1⋅2=2,S={1,3}: det(12−11)det(211−1)=3⋅(−3)=−9,S={2,3}: det(0211)det(011−1)=(−2)(−1)=2. The sum is 2−9+2=−5, agreeing with (a).

  • (c) BA∈M3(Q) is a product through F2, so det(BA)=0 by Theorem 7.7.2 (a).

Exercise (B3: The Lagrange identity)

Let a=(a1,…,an) and b=(b1,…,bn) be vectors in Rn, n≥2, and write a⋅b=∑iaibi.

  • (a) Let M∈M2×n(R) have rows a⊤ and b⊤. Compute MM⊤.
  • (b) Hence prove the Lagrange identity (a⋅a)(b⋅b)−(a⋅b)2=∑1≤i<j≤n(aibj−ajbi)2.
  • (c) Check it for a=(1,2,3) and b=(4,5,6), and deduce (a⋅b)2≤(a⋅a)(b⋅b) for all a,b∈Rn.

Solution.

  • (a) By Theorem 0.9.2, the (p,q)-entry of MM⊤ is row p of M times column q of M⊤, which is row q of M transposed. Hence MM⊤=(a⋅aa⋅bb⋅ab⋅b),b⋅a=a⋅b.

  • (b) The left side of the identity is det(MM⊤). By Corollary 7.7.3 with m=2, it equals the sum over S={i<j} of (detM[2],S)2, and M[2],{i,j}=(aiajbibj) has determinant aibj−ajbi. This proves the identity.

  • (c) Left side: a⋅a=14, b⋅b=77, a⋅b=32, so 14⋅77−322=1078−1024=54. Right side: the pairs (1,2),(1,3),(2,3) give 5−8=−3, 6−12=−6, 12−15=−3, and 9+36+9=54. In general the right side is a sum of squares of reals, hence ≥0, so (a⋅b)2≤(a⋅a)(b⋅b).

C. Going deeper

Exercise (C1: Counting spanning trees)

Consider the network with vertices 1,2,3,4 and five edges, oriented as e1=1→2, e2=2→3, e3=3→4, e4=4→1, e5=1→3. A spanning tree is a set of 3 edges that connects all four vertices (ignoring orientation). Let N∈M4×5(R) be its incidence matrix (Definition 3.7.1), let L=NN⊤, and let N0 and L0 be N and L with the row (and, for L, the column) of vertex 4 deleted.

  • (a) Compute L and detL0.
  • (b) List the spanning trees and count them.
  • (c) Show that L0=N0N0⊤, and use Corollary 7.7.3 to write detL0 as a sum over 3-element sets of edges.
  • (d) Compute the minor of N0 for the tree {e1,e2,e3} and for the non-tree {e1,e2,e5}. Explain, for these two sets, why the answers are ±1 and 0.

The matrix-tree theorem says that for every connected network, detL0 equals the number of spanning trees; parts (c) and (d) are the heart of its proof, which Chapter 24 completes.

Hint: for (d), a set of edges containing a cycle gives dependent columns.

Solution.

  • (a) Column e of N has 1 at the tail and −1 at the head: N=(100−11−110000−110−100−110),L=NN⊤=(3−1−1−1−12−10−1−13−1−10−12). (Diagonal entries count the edges at a vertex; off-diagonal entries are −1 for each edge joining two vertices.) Expanding along the first row, detL0=det(3−1−1−12−1−1−13)=3(6−1)+1⋅(−3−1)−1⋅(1+2)=15−4−3=8.

  • (b) There are (53)=10 sets of three edges. Three edges on four vertices connect everything exactly when they contain no cycle, and the only 3-edge cycles are the triangles {e1,e2,e5} (vertices 1,2,3) and {e3,e4,e5} (vertices 1,3,4). So there are 10−2=8 spanning trees, matching detL0.

  • (c) Deleting row 4 of N deletes row 4 of NN⊤ (row view) and column 4 of NN⊤ (column view of N⊤), by Theorem 0.9.2. So L0=N0N0⊤, with N0∈M3×5(R), and Corollary 7.7.3 gives detL0=∑|S|=3(det(N0)[3],S)2, one term for each set S of three edges.

  • (d) For S={e1,e2,e3}, (N0)[3],S=(100−1100−11), which is lower triangular with determinant 1 (Theorem 7.4.6). For S={e1,e2,e5}, the columns are (1,−1,0), (0,1,−1), (1,0,−1), and the third is the sum of the first two: going around the cycle 1→2→3 equals going directly 1→3. So the columns are dependent and the minor is 0 by Theorem 7.2.1. Thus the non-tree contributes 02 and the tree contributes 12.

Exercise (C2: Rank does not depend on the field)

Let K be a subfield of a field L (Definition 1.9.1), and let A∈Mm×n(K). We may also regard A as a matrix in Mm×n(L).

  • (a) Explain why each minor detAI,J is the same element whether computed in K or in L.
  • (b) Prove that the rank of A over K equals its rank over L.
  • (c) Deduce: if a system Ax=0 with rational coefficients has a non-zero complex solution, it has a non-zero rational solution.

Solution.

  • (a) By Definition 7.4.1, detAI,J is a finite sum of ± products of entries of A. The entries lie in K, and K has the same addition and multiplication as L, so the sum is the same element of K⊆L.

  • (b) If A=0, both ranks are 0. Otherwise, by Theorem 7.7.1 (a) applied over K and over L, each rank is the largest k for which some k×k minor is non-zero. By (a) the list of minors, and which of them are non-zero, is the same in both cases. Hence the two ranks agree.

  • (c) Take K=Q, L=C. A non-zero complex solution means nullityA≥1 over C, so rankCA≤n−1 by Theorem 3.5.7. By (b), rankQA≤n−1, so nullityA≥1 over Q, and a non-zero rational solution exists.

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.