# Cauchy–Binet formula

In mathematics, specifically linear algebra, the Cauchy–Binet formula, named after Augustin-Louis Cauchy and Jacques Philippe Marie Binet, is an identity for the determinant of the product of two rectangular matrices of transpose shapes (so that the product is well-defined and square). It generalizes the statement that the determinant of a product of square matrices is equal to the product of their determinants. The formula is valid for matrices with the entries from any commutative ring.

## Statement

Let A be an m×n matrix and B an n×m matrix. Write [n] for the set {1, ..., n}, and ${\tbinom {[n]}{m}}$ for the set of m-combinations of [n] (i.e., subsets of [n] of size m; there are ${\tbinom {n}{m}}$ of them). For $S\in {\tbinom {[n]}{m}}$, write A$_{[m],S}$ for the m×m matrix whose columns are the columns of A at indices from S, and B$_{S,[m]}$ for the m×m matrix whose rows are the rows of B at indices from S. The Cauchy–Binet formula then states
    $\det(AB)=\sum _{S\in {\tbinom {[n]}{m}}}\det(A_{[m],S})\det(B_{S,[m]}).$
Example: Taking m = 2 and n = 3, and matrices $A={\begin{pmatrix}1&1&2\\3&1&-1\\\end{pmatrix}}$ and $B={\begin{pmatrix}1&1\\3&1\\0&2\end{pmatrix}}$, the Cauchy–Binet formula gives the determinant
    $\det(AB)=\left|{\begin{matrix}1&1\\3&1\end{matrix}}\right|\cdot \left|{\begin{matrix}1&1\\3&1\end{matrix}}\right|+\left|{\begin{matrix}1&2\\1&-1\end{matrix}}\right|\cdot \left|{\begin{matrix}3&1\\0&2\end{matrix}}\right|+\left|{\begin{matrix}1&2\\3&-1\end{matrix}}\right|\cdot \left|{\begin{matrix}1&1\\0&2\end{matrix}}\right|.$
Indeed $AB={\begin{pmatrix}4&6\\6&2\end{pmatrix}}$, and its determinant is $-28$ which equals $(-2)\times (-2)+(-3)\times 6+(-7)\times 2$ from the right hand side of the formula.

## Special cases

If n < m then ${\tbinom {[n]}{m}}$ is the empty set, and the formula says that det(AB) = 0 (its right hand side is an empty sum); indeed in this case the rank of the m×m matrix AB is at most n, which implies that its determinant is zero. If n = m, the case where A and B are square matrices, ${\tbinom {[n]}{m}}=\{[n]\}$ (a singleton set), so the sum only involves S = [n], and the formula states that det(AB) = det(A)det(B).
For m = 0, A and B are empty matrices (but of different shapes if n > 0), as is their product AB; the summation involves a single term S = Ø, and the formula states 1 = 1, with both sides given by the determinant of the 0×0 matrix. For m = 1, the summation ranges over the collection ${\tbinom {[n]}{1}}$ of the n different singletons taken from [n], and both sides of the formula give $\textstyle \sum _{j=1}^{n}A_{1,j}B_{j,1}$, the dot product of the pair of vectors represented by the matrices. The smallest value of m for which the formula states a non-trivial equality is m = 2; it is discussed in the article on the Binet–Cauchy identity.

### In the case n = 3

