8.4  The Kronecker Product

So far the unknown in a matrix equation has been a vector: Ax=b. Many natural questions have a matrix as the unknown instead. Which matrices commute with a given A? Which X solve AX+XB=C? Such an equation is still linear in the entries of X, so in principle it is an ordinary linear system. The trouble is bookkeeping: we need to know what the coefficient matrix of that system is. This section builds it from A and B with one operation, the Kronecker product, and turns matrix equations into systems we already know how to solve.

8.4.1. From a matrix equation to a linear system

Take A,B∈M2(F) and an unknown X=(xij)∈M2(F), and look at the equation AXB=C. By Definition 0.9.9, applied twice, (AXB)rs=∑i=12∑j=12arixijbjs. So each entry of AXB is a linear combination of the four unknowns x11,x21,x12,x22, and the coefficient of xij in entry (r,s) is the product bjsari: an entry of B times an entry of A. Writing the four equations as a 4×4 system, every coefficient is such a product. For instance, if we list the unknowns column by column as (x11,x21,x12,x22) and the equations in the same order, the first row of the coefficient matrix is (b11a11b11a12b21a11b21a12). The left half of this row is b11 times row 1 of A, and the right half is b21 times row 1 of A.

That is a recurring pattern: a big matrix whose entries are all the products of the entries of two small matrices, arranged in blocks. It deserves a name.

8.4.2. The Kronecker product

The Kronecker product of A and B is the block matrix obtained by replacing each entry aij of A by the block aijB.

Definition 8.4.1 (Kronecker product)

Let A=(aij)∈Mm×n(F) and B=(bkl)∈Mp×q(F), of any sizes. The Kronecker product of A and B is the mp×nq block matrix A⊗B:=(a11Ba12B⋯a1nBa21Ba22B⋯a2nB⋮⋮⋮am1Bam2B⋯amnB)∈Mmp×nq(F), with m rows and n columns of blocks, each block of size p×q (Definition 8.1.1).

In words: the outer layout is the layout of A, and the inner pattern of every block is B. The sizes multiply, rows with rows and columns with columns. No condition on the sizes is needed, unlike for an ordinary product.

To work with single entries we need to know where each product aijbkl sits. Block (i,j) occupies rows (i−1)p+1,…,ip and columns (j−1)q+1,…,jq. Inside it, entry (k,l) is aijbkl. So (∗)(A⊗B)(i−1)p+k, (j−1)q+l=aijbkl(1≤i≤m, 1≤j≤n, 1≤k≤p, 1≤l≤q). Every entry is reached exactly once. Division with remainder writes each row index r∈{1,…,mp} uniquely as r=(i−1)p+k with 1≤i≤m and 1≤k≤p (divide r−1 by p), and likewise for columns. So (∗) is a complete description of A⊗B, and it is the formula we use in proofs. In words, the rows of A⊗B are labeled by pairs (row of A, row of B) in dictionary order, and the columns by pairs (column of A, column of B) in dictionary order.

Examples.

  1. A 2×2 example. With A=(1234) and B=(0110), A⊗B=(1B2B3B4B)=(0102102003043040). Check one entry against (∗): row 3=(2−1)⋅2+1 and column 2=(1−1)⋅2+2 give a21b12=3⋅1=3, as displayed.
  2. Vectors. For column vectors u∈Fm and v∈Fp (so n=q=1), u⊗v∈Fmp lists all products uivk in dictionary order. In particular, for standard basis vectors, ei⊗ek=e(i−1)p+k∈Fmp: the only non-zero product is 1⋅1 in position (i−1)p+k. For a column u∈Fm and a row v⊤, u⊗v⊤ is the m×p matrix with entries uivk, which is the outer product uv⊤ of Corollary 8.1.3.
  3. Identity blocks. In⊗B has B in each diagonal block and zero blocks elsewhere, so it is the block diagonal matrix B⊕⋯⊕B with n copies of B (Definition 8.1.2). By contrast, A⊗Im replaces each entry aij by the m×m block aijIm. Taking both, In⊗Im=Inm: by (∗) its entries are δijδkl, which is 1 exactly when the row and column labels (i,k) and (j,l) agree.
  4. The degenerate case 1×1. If A=(a) is 1×1, then A⊗B=aB; if B=(b), then A⊗B=bA. So a 1×1 factor behaves like a scalar, and (1)⊗B=B. This case is worth keeping in mind: it shows that the Kronecker product extends scalar multiplication, which is why it is bilinear below.