Let ${\boldsymbol {a}},{\boldsymbol {b}},{\boldsymbol {c}},{\boldsymbol {d}},{\boldsymbol {x}},{\boldsymbol {y}},{\boldsymbol {z}},{\boldsymbol {w}}$ be three-dimensional vectors.
    ${\begin{aligned}&1=1&(m=0)\\[10pt]&{\boldsymbol {a}}\cdot {\boldsymbol {x}}=a_{1}x_{1}+a_{2}x_{2}+a_{3}x_{3}&(m=1)\\[10pt]&{\begin{vmatrix}{\boldsymbol {a}}\cdot {\boldsymbol {x}}&{\boldsymbol {a}}\cdot {\boldsymbol {y}}\\{\boldsymbol {b}}\cdot {\boldsymbol {x}}&{\boldsymbol {b}}\cdot {\boldsymbol {y}}\end{vmatrix}}\\[4pt]=&{\begin{vmatrix}a_{2}&a_{3}\\b_{2}&b_{3}\end{vmatrix}}{\begin{vmatrix}x_{2}&y_{2}\\x_{3}&y_{3}\end{vmatrix}}+{\begin{vmatrix}a_{3}&a_{1}\\b_{3}&b_{1}\end{vmatrix}}{\begin{vmatrix}x_{3}&y_{3}\\x_{1}&y_{1}\end{vmatrix}}+{\begin{vmatrix}a_{1}&a_{2}\\b_{1}&b_{2}\end{vmatrix}}{\begin{vmatrix}x_{1}&y_{1}\\x_{2}&y_{2}\end{vmatrix}}\\[4pt]=&({\boldsymbol {a}}\times {\boldsymbol {b}})\cdot ({\boldsymbol {x}}\times {\boldsymbol {y}})&(m=2)\\[10pt]&{\begin{vmatrix}{\boldsymbol {a}}\cdot {\boldsymbol {x}}&{\boldsymbol {a}}\cdot {\boldsymbol {y}}&{\boldsymbol {a}}\cdot {\boldsymbol {z}}\\{\boldsymbol {b}}\cdot {\boldsymbol {x}}&{\boldsymbol {b}}\cdot {\boldsymbol {y}}&{\boldsymbol {b}}\cdot {\boldsymbol {z}}\\{\boldsymbol {c}}\cdot {\boldsymbol {x}}&{\boldsymbol {c}}\cdot {\boldsymbol {y}}&{\boldsymbol {c}}\cdot {\boldsymbol {z}}\end{vmatrix}}={\begin{vmatrix}a_{1}&a_{2}&a_{3}\\b_{1}&b_{2}&b_{3}\\c_{1}&c_{2}&c_{3}\end{vmatrix}}{\begin{vmatrix}x_{1}&y_{1}&z_{1}\\x_{2}&y_{2}&z_{2}\\x_{3}&y_{3}&z_{3}\end{vmatrix}}\\[4pt]=&[{\boldsymbol {a}}\cdot ({\boldsymbol {b}}\times {\boldsymbol {c}})][{\boldsymbol {x}}\cdot ({\boldsymbol {y}}\times {\boldsymbol {z}})]&(m=3)\\[10pt]&{\begin{vmatrix}{\boldsymbol {a}}\cdot {\boldsymbol {x}}&{\boldsymbol {a}}\cdot {\boldsymbol {y}}&{\boldsymbol {a}}\cdot {\boldsymbol {z}}&{\boldsymbol {a}}\cdot {\boldsymbol {w}}\\{\boldsymbol {b}}\cdot {\boldsymbol {x}}&{\boldsymbol {b}}\cdot {\boldsymbol {y}}&{\boldsymbol {b}}\cdot {\boldsymbol {z}}&{\boldsymbol {b}}\cdot {\boldsymbol {w}}\\{\boldsymbol {c}}\cdot {\boldsymbol {x}}&{\boldsymbol {c}}\cdot {\boldsymbol {y}}&{\boldsymbol {c}}\cdot {\boldsymbol {z}}&{\boldsymbol {c}}\cdot {\boldsymbol {w}}\\{\boldsymbol {d}}\cdot {\boldsymbol {x}}&{\boldsymbol {d}}\cdot {\boldsymbol {y}}&{\boldsymbol {d}}\cdot {\boldsymbol {z}}&{\boldsymbol {d}}\cdot {\boldsymbol {w}}\end{vmatrix}}=0&(m=4)\end{aligned}}$
In the case m > 3, the right-hand side always equals 0.

## A simple proof