Non-example by minimal change. Swap the two factors of Example 1: B⊗A=(0A1A1A0A)=(0012003412003400). It has the same size and the same multiset of entries, since both list all products aijbkl. What fails is the position formula (∗): in B⊗A the outer layout comes from B, so the products sit in different places. For instance, the (1,2)-entry is a11b12=1 in A⊗B but b11a12=0 in B⊗A.

Why this definition. The dictionary order in (∗) is a convention, and the other order would simply give B⊗A. We fix it because it makes the block picture true: the Kronecker product is literally “A with entries replaced by blocks”, so block multiplication (Theorem 8.1.1) applies to it directly. The symbol ⊗ anticipates the tensor product of Chapter 15, of which this is the matrix version.

Warning. The Kronecker product is not commutative, and it is not the ordinary product. The two matrices in Example 1 and the non-example differ, so A⊗B≠B⊗A in general, even for square matrices of the same size. Also do not confuse A⊗B with AB: for A,B∈M2(F), AB is 2×2 while A⊗B is 4×4, and A⊗B is defined for all sizes. We will see below that A⊗B and B⊗A are always similar when A and B are square, so they share rank, trace and determinant, but they are not equal.

8.4.3. Algebraic properties

The Kronecker product interacts well with every operation we have. The most useful rule is the one connecting it to ordinary multiplication: multiply the two left factors together and the two right factors together.

Theorem 8.4.1 (Properties of the Kronecker Product)

Let c∈F. Whenever the sizes make each side defined:

  • (a) (Bilinearity) (A+A′)⊗B=A⊗B+A′⊗B, A⊗(B+B′)=A⊗B+A⊗B′, and (cA)⊗B=c(A⊗B)=A⊗(cB).
  • (b) (Associativity) (A⊗B)⊗C=A⊗(B⊗C) for all A∈Mm×n(F), B∈Mp×q(F), C∈Mr×s(F).
  • (c) (Mixed product rule) For A∈Mm×n(F), C∈Mn×t(F), B∈Mp×q(F) and D∈Mq×u(F), (A⊗B)(C⊗D)=(AC)⊗(BD).
  • (d) (Transpose) (A⊗B)⊤=A⊤⊗B⊤.
  • (e) (Inverse) If A∈Mn(F) and B∈Mm(F) are invertible, then A⊗B is invertible and (A⊗B)−1=A−1⊗B−1.

Idea. Parts (a), (b) and (d) are entry checks with (∗). For (c), both factors on the left are block matrices, and the columns of blocks of A⊗B (n of them, each q wide) match the rows of blocks of C⊗D (n of them, each q tall). So we may multiply blockwise, and each block of the product is a sum ∑j(aijB)(cjkD) in which the scalars come out. Part (e) is (c) with C=A−1, D=B−1.

Proof.

  • (a) By (∗), the entry of (A+A′)⊗B in position ((i−1)p+k,(j−1)q+l) is (aij+aij′)bkl=aijbkl+aij′bkl, which is the entry of A⊗B+A′⊗B in the same position. The other identities are checked the same way, using (caij)bkl=c(aijbkl)=aij(cbkl).

  • (b) Both sides are mpr×nqs. Let 1≤i≤m, 1≤k≤p, 1≤t≤r, and similarly j,l,u for columns. Applying (∗) twice, the entry of (A⊗B)⊗C in row ((i−1)p+k−1)r+t and column ((j−1)q+l−1)s+u is (A⊗B)(i−1)p+k,(j−1)q+lctu=aijbklctu. Likewise the entry of A⊗(B⊗C) in row (i−1)pr+(k−1)r+t and column (j−1)qs+(l−1)s+u is aij(B⊗C)(k−1)r+t,(l−1)s+u=aijbklctu. Since ((i−1)p+k−1)r+t=(i−1)pr+(k−1)r+t, and similarly for columns, the two matrices have the same entry in every position; every position arises from exactly one choice of indices, by division with remainder. Hence they are equal.

  • (c) Partition A⊗B into m rows and n columns of blocks as in Definition 8.4.1, each block p×q, and C⊗D into n rows and t columns of blocks, each q×u. The column partition of the first matrix (n parts of size q) equals the row partition of the second, so the partitions are conformable, and by Theorem 8.1.1 the (i,k) block of the product is ∑j=1n(aijB)(cjkD)=∑j=1naijcjkBD=(AC)ikBD, where the first equality uses Theorem 0.9.4 (4) and the second uses Definition 0.9.9. This is the (i,k) block of (AC)⊗(BD), a matrix partitioned into m rows and t columns of p×u blocks. So the two matrices agree block by block, hence entry by entry.

  • (d) (A⊗B)⊤ is nq×mp. By Definition 0.9.10 and (∗), its entry in row (j−1)q+l and column (i−1)p+k is (A⊗B)(i−1)p+k,(j−1)q+l=aijbkl=(A⊤)ji(B⊤)lk, which by (∗) is the entry of A⊤⊗B⊤ in the same position.

  • (e) By (c) and Example 3, (A⊗B)(A−1⊗B−1)=(AA−1)⊗(BB−1)=In⊗Im=Inm, and similarly (A−1⊗B−1)(A⊗B)=Inm. By Definition 0.9.13, A⊗B is invertible with inverse A−1⊗B−1.

The mixed product rule is the engine of everything that follows. One immediate consequence splits a Kronecker product of square matrices into two simpler factors: for A∈Mn(F) and B∈Mm(F), (∗∗)A⊗B=(AIn)⊗(ImB)=(A⊗Im)(In⊗B), and in the same way A⊗B=(In⊗B)(A⊗Im). So A⊗Im and In⊗B commute, even though A and B have nothing to do with each other.

For example, with A=(1−102), B=(2111), C=(1011) and D=(0110), multiplying two 4×4 matrices directly gives (A⊗B)(C⊗D)=(21−2−111−1−100420022)(0100100001011010)=(00−1−200−1−124242222), while the rule needs only two 2×2 products, AC=(0−122) and BD=(1211), whose Kronecker product is the same matrix.

8.4.4. Swapping the factors

The warning said that A⊗B and B⊗A differ. They differ only in the order in which rows and columns are labeled: A⊗B uses (index of A, index of B) in dictionary order, B⊗A the reverse order. Relabeling rows and columns by the same permutation is conjugation by a permutation matrix, and that is what the next result makes precise.

First, a fact about permutation matrices. Recall that for σ∈SN, the permutation matrix Pσ has j-th column eσ(j), and Pσ−1=Pσ⊤ (Definition 3.4.2, Lemma 3.4.7). For every M∈MN(F), (†)(Pσ⊤MPσ)rs=Mσ(r)σ(s)(1≤r,s≤N). Indeed, by Theorem 0.9.2 column s of MPσ is Meσ(s), which is column σ(s) of M. Row r of Pσ⊤ is eσ(r)⊤, so by the same theorem row r of Pσ⊤L is row σ(r) of L, for any L∈MN(F). Combining the two gives (†).

Proposition 8.4.2 (Swapping the Factors Is a Permutation Similarity)

Let n,m≥1. There is a permutation matrix P∈Mnm(F), depending only on n and m, such that B⊗A=P−1(A⊗B)Pfor all A∈Mn(F), B∈Mm(F). In particular A⊗B∼B⊗A, and Im⊗A=P−1(A⊗Im)P.

Proof. Every r∈{1,…,nm} can be written uniquely as r=(k−1)n+i with 1≤k≤m and 1≤i≤n. Define σ(r):=(i−1)m+k. As (k,i) runs over all pairs, so does (i,k), and each value (i−1)m+k is taken by exactly one pair; hence σ is a bijection of {1,…,nm}, that is, σ∈Snm. Put P=Pσ.

Let r=(k−1)n+i and s=(l−1)n+j. By (∗) applied to B⊗A, (B⊗A)rs=bklaij. By (∗) applied to A⊗B, (A⊗B)σ(r)σ(s)=(A⊗B)(i−1)m+k, (j−1)m+l=aijbkl. So by (†), Pσ⊤(A⊗B)Pσ and B⊗A agree in every entry, and Pσ⊤=Pσ−1 by Lemma 3.4.7 (b). The last claim is the case B=Im.

For example, when n=m=2, σ fixes 1 and 4 and swaps 2 and 3, so P is the elementary matrix P23: conjugating by it swaps rows 2,3 and columns 2,3. Doing this to A⊗B in Example 1 does give B⊗A, as a direct check shows. For rectangular A∈Mm×n(F) and B∈Mp×q(F), the same argument gives B⊗A=Pσ⊤(A⊗B)Pτ with one permutation for the rows and another for the columns.

8.4.5. Rank, trace and determinant

Each of the three basic numbers attached to a matrix behaves multiplicatively. The formulas for trace and rank are what one would guess. The determinant is subtler, because the sizes enter as exponents.