The following simple proof relies on two facts that can be proven in several different ways:
* For any $1\leq k\leq n$ the coefficient of $z^{n-k}$ in the polynomial $\det(zI_{n}+X)$ is the sum of the $k\times k$ principal minors of $X$.
* If $m\leq n$ and $A$ is an $m\times n$ matrix and $B$ an $n\times m$ matrix, then
          $\det(zI_{n}+BA)=z^{n-m}\det(zI_{m}+AB)$.
Now, if we compare the coefficient of $z^{n-m}$ in the equation $\det(zI_{n}+BA)=z^{n-m}\det(zI_{m}+AB)$, the left hand side will give the sum of the principal minors of $BA$ while the right hand side will give the constant term of $\det(zI_{m}+AB)$, which is simply $\det(AB)$, which is what the Cauchy–Binet formula states, i.e.
    ${\begin{aligned}&\det(AB)=\sum _{S\in {\tbinom {[n]}{m}}}\det((BA)_{S,S})=\sum _{S\in {\tbinom {[n]}{m}}}\det(B_{S,[m]})\det(A_{[m],S})\\[5pt]=&\sum _{S\in {\tbinom {[n]}{m}}}\det(A_{[m],S})\det(B_{S,[m]}).\end{aligned}}$

## Proof

There are various kinds of proofs that can be given for the Cauchy−Binet formula. The proof below is based on formal manipulations only, and avoids using any particular interpretation of determinants, which may be taken to be defined by the Leibniz formula. Only their multilinearity with respect to rows and columns, and their alternating property (vanishing in the presence of equal rows or columns) are used; in particular the multiplicative property of determinants for square matrices is not used, but is rather established (the case n = m). The proof is valid for arbitrary commutative coefficient rings.
The formula can be proved in two steps:
* use the fact that both sides are multilinear (more precisely 2m-linear) in the rows of A and the columns of B, to reduce to the case that each row of A and each column of B has only one non-zero entry, which is 1.
* handle that case using the functions [m] → [n] that map respectively the row numbers of A to the column number of their nonzero entry, and the column numbers of B to the row number of their nonzero entry.
For step 1, observe that for each row of A or column of B, and for each m-combination S, the values of det(AB) and det(A$_{[m],S}$)det(B$_{S,[m]}$) indeed depend linearly on the row or column. For the latter this is immediate from the multilinear property of the determinant; for the former one must in addition check that taking a linear combination for the row of A or column of B while leaving the rest unchanged only affects the corresponding row or column of the product AB, and by the same linear combination. Thus one can work out both sides of the Cauchy−Binet formula by linearity for every row of A and then also every column of B, writing each of the rows and columns as a linear combination of standard basis vectors. The resulting multiple summations are huge, but they have the same form for both sides: corresponding terms involve the same scalar factor (each is a product of entries of A and of B), and these terms only differ by involving two different expressions in terms of constant matrices of the kind described above, which expressions should be equal according to the Cauchy−Binet formula. This achieves the reduction of the first step.
Concretely, the multiple summations can be grouped into two summations, one over all functions f:[m] → [n] that for each row index of A gives a corresponding column index, and one over all functions g:[m] → [n] that for each column index of B gives a corresponding row index. The matrices associated to f and g are
    $L_{f}={\bigl(\delta _{f(i),j})_{i\in [m],j\in [n]}{\bigr )}\quad {\text{and}}\quad R_{g}={\bigl(\delta _{j,g(k)})_{j\in [n],k\in [m]}{\bigr )}$
where "$\delta$" is the Kronecker delta, and the Cauchy−Binet formula to prove has been rewritten as
    ${\begin{aligned}&\sum _{f:[m]\to [n]}\sum _{g:[m]\to [n]}p(f,g)\det(L_{f}R_{g})\\[5pt]=&\sum _{f:[m]\to [n]}\sum _{g:[m]\to [n]}p(f,g)\sum _{S\in {\tbinom {[n]}{m}}}\det((L_{f})_{[m],S})\det((R_{g})_{S,[m]}),\end{aligned}}$