Theorem 8.4.3 (Rank, Trace and Determinant of a Kronecker Product)
  • (a) For A∈Mm×n(F) and B∈Mp×q(F), rank(A⊗B)=rankA⋅rankB.
  • (b) For A∈Mn(F) and B∈Mm(F), tr(A⊗B)=trA⋅trB.
  • (c) For A∈Mn(F) and B∈Mm(F), det(A⊗B)=(detA)m(detB)n.

Idea. For rank, bring both factors to rank normal form, A=QNrP and B=Q′NsP′. The mixed product rule moves the invertible factors outside, where they do not change rank, and Nr⊗Ns visibly has rank rs. Trace is a sum over diagonal entries, and the diagonal entries of A⊗B are the products aiibkk. For the determinant, split A⊗B=(A⊗Im)(In⊗B) by (∗∗). The second factor is block diagonal with n copies of B. The first is not, but by Proposition 8.4.2 it is similar to Im⊗A, which is block diagonal with m copies of A.

Proof.

  • (a) Let r=rankA and s=rankB. By Theorem 4.3.3 (b) and Definition 4.3.1, there are invertible Q1,P1,Q2,P2 with Nr=Q1AP1 and Ns=Q2BP2, where Nr∈Mm×n(F) and Ns∈Mp×q(F) have Ir, Is in the top left corner and zeros elsewhere. Hence A=Q1−1NrP1−1 and B=Q2−1NsP2−1, and by Theorem 8.4.1 (c), used twice, A⊗B=(Q1−1⊗Q2−1)(Nr⊗Ns)(P1−1⊗P2−1). The outer factors are invertible by Theorem 8.4.1 (e), so rank(A⊗B)=rank(Nr⊗Ns) by Theorem 3.5.9.

    By (∗), the entry of Nr⊗Ns in position ((i−1)p+k,(j−1)q+l) is 1 if i=j≤r and k=l≤s, and 0 otherwise. So for each of the rs pairs (i,k) with i≤r, k≤s, column (i−1)q+k equals e(i−1)p+k, and every other column is zero. Distinct pairs give distinct standard basis vectors, so these rs columns are linearly independent and span the column space. Hence rank(Nr⊗Ns)=rs by Definition 3.5.4, which proves (a). (If r=0 or s=0, the matrix is zero and both sides are 0.)

  • (b) By (∗) with p=q=m, the diagonal entries of A⊗B are those with (i−1)m+k=(j−1)m+l, that is i=j and k=l by uniqueness of division with remainder, and they equal aiibkk. By Definition 0.9.12, tr(A⊗B)=∑i=1n∑k=1maiibkk=(∑i=1naii)(∑k=1mbkk)=trA⋅trB.

  • (c) First, a block diagonal matrix M1⊕⋯⊕Mt with square blocks M1,…,Mt has determinant detM1⋯detMt. For t=1 there is nothing to prove, and for t≥2 the matrix is M1⊕(M2⊕⋯⊕Mt), so Theorem 8.1.4 (d) (or Theorem 7.8.4) and induction on t give the claim.

By Example 3, In⊗B=B⊕⋯⊕B with n blocks, so det(In⊗B)=(detB)n. Likewise Im⊗A=A⊕⋯⊕A with m blocks, so det(Im⊗A)=(detA)m. By Proposition 8.4.2, A⊗Im is similar to Im⊗A, so det(A⊗Im)=(detA)m by Corollary 7.5.7. Finally, by (∗∗) and Theorem 7.5.4, det(A⊗B)=det(A⊗Im)det(In⊗B)=(detA)m(detB)n.

The exponents are easy to get backwards, and a size count fixes them. In A⊗B with A∈Mn(F), B∈Mm(F), the matrix A is “used” m times (once for each index of B), so detA appears to the power m, the size of the other factor. For A=cIn and B=Im, A⊗B=cInm has determinant cnm=(cn)m=(detA)m, which confirms the exponent.

For the matrices of the example after Theorem 8.4.1, detA=2, detB=1, trA=3 and trB=3, so det(A⊗B)=22⋅12=4, tr(A⊗B)=9, and rank(A⊗B)=2⋅2=4. Directly, the diagonal of A⊗B is 2,1,4,2, with sum 9.

Quick check. Let A∈M2(R) have trA=4, detA=3, and let B∈M3(R) have trB=2, detB=−1. Find tr(A⊗B), det(A⊗B) and det(B⊗A).

Solution. By Theorem 8.4.3, tr(A⊗B)=4⋅2=8 and det(A⊗B)=(detA)3(detB)2=27⋅1=27. With the roles swapped, det(B⊗A)=(detB)2(detA)3=27, as it must be since B⊗A∼A⊗B (Proposition 8.4.2). The common wrong answer (detA)2(detB)3=−9 puts each matrix’s own size in its exponent.

8.4.6. Vectorization

We return to the question of the opening: turning a matrix equation into a linear system. For that we need to flatten the unknown matrix into a column, in an order that matches (∗).

To vectorize a matrix is to stack its columns into one long column.

Definition 8.4.2 (Vectorization)

Let X=(xij)∈Mm×n(F) have columns x1,…,xn∈Fm. Its vectorization is the column vector vecX:=(x1x2⋮xn)∈Fmn, whose entry in position (j−1)m+i is xij, for 1≤i≤m, 1≤j≤n.

For example, vec(1234)=(1,3,2,4), read down the first column and then down the second. For a column x∈Fm (the case n=1), vecx=x. The map vec:Mm×n(F)→Fmn is linear, since each entry of vecX is an entry of X, and bijective, since it only rearranges entries; so it is an isomorphism. It sends the matrix unit Eij to e(j−1)m+i=ej⊗ei (Example 2, with the index of the column first). More generally, vec(uv⊤)=v⊗u for u∈Fm and v∈Fn: column j of uv⊤ is vju.

Two conventions are in use, and they differ. Some books stack the rows instead, which exchanges the roles of the two factors in the next theorem. We always stack columns.

Theorem 8.4.4 (The vec Identity)

Let A∈Mk×m(F), X∈Mm×n(F) and B∈Mn×l(F). Then vec(AXB)=(B⊤⊗A)vecX.

Idea. Both sides are columns in Fkl. We compare one entry, using the formula for a triple product on the left and (∗) on the right. The factor A acts on the row index of X, which is the inner index in vec; the factor B acts on the column index, which is the outer index. That is why B comes first, and it enters transposed because it multiplies X from the right.

Proof. Both sides lie in Fkl: AXB∈Mk×l(F), and B⊤⊗A∈Mlk×nm(F) acts on vecX∈Fmn. Fix 1≤r≤k and 1≤s≤l, and consider position (s−1)k+r. By Definition 8.4.2 and Definition 0.9.9 applied twice, the left side has entry (AXB)rs=∑i=1m∑j=1narixijbjs. On the right, write the column index c∈{1,…,nm} of B⊤⊗A uniquely as c=(j−1)m+i with 1≤j≤n, 1≤i≤m. By (∗), (B⊤⊗A)(s−1)k+r, (j−1)m+i=(B⊤)sjari=bjsari, and by Definition 8.4.2 the c-th entry of vecX is xij. Hence the entry of the right side in position (s−1)k+r is ∑c=1nm(B⊤⊗A)(s−1)k+r, c(vecX)c=∑j=1n∑i=1mbjsarixij, which equals the left side. As (r,s) ranges over all pairs, (s−1)k+r ranges over all positions, so the two vectors are equal.

Taking B=In or A=Im gives the two one-sided forms, which are used most often: vec(AX)=(In⊗A)vecX,vec(XB)=(B⊤⊗Im)vecX. The first says that multiplying X by A on the left multiplies each column of X by A: In⊗A=A⊕⋯⊕A acts on the stacked columns one at a time.

Now every linear matrix equation built from products becomes a linear system. The most important one is the Sylvester equation AX+XB=C,A∈Mm(F), B∈Mn(F), C∈Mm×n(F), for an unknown X∈Mm×n(F). Applying vec, which is linear, and the two one-sided forms, (In⊗A+B⊤⊗Im)vecX=vecC. So the Sylvester equation has exactly one solution for every C if and only if the mn×mn matrix In⊗A+B⊤⊗Im is invertible (Theorem 3.4.4, transported through the isomorphism vec). The equation AX=XA of the opening, which describes the matrices commuting with A, is the case B=−A, C=0: its solutions form the null space of Im⊗A−A⊤⊗Im.

Example (A Sylvester Equation as a Linear System)

Solve AX+XB=C over Q, where A=(1102),B=(1011),C=(1−113).