where p(f,g) denotes the scalar factor $\textstyle (\prod _{i=1}^{m}A_{i,f(i)})(\prod _{k=1}^{m}B_{g(k),k})$. It remains to prove the Cauchy−Binet formula for A = L$_f$ and B = R$_g$, for all f,g:[m] → [n].
For this step 2, if f fails to be injective then L$_f$ and L$_f$R$_g$ both have two identical rows, and if g fails to be injective then R$_g$ and L$_f$R$_g$ both have two identical columns; in either case both sides of the identity are zero. Supposing now that both f and g are injective maps [m] → [n], the factor $\det((L_{f})_{[m],S})$ on the right is zero unless S = f([m]), while the factor $\det((R_{g})_{S,[m]})$ is zero unless S = g([m]). So if the images of f and g are different, the right hand side has only null terms, and the left hand side is zero as well since L$_f$R$_g$ has a null row (for i with $f(i)\notin g([m])$). In the remaining case where the images of f and g are the same, say f([m]) = S = g([m]), we need to prove that
    $\det(L_{f}R_{g})=\det((L_{f})_{[m],S})\det((R_{g})_{S,[m]}).\,$
Let h be the unique increasing bijection [m] → S, and π,σ the permutations of [m] such that $f=h\circ \pi ^{-1}$ and $g=h\circ \sigma$; then $(L_{f})_{[m],S}$ is the permutation matrix for π, $(R_{g})_{S,[m]}$ is the permutation matrix for σ, and L$_f$R$_g$ is the permutation matrix for $\pi \circ \sigma$, and since the determinant of a permutation matrix equals the signature of the permutation, the identity follows from the fact that signatures are multiplicative.
Using multi-linearity with respect to both the rows of A and the columns of B in the proof is not necessary; one could use just one of them, say the former, and use that a matrix product L$_f$B either consists of a permutation of the rows of B$_{f([m]),[m]}$ (if f is injective), or has at least two equal rows.

## Relation to the generalized Kronecker delta

As we have seen, the Cauchy–Binet formula is equivalent to the following:
    $\det(L_{f}R_{g})=\sum _{S\in {\tbinom {[n]}{m}}}\det((L_{f})_{[m],S})\det((R_{g})_{S,[m]}),$
where
    $L_{f}={\bigl(\delta _{f(i),j})_{i\in [m],j\in [n]}{\bigr )}\quad {\text{and}}\quad R_{g}={\bigl(\delta _{j,g(k)})_{j\in [n],k\in [m]}{\bigr )}.$
In terms of generalized Kronecker delta, we can derive the formula equivalent to the Cauchy–Binet formula:
    $\delta _{g(1)\dots g(m)}^{f(1)\dots f(m)}=\sum _{k:[m]\to [n] \atop k(1)<\dots <k(m)}\delta _{k(1)\dots k(m)}^{f(1)\dots f(m)}\delta _{g(1)\dots g(m)}^{k(1)\dots k(m)}.$

## Geometric interpretations

If A is a real m×n matrix, then det(A A$^T$) is equal to the square of the m-dimensional volume of the parallelotope spanned in R$^n$ by the m rows of A. Binet's formula states that this is equal to the sum of the squares of the volumes that arise if the parallelepiped is orthogonally projected onto the m-dimensional coordinate planes (of which there are ${\tbinom {n}{m}}$).
In the case m = 1 the parallelotope is reduced to a single vector and its volume is its length. The above statement then states that the square of the length of a vector is the sum of the squares of its coordinates; this is indeed the case by the definition of that length, which is based on the Pythagorean theorem.
In tensor algebra, given an inner product space $V$ of dimension n, the Cauchy–Binet formula defines an induced inner product on the exterior algebra $\wedge ^{m}V$, namely:
   $\langle v_{1}\wedge \cdots \wedge v_{m},w_{1}\wedge \cdots \wedge w_{m}\rangle =\det \left(\langle v_{i},w_{j}\rangle \right)_{i,j=1}^{m}.$

## Generalization