Solution. Here m=n=2. Compute the two Kronecker products from Definition 8.4.1: I2⊗A=(1100020000110002),B⊤⊗I2=(1I21I20I21I2)=(1010010100100001). With vecX=(x11,x21,x12,x22) and vecC=(1,1,−1,3), the system (I2⊗A+B⊤⊗I2)vecX=vecC is (2110030100210003)(x11x21x12x22)=(11−13). The coefficient matrix is upper triangular with non-zero diagonal entries 2,3,2,3, so its determinant is 36≠0 (Theorem 7.4.6) and the solution is unique. Back substitution gives x22=1; then 2x12+1=−1, so x12=−1; then 3x21+1=1, so x21=0; then 2x11+0−1=1, so x11=1. Hence X=(1−101). Check: AX=(1002) and XB=(0−111), whose sum is C. As a check on the bookkeeping, row 1 of the system is the (1,1) entry of AX+XB, namely (x11+x21)+(x11+x12).

In this example the coefficient matrix came out triangular, with diagonal entries aii+bjj. That is no accident when A is upper triangular and B lower triangular, as Exercise (C2: Kronecker sums) below shows. In general, whether In⊗A+B⊤⊗Im is invertible depends on the eigenvalues of A and B: over C, the equation AX−XB=C is uniquely solvable for every C exactly when A and B have no common eigenvalue. That criterion needs eigenvalues and is proved in Chapter 12, and its quantitative form appears in Chapter 20.

Warning. Keep the order and the transpose in vec(AXB)=(B⊤⊗A)vecX. Both A⊗B⊤ and B⊗A look plausible, and both are wrong. With X=E11∈M2(F), A=I2 and B=E21, we get AXB=E11E21=0, and indeed (B⊤⊗I2)e1=(E12⊗I2)e1=0, because the first column of E12⊗I2 is zero. But (B⊗I2)e1=(E21⊗I2)e1=e3≠0. So B⊗A fails. A similar test with A=E12, X=E21, B=I2 refutes A⊗B⊤. If a formula is in doubt, test it on matrix units.

The Kronecker product is the coordinate shadow of a basis-free construction: the tensor product of linear maps, in Chapter 15, whose matrix in suitable bases is exactly A⊗B. The dictionary order in (∗) will reappear there as an ordering of a basis vi⊗wk.

8.4.7. Exercises

A. Check your understanding

Exercise (A1)
  • (a) Define A⊗B for A∈Mm×n(F) and B∈Mp×q(F), and state its size.
  • (b) True or false: for all A,B∈M2(F), A⊗B=B⊗A. Justify your answer.
  • (c) State the mixed product rule, including the conditions on the sizes.
  • (d) True or false: det(A⊗B)=detAdetB for all A,B∈M2(R). Justify your answer.
  • (e) State the vec identity, and name the matrix M with vec(XB)=MvecX for X∈Mm×n(F), B∈Mn(F).

Solution.

  • (a) A⊗B is the mp×nq block matrix with (i,j) block aijB (Definition 8.4.1); equivalently, its entry in position ((i−1)p+k,(j−1)q+l) is aijbkl.

  • (b) False. For A=(1234) and B=(0110), the (1,2) entry of A⊗B is a11b12=1 and that of B⊗A is b11a12=0. The two are similar (Proposition 8.4.2), not equal.

  • (c) If A∈Mm×n(F), C∈Mn×t(F), B∈Mp×q(F) and D∈Mq×u(F), then (A⊗B)(C⊗D)=(AC)⊗(BD) (Theorem 8.4.1 (c)). The conditions are exactly that AC and BD are defined.

  • (d) False. By Theorem 8.4.3, det(A⊗B)=(detA)2(detB)2. For A=B=2I2, A⊗B=4I4 has determinant 256, while detAdetB=16.

  • (e) vec(AXB)=(B⊤⊗A)vecX (Theorem 8.4.4). With A=Im, M=B⊤⊗Im.

B. Practice

Exercise (B1: Computing with Kronecker products)

Let A=(201−1) and B=(1103) over Q.

  • (a) Write out A⊗B and B⊗A.
  • (b) Compute tr, det and rank of A⊗B from Theorem 8.4.3, and check the trace directly.
  • (c) Compute A2⊗B2 and use it to write down (A⊗B)2 without multiplying 4×4 matrices. Justify the step.
  • (d) Hence find (A⊗B)−1.

Solution.

  • (a) By Definition 8.4.1, A⊗B=(2B0B1B−1B)=(2200060011−1−1030−3),B⊗A=(1A1A0A3A)=(20201−11−10060003−3).

  • (b) trA=1, trB=4, detA=−2, detB=3, and both have rank 2. By Theorem 8.4.3, tr(A⊗B)=4, det(A⊗B)=(−2)2⋅32=36 and rank(A⊗B)=4. Directly, the diagonal of A⊗B is 2,6,−1,−3, with sum 4.

  • (c) By the mixed product rule (Theorem 8.4.1 (c)) with C=A and D=B, (A⊗B)2=A2⊗B2. Here A2=(4011) and B2=(1409), so (A⊗B)2=(4B20B2B2)=(416000360014140909).

  • (d) A−1=1−2(−10−12)=(12012−1) and B−1=13(3−101) by Theorem 0.9.8. By Theorem 8.4.1 (e), (A⊗B)−1=A−1⊗B−1=(12B−1012B−1−B−1)=(12−16000160012−16−1130160−13). Multiplying by A⊗B gives I4.

Exercise (B2: One-sided equations)

Let A∈Mm(F) and C∈Mm×n(F), and consider AX=C for X∈Mm×n(F).

  • (a) Write the equation in the form MvecX=vecC, and describe M as a block matrix.
  • (b) Explain why the system splits into n separate systems, one for each column of X.
  • (c) Hence show that AX=C has exactly one solution for every C if and only if A is invertible.
  • (d) Solve XA=C over Q by the same method, where A=(1213) and C=(3701).

Solution.

  • (a) By Theorem 8.4.4 with B=In, vec(AX)=(In⊗A)vecX, so M=In⊗A=A⊕⋯⊕A, with n blocks.

  • (b) Write vecX and vecC as stacks of the columns xj and cj. By Theorem 8.1.1, (A⊕⋯⊕A)vecX is the stack of the Axj. So the system says Axj=cj for j=1,…,n, and the unknowns of different columns never meet.

  • (c) (⇐) If A is invertible, then AX=C forces X=A−1C, and this X is a solution. (⇒) Suppose AX=C is solvable for every C. Given c∈Fm, take C with every column equal to c; by (b), a solution gives x with Ax=c. So Ax=c is solvable for every c, and A is invertible by Theorem 3.4.4 ((e) ⇒ (a)).

  • (d) By Theorem 8.4.4 with the left factor I2, vec(XA)=(A⊤⊗I2)vecX. With A⊤=(1123), vecX=(x11,x21,x12,x22) and vecC=(3,0,7,1), the system is (1010010120300203)(x11x21x12x22)=(3071). This time the system splits by the rows of X: equations 1,3 involve only x11,x12, and equations 2,4 only x21,x22. From x11+x12=3 and 2x11+3x12=7 we get x12=1, x11=2. From x21+x22=0 and 2x21+3x22=1 we get x22=1, x21=−1. Hence X=(21−11). Check: XA=(2+14+3−1+1−2+3)=(3701)=C.

Exercise (B3: Which identities hold?)

Determine which of the following statements hold for all A,B,C∈M2(R). Justify your answer.

  • (a) (A⊗B)(A⊗B)=A2⊗B2.
  • (b) (A+B)⊗C=A⊗C+B⊗C.
  • (c) (A⊗B)⊤=B⊤⊗A⊤.
  • (d) A⊗B=0 implies A=0 or B=0.
  • (e) tr(A⊗B)=tr(B⊗A).
  • (f) A⊗B+B⊗A=2(A⊗B).

Solution.

  • (a) Holds, by the mixed product rule (Theorem 8.4.1 (c)).

  • (b) Holds, by bilinearity (Theorem 8.4.1 (a)).

  • (c) Fails. By Theorem 8.4.1 (d), (A⊗B)⊤=A⊤⊗B⊤, and this differs from B⊤⊗A⊤ in general. Take A=(1324) and B=(0110)=B⊤. By (∗), the (1,2) entry of A⊤⊗B⊤ is (A⊤)11b12=1, while that of B⊤⊗A⊤ is b11(A⊤)12=0. Unlike (AB)⊤=B⊤A⊤, the order of the factors does not reverse.

  • (d) Holds. If A≠0 and B≠0, then rankA≥1 and rankB≥1, so rank(A⊗B)≥1 by Theorem 8.4.3 (a), and A⊗B≠0. (Directly: if aij≠0 and bkl≠0, the entry aijbkl of A⊗B is non-zero.)

  • (e) Holds: both equal trAtrB by Theorem 8.4.3 (b).

  • (f) Fails, since it is equivalent to B⊗A=A⊗B, which is false for the matrices of Example 1 after Definition 8.4.1 (see the non-example there).