The Cauchy–Binet formula can be extended in a straightforward way to a general formula for the minors of the product of two matrices. Context for the formula is given in the article on minors, but the idea is that both the formula for ordinary matrix multiplication and the Cauchy–Binet formula for the determinant of the product of two matrices are special cases of the following general statement about the minors of a product of two matrices. Suppose that A is an m × n matrix, B is an n × p matrix, I is a subset of {1,...,m} with k elements and J is a subset of {1,...,p} with k elements. Then
    $[\mathbf {AB} ]_{I,J}=\sum _{K}[\mathbf {A} ]_{I,K}[\mathbf {B} ]_{K,J}\,$
where the sum extends over all subsets K of {1,...,n} with k elements.

## Continuous version

A continuous version of the Cauchy–Binet formula, known as the Andréief-Heine identity or Andréief identity appears commonly in random matrix theory. It is stated as follows: let $\left\{f_{j}(x)\right\}_{j=1}^{N}$ and $\left\{g_{j}(x)\right\}_{j=1}^{N}$ be two sequences of integrable functions, supported on $I$. Then
    $\int _{I}\cdots \int _{I}\det \left[f_{j}(x_{k})\right]_{j,k=1}^{N}\det \left[g_{j}(x_{k})\right]_{j,k=1}^{N}dx_{1}\cdots dx_{N}=N!\,\det \left[\int _{I}f_{j}(x)g_{k}(x)dx\right]_{j,k=1}^{N}.$
Let $S_{N}$ be the permutation group of order N, $|s|$ be the sign of a permutation, $\langle f,g\rangle =\int _{I}f(x)g(x)dx$ be the "inner product".${\begin{aligned}{\text{left side}}&=\sum _{s,s'\in S_{N}}(-1)^{|s|+|s'|}\int _{I^{N}}\prod _{j}f_{s(j)}(x_{j})\prod _{k}g_{s'(k)}(x_{k})\\&=\sum _{s,s'\in S_{N}}(-1)^{|s|+|s'|}\int _{I^{N}}\prod _{j}f_{s(j)}(x_{j})g_{s'(j)}(x_{j})\\&=\sum _{s,s'\in S_{N}}(-1)^{|s|+|s'|}\prod _{j}\int _{I}f_{s(j)}(x_{j})g_{s'(j)}(x_{j})dx_{j}\\&=\sum _{s,s'\in S_{N}}(-1)^{|s|+|s'|}\prod _{j}\langle f_{s(j)},g_{s'(j)}\rangle \\&=\sum _{s'\in S_{N}}(-1)^{|s'|+|s'|}\sum _{s\in S_{N}}(-1)^{|s|+|s'^{-1}|}\prod _{j}\langle f_{(s\circ s'^{-1})(j)},g_{j}\rangle \\&=\sum _{s'\in S_{N}}\sum _{s\in S_{N}}(-1)^{|s\circ s'^{-1}|}\prod _{j}\langle f_{(s\circ s'^{-1})(j)},g_{j}\rangle \\&={\text{right side}}\\\end{aligned}}$
Forrester describes how to recover the usual Cauchy–Binet formula as a discretisation of the above identity.
Pick $t_{1}<\cdots <t_{m}$ in $[0,1]$, pick $f_{1},\ldots ,g_{n}$, such that $f_{j}(t_{k})=A_{j,k}$ and the same holds for $g$ and $B$. Now plugging in $f_{j}(x_{k})=\sum _{l}A_{j,l}\delta (x_{k}-t_{l})$ and $g_{j}(x_{k})=\sum _{l}B_{j,l}\delta (x_{k}-t_{l})$ into the Andreev identity, and simplifying both sides, we get: $\sum _{l_{1},\ldots ,l_{n}\in [1:m]}\det[f_{j}(t_{l_{k}})]\det[g_{j}(t_{l_{k}})]=n!\det \left[\sum _{l}f_{j}(t_{l})g_{k}(t_{l})\right]$ The right side is $n!\det(AB)$, and the left side is $n!\sum _{S\subset [1:m],|S|=n}\det(A_{[1:m],S})\det(B_{S,[1:m]})$.