C. Going deeper

Exercise (C1: When is a Kronecker product invertible?)
  • (a) Let A∈Mn(F) and B∈Mm(F). Prove that A⊗B is invertible if and only if both A and B are invertible.
  • (b) Let A∈Mm×n(F) and B∈Mp×q(F) with mp=nq, so that A⊗B is square. Prove that if m≠n, then A⊗B is not invertible.
  • (c) Give an example of a 2×1 matrix A and a 1×2 matrix B for which A⊗B is a non-zero 2×2 matrix, and compute its rank.

Solution.

  • (a) By Theorem 8.4.3 (c), det(A⊗B)=(detA)m(detB)n. In a field a product is non-zero if and only if each factor is, so this is non-zero if and only if detA≠0 and detB≠0 (here n,m≥1). By Theorem 7.5.2, applied to all three matrices, A⊗B is invertible if and only if A and B are.

  • (b) Suppose m<n. Since mp=nq and m<n, we get p>q. By Theorem 8.4.3 (a) and the bound rankM≤ (number of rows) and ≤ (number of columns), rank(A⊗B)=rankArankB≤m⋅q<n⋅q=nq, so the nq×nq matrix A⊗B is not invertible (Theorem 7.5.3 (d)). If m>n, then p<q, and rankArankB≤n⋅p<m⋅p=mp=nq in the same way.

  • (c) Take A=(12) and B=(31). Then A⊗B=(1B2B)=(3162), the outer product AB, of rank 1⋅1=1: its second row is twice its first. So it is square and non-zero but singular, as (b) predicts.

Exercise (C2: Kronecker sums)

Let A∈Mn(F) and B∈Mm(F), and put K:=A⊗Im+In⊗B∈Mnm(F).

  • (a) Prove that (A⊗Im)(In⊗B)=(In⊗B)(A⊗Im), and deduce that K2=A2⊗Im+2(A⊗B)+In⊗B2.
  • (b) Show that for X∈Mm×n(F), vec(BX+XA⊤)=KvecX.
  • (c) Suppose A and B are upper triangular. Prove that K is upper triangular with diagonal entries aii+bkk, and deduce that BX+XA⊤=C has exactly one solution for every C∈Mm×n(F) if and only if aii+bkk≠0 for all i,k.
  • (d) For A=(120−1) and B=(1003) over Q, decide whether BX+XA⊤=C is solvable for every C. If not, find a C with no solution.

Solution.

  • (a) By the mixed product rule, both products equal (AIn)⊗(ImB)=(InA)⊗(BIm)=A⊗B, as in (∗∗). Expanding K2 by distributivity (Theorem 0.9.4) gives (A⊗Im)2+(A⊗Im)(In⊗B)+(In⊗B)(A⊗Im)+(In⊗B)2. The middle terms are both A⊗B, and the outer ones are A2⊗Im and In⊗B2 by the mixed product rule.

  • (b) By Theorem 8.4.4, vec(BXIn)=(In⊗B)vecX and vec(ImXA⊤)=((A⊤)⊤⊗Im)vecX=(A⊗Im)vecX. Add, using linearity of vec.

  • (c) By (∗), the entry of A⊗Im in position ((i−1)m+k,(j−1)m+l) is aijδkl, which is zero unless i≤j and k=l; in that case (i−1)m+k≤(j−1)m+l. The entry of In⊗B there is δijbkl, zero unless i=j and k≤l, and again the row index is at most the column index. So both are upper triangular, hence so is K. On the diagonal, i=j and k=l, and the entry is aii+bkk. By Theorem 7.4.6, detK=∏i,k(aii+bkk). By (b), the equation is KvecX=vecC, and since vec is an isomorphism, it has exactly one solution for every C if and only if K is invertible (Theorem 3.4.4), that is detK≠0 (Theorem 7.5.2), that is every aii+bkk≠0.

  • (d) The diagonal entries aii+bkk are 1+1=2, 1+3=4, −1+1=0, −1+3=2, so by (c) the equation is not solvable for every C. Explicitly, K=(1I22I20I2−1I2)+(B00B)=(2020040200000002), whose third row is zero. So KvecX always has third entry 0, and any C with (vecC)3=c12≠0 has no solution, for example C=E12. (Directly: the (1,2) entry of BX+XA⊤ is x12+(x11a21+x12a22)=x12−x12=0.)

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.