Kronecker Products and Vec Operator

Why Kronecker Products and the Vec Operator Matter

The Kronecker product and vec operator are the workhorses of structured multi-dimensional linear algebra. They appear whenever a problem has inherent matrix structure that must be reshaped into a standard Ax=b\mathbf{A}\mathbf{x} = \mathbf{b} form.

In telecommunications the most prominent application is the Kronecker channel model for spatially correlated MIMO channels. When transmit and receive correlations are separable, the full nrntร—nrntn_r n_t \times n_r n_t channel covariance matrix factors as a Kronecker product of the much smaller ntร—ntn_t \times n_t transmit and nrร—nrn_r \times n_r receive correlation matrices. This factorization

  • Reduces parameter count from O(nr2nt2)O(n_r^2 n_t^2) to O(nr2+nt2)O(n_r^2 + n_t^2) โ€” essential for estimation and feedback.
  • Enables closed-form capacity analysis by decoupling transmit and receive spatial structure.
  • Allows vectorization of matrix equations via the vec operator and the identity vec(AXB)=(BTโŠ—A)vec(X)\text{vec}(\mathbf{A}\mathbf{X}\mathbf{B}) = (\mathbf{B}^T \otimes \mathbf{A})\text{vec}(\mathbf{X}), converting matrix-valued least-squares, Lyapunov equations, and Sylvester equations into standard linear systems.

Mastering these tools is prerequisite to understanding channel estimation, covariance feedback, and capacity analysis in modern MIMO systems.

Definition:

Kronecker Product

Let AโˆˆCmร—n\mathbf{A} \in \mathbb{C}^{m \times n} and BโˆˆCpร—q\mathbf{B} \in \mathbb{C}^{p \times q}. The Kronecker product (or tensor product) AโŠ—B\mathbf{A} \otimes \mathbf{B} is the mpร—nqmp \times nq block matrix defined by AโŠ—B=(a11Ba12Bโ‹ฏa1nBa21Ba22Bโ‹ฏa2nBโ‹ฎโ‹ฎโ‹ฑโ‹ฎam1Bam2Bโ‹ฏamnB)โˆˆCmpร—nq.\mathbf{A} \otimes \mathbf{B} = \begin{pmatrix} a_{11}\mathbf{B} & a_{12}\mathbf{B} & \cdots & a_{1n}\mathbf{B} \\ a_{21}\mathbf{B} & a_{22}\mathbf{B} & \cdots & a_{2n}\mathbf{B} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1}\mathbf{B} & a_{m2}\mathbf{B} & \cdots & a_{mn}\mathbf{B} \end{pmatrix} \in \mathbb{C}^{mp \times nq}. Equivalently, the (i,j)(i,j)-th block of size pร—qp \times q is aijBa_{ij}\mathbf{B}, so the entry in global row (iโˆ’1)p+k(i-1)p + k and global column (jโˆ’1)q+โ„“(j-1)q + \ell is [AโŠ—B](iโˆ’1)p+k,โ€…โ€Š(jโˆ’1)q+โ„“=aijโ€‰bkโ„“.[\mathbf{A} \otimes \mathbf{B}]_{(i-1)p+k,\;(j-1)q+\ell} = a_{ij}\,b_{k\ell}.

The Kronecker product is bilinear: linear in each factor when the other is held fixed. It is also associative: (AโŠ—B)โŠ—C=AโŠ—(BโŠ—C)(\mathbf{A} \otimes \mathbf{B}) \otimes \mathbf{C} = \mathbf{A} \otimes (\mathbf{B} \otimes \mathbf{C}), but it is not commutative in general: AโŠ—Bโ‰ BโŠ—A\mathbf{A} \otimes \mathbf{B} \neq \mathbf{B} \otimes \mathbf{A} unless special conditions hold (e.g., both are scalars).

Definition:

Vec Operator

Let AโˆˆCmร—n\mathbf{A} \in \mathbb{C}^{m \times n} with columns a1,a2,โ€ฆ,anโˆˆCm\mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_n \in \mathbb{C}^m. The vec operator stacks the columns of A\mathbf{A} into a single column vector: vec(A)=(a1a2โ‹ฎan)โˆˆCmn.\text{vec}(\mathbf{A}) = \begin{pmatrix} \mathbf{a}_1 \\ \mathbf{a}_2 \\ \vdots \\ \mathbf{a}_n \end{pmatrix} \in \mathbb{C}^{mn}. The vec operator is linear: vec(ฮฑA+ฮฒB)=ฮฑโ€‰vec(A)+ฮฒโ€‰vec(B)\text{vec}(\alpha \mathbf{A} + \beta \mathbf{B}) = \alpha\,\text{vec}(\mathbf{A}) + \beta\,\text{vec}(\mathbf{B}).

The entry of vec(A)\text{vec}(\mathbf{A}) at position (jโˆ’1)m+i(j-1)m + i equals aija_{ij} (the element in row ii, column jj of A\mathbf{A}).

The vec operator provides the bridge between matrix equations and ordinary linear systems. It is the key ingredient in converting Lyapunov equations, Sylvester equations, and matrix least-squares problems into standard Ax=b\mathbf{A}\mathbf{x} = \mathbf{b} form.

Theorem: Mixed-Product Property of the Kronecker Product

Let AโˆˆCmร—n\mathbf{A} \in \mathbb{C}^{m \times n}, BโˆˆCpร—q\mathbf{B} \in \mathbb{C}^{p \times q}, CโˆˆCnร—r\mathbf{C} \in \mathbb{C}^{n \times r}, and DโˆˆCqร—s\mathbf{D} \in \mathbb{C}^{q \times s}. Then (AโŠ—B)(CโŠ—D)=(AC)โŠ—(BD).(\mathbf{A} \otimes \mathbf{B})(\mathbf{C} \otimes \mathbf{D}) = (\mathbf{A}\mathbf{C}) \otimes (\mathbf{B}\mathbf{D}).

The Kronecker product "separates" two independent matrix operations. Multiplying two Kronecker products corresponds to performing the underlying multiplications independently in each factor space. Think of it as: the A\mathbf{A} part and the B\mathbf{B} part do not interact; each evolves according to its own multiplication.

Theorem: Vec Identity for Matrix Triple Products

Let AโˆˆCmร—n\mathbf{A} \in \mathbb{C}^{m \times n}, XโˆˆCnร—p\mathbf{X} \in \mathbb{C}^{n \times p}, and BโˆˆCpร—q\mathbf{B} \in \mathbb{C}^{p \times q}. Then vec(AXB)=(BTโŠ—A)โ€‰vec(X).\text{vec}(\mathbf{A}\mathbf{X}\mathbf{B}) = (\mathbf{B}^T \otimes \mathbf{A})\,\text{vec}(\mathbf{X}).

The vec identity says that the linear map Xโ†ฆAXB\mathbf{X} \mapsto \mathbf{A}\mathbf{X}\mathbf{B} โ€” which acts on matrices โ€” can be represented as ordinary matrix-vector multiplication once we vectorize X\mathbf{X}. The "coefficient matrix" of this linear map is BTโŠ—A\mathbf{B}^T \otimes \mathbf{A}, which encodes the left multiplication by A\mathbf{A} and right multiplication by B\mathbf{B} simultaneously.

Theorem: Eigenvalues of a Kronecker Product

Let AโˆˆCmร—m\mathbf{A} \in \mathbb{C}^{m \times m} have eigenvalues ฮป1,โ€ฆ,ฮปm\lambda_1, \ldots, \lambda_m and let BโˆˆCnร—n\mathbf{B} \in \mathbb{C}^{n \times n} have eigenvalues ฮผ1,โ€ฆ,ฮผn\mu_1, \ldots, \mu_n. Then the eigenvalues of AโŠ—B\mathbf{A} \otimes \mathbf{B} are exactly the mnmn products {ฮปiฮผj:1โ‰คiโ‰คm,โ€…โ€Š1โ‰คjโ‰คn}.\{\lambda_i \mu_j : 1 \leq i \leq m, \; 1 \leq j \leq n\}. If vi\mathbf{v}_i is an eigenvector of A\mathbf{A} for ฮปi\lambda_i and wj\mathbf{w}_j is an eigenvector of B\mathbf{B} for ฮผj\mu_j, then viโŠ—wj\mathbf{v}_i \otimes \mathbf{w}_j is an eigenvector of AโŠ—B\mathbf{A} \otimes \mathbf{B} for the eigenvalue ฮปiฮผj\lambda_i \mu_j.

The Kronecker product combines two independent linear maps, one acting on each factor of a tensor product space. An eigenvector of the combined map is simply an eigenvector for each factor, and the eigenvalue is the product โ€” just as the joint probability of independent events is the product of the individual probabilities.

Example: Kronecker Product Computation and Mixed-Product Verification

Let A=(1234),B=(0110).\mathbf{A} = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \quad \mathbf{B} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}.

(a) Compute AโŠ—B\mathbf{A} \otimes \mathbf{B}.

(b) Verify the mixed-product property by computing both sides of (AโŠ—B)(AโŠ—B)=(A2)โŠ—(B2)(\mathbf{A} \otimes \mathbf{B})(\mathbf{A} \otimes \mathbf{B}) = (\mathbf{A}^2) \otimes (\mathbf{B}^2).

Kronecker Product Structure Visualization

See how AโŠ—B\mathbf{A} \otimes \mathbf{B} inherits block structure from A\mathbf{A} with each block scaled by the corresponding entry of A\mathbf{A} and shaped like B\mathbf{B}.

Parameters

Kronecker Product vs Hadamard (Element-wise) Product

PropertyKronecker product (AโŠ—B\mathbf{A} \otimes \mathbf{B})Hadamard product (Aโˆ˜B\mathbf{A} \circ \mathbf{B})
Definition(i,j)(i,j)-th block is aijBa_{ij}\mathbf{B}; result is mpร—nqmp \times nq[Aโˆ˜B]ij=aijbij[\mathbf{A} \circ \mathbf{B}]_{ij} = a_{ij} b_{ij}; requires same dimensions, result is mร—nm \times n
Output dimensionsAโˆˆCmร—n\mathbf{A} \in \mathbb{C}^{m \times n}, BโˆˆCpร—q\mathbf{B} \in \mathbb{C}^{p \times q} โ‡’\Rightarrow result is mpร—nqmp \times nq (dimensions multiply)A,BโˆˆCmร—n\mathbf{A}, \mathbf{B} \in \mathbb{C}^{m \times n} โ‡’\Rightarrow result is mร—nm \times n (dimensions unchanged)
AssociativityYes: (AโŠ—B)โŠ—C=AโŠ—(BโŠ—C)(\mathbf{A} \otimes \mathbf{B}) \otimes \mathbf{C} = \mathbf{A} \otimes (\mathbf{B} \otimes \mathbf{C})Yes: (Aโˆ˜B)โˆ˜C=Aโˆ˜(Bโˆ˜C)(\mathbf{A} \circ \mathbf{B}) \circ \mathbf{C} = \mathbf{A} \circ (\mathbf{B} \circ \mathbf{C})
Mixed-product property(AโŠ—B)(CโŠ—D)=(AC)โŠ—(BD)(\mathbf{A} \otimes \mathbf{B})(\mathbf{C} \otimes \mathbf{D}) = (\mathbf{A}\mathbf{C}) \otimes (\mathbf{B}\mathbf{D})No analogous property; (Aโˆ˜B)(Cโˆ˜D)โ‰ (AC)โˆ˜(BD)(\mathbf{A} \circ \mathbf{B})(\mathbf{C} \circ \mathbf{D}) \neq (\mathbf{A}\mathbf{C}) \circ (\mathbf{B}\mathbf{D}) in general
Relation to eigenvaluesฯƒ(AโŠ—B)={ฮปi(A)โ‹…ฮผj(B)}\sigma(\mathbf{A} \otimes \mathbf{B}) = \{\lambda_i(\mathbf{A}) \cdot \mu_j(\mathbf{B})\}No simple relation; Schur product theorem: if A,Bโชฐ0\mathbf{A}, \mathbf{B} \succeq 0 then Aโˆ˜Bโชฐ0\mathbf{A} \circ \mathbf{B} \succeq 0
CommutativityNot commutative (AโŠ—Bโ‰ BโŠ—A\mathbf{A} \otimes \mathbf{B} \neq \mathbf{B} \otimes \mathbf{A} in general, and they may have different dimensions)Commutative: Aโˆ˜B=Bโˆ˜A\mathbf{A} \circ \mathbf{B} = \mathbf{B} \circ \mathbf{A}
Typical wireless applicationKronecker channel model: vec(H)โˆผCN(0,RtTโŠ—Rr)\text{vec}(\mathbf{H}) \sim \mathcal{CN}(\mathbf{0}, \mathbf{R}_t^T \otimes \mathbf{R}_r); covariance structuringElement-wise channel gain masking; per-subcarrier power allocation in OFDM; Schur complement bounds

Why This Matters: The Kronecker MIMO Channel Model

A widely used model for spatially correlated MIMO channels assumes that transmit and receive correlations are separable. Let HโˆˆCnrร—nt\mathbf{H} \in \mathbb{C}^{n_r \times n_t} be the channel matrix. The Kronecker model posits: H=Rr1/2โ€‰Hiidโ€‰Rt1/2,\mathbf{H} = \mathbf{R}_r^{1/2}\,\mathbf{H}_{\text{iid}}\,\mathbf{R}_t^{1/2}, where:

  • RrโˆˆCnrร—nr\mathbf{R}_r \in \mathbb{C}^{n_r \times n_r} is the receive spatial correlation matrix (Rrโชฐ0\mathbf{R}_r \succeq 0, often normalized so that trโก(Rr)=nr\operatorname{tr}(\mathbf{R}_r) = n_r).
  • RtโˆˆCntร—nt\mathbf{R}_t \in \mathbb{C}^{n_t \times n_t} is the transmit spatial correlation matrix (Rtโชฐ0\mathbf{R}_t \succeq 0, similarly normalized).
  • Hiid\mathbf{H}_{\text{iid}} has i.i.d. entries โˆผCN(0,1)\sim \mathcal{CN}(0, 1).
  • Rr1/2\mathbf{R}_r^{1/2} and Rt1/2\mathbf{R}_t^{1/2} are any matrix square roots (e.g., Cholesky factors or Hermitian square roots).

Connection to the Kronecker product and vec operator. Using the vec identity (TVec Identity for Matrix Triple Products), vectorize both sides: vec(H)=vec(Rr1/2โ€‰Hiidโ€‰Rt1/2)=((Rt1/2)TโŠ—Rr1/2)โ€‰vec(Hiid).\text{vec}(\mathbf{H}) = \text{vec}\bigl(\mathbf{R}_r^{1/2}\,\mathbf{H}_{\text{iid}}\,\mathbf{R}_t^{1/2}\bigr) = \bigl((\mathbf{R}_t^{1/2})^T \otimes \mathbf{R}_r^{1/2}\bigr)\, \text{vec}(\mathbf{H}_{\text{iid}}). Since vec(Hiid)โˆผCN(0,Inrnt)\text{vec}(\mathbf{H}_{\text{iid}}) \sim \mathcal{CN}(\mathbf{0}, \mathbf{I}_{n_r n_t}), the covariance of vec(H)\text{vec}(\mathbf{H}) is RH=E[vec(H)โ€‰vec(H)H]=((Rt1/2)TโŠ—Rr1/2)((Rt1/2)TโŠ—Rr1/2)H.\mathbf{R}_{\mathbf{H}} = \mathbb{E}[\text{vec}(\mathbf{H})\,\text{vec}(\mathbf{H})^H] = \bigl((\mathbf{R}_t^{1/2})^T \otimes \mathbf{R}_r^{1/2}\bigr) \bigl((\mathbf{R}_t^{1/2})^T \otimes \mathbf{R}_r^{1/2}\bigr)^H. Applying the mixed-product property and (Rt1/2)T((Rt1/2)T)H=(Rt1/2RtH/2)T=RtT(\mathbf{R}_t^{1/2})^T ((\mathbf{R}_t^{1/2})^T)^H = (\mathbf{R}_t^{1/2} \mathbf{R}_t^{H/2})^T = \mathbf{R}_t^T: RH=RtTโŠ—Rr.\mathbf{R}_{\mathbf{H}} = \mathbf{R}_t^T \otimes \mathbf{R}_r. Therefore vec(H)โˆผCN(0,โ€…โ€ŠRtTโŠ—Rr).\text{vec}(\mathbf{H}) \sim \mathcal{CN}(\mathbf{0},\; \mathbf{R}_t^T \otimes \mathbf{R}_r).

Why this matters:

  • The full covariance RHโˆˆCnrntร—nrnt\mathbf{R}_{\mathbf{H}} \in \mathbb{C}^{n_r n_t \times n_r n_t} is completely determined by the two smaller matrices Rr\mathbf{R}_r and Rt\mathbf{R}_t โ€” a dramatic reduction in the number of parameters to estimate and feed back.
  • The eigenvalues of RH\mathbf{R}_{\mathbf{H}} are all pairwise products ฮปi(Rr)โ‹…ฮผj(Rt)\lambda_i(\mathbf{R}_r) \cdot \mu_j(\mathbf{R}_t) (by TEigenvalues of a Kronecker Product), enabling closed-form capacity and outage analysis.
  • This model is accurate when scattering at the transmitter and receiver are physically separated, which is common in macro-cellular deployments.

See full treatment in Uplink and Downlink Processing

โš ๏ธEngineering Note

Efficient Kronecker Matrix-Vector Products

A naive matrix-vector product (AโŠ—B)x(\mathbf{A} \otimes \mathbf{B})\mathbf{x} with AโˆˆCmร—n\mathbf{A} \in \mathbb{C}^{m \times n} and BโˆˆCpร—q\mathbf{B} \in \mathbb{C}^{p \times q} costs O(mpnq)O(mpnq) flops if the Kronecker product is formed explicitly โ€” a waste of both memory and computation.

The identity (AโŠ—B)vec(X)=vec(BXAT)(\mathbf{A} \otimes \mathbf{B})\text{vec}(\mathbf{X}) = \text{vec}(\mathbf{B}\mathbf{X}\mathbf{A}^T) reduces this to two smaller matrix multiplications costing O(pqn+mpn)O(pqn + mpn) โ€” a factor of minโก(m,q)\min(m,q) cheaper.

This trick is critical in:

  • MIMO channel covariance operations: (RtTโŠ—Rr)vec(H)(\mathbf{R}_t^T \otimes \mathbf{R}_r)\text{vec}(\mathbf{H}) for spatial filtering.
  • RF imaging (Book RFI, Ch 8.6): The sensing matrix has Kronecker structure A=A1โŠ—A2\mathbf{A} = \mathbf{A}_1 \otimes \mathbf{A}_2, and all image reconstruction algorithms exploit this to avoid forming the full operator.
  • OAMP/VAMP estimation (Book FSI, Ch 17-21): The LMMSE step uses Kronecker-factored matrix inverses.
Practical Constraints
  • โ€ข

    Explicit Kronecker product of two 64ร—6464 \times 64 matrices: 644=16M64^4 = 16M entries โ€” do not store

  • โ€ข

    Factored product: 2ร—643โ‰ˆ500K2 \times 64^3 \approx 500K flops โ€” 32x cheaper

Kronecker Products Across the Library

The Kronecker product structure introduced here reappears as a central computational tool in three specialized books:

  • Book MIMO (Ch 3, 7): Spatial correlation modeling and JSDM precoding exploit RtTโŠ—Rr\mathbf{R}_t^T \otimes \mathbf{R}_r.
  • Book RFI (Ch 8.6): The multi-static RF imaging sensing operator factors as A1โŠ—A2\mathbf{A}_1 \otimes \mathbf{A}_2, enabling efficient backpropagation and OAMP reconstruction.
  • Book FSI (Ch 17-21): Message-passing algorithms (AMP, OAMP, VAMP) exploit Kronecker structure in the LMMSE step for computational efficiency.

Key Takeaway

The Kronecker product and vec operator together provide a systematic way to convert matrix equations into vector equations. The identity vec(AXB)=(BTโŠ—A)vec(X)\text{vec}(\mathbf{A}\mathbf{X}\mathbf{B}) = (\mathbf{B}^T \otimes \mathbf{A})\text{vec}(\mathbf{X}) is the central bridge between the two representations.

In MIMO wireless communications, the Kronecker structure encodes separable spatial correlation: the full nrntร—nrntn_r n_t \times n_r n_t channel covariance factors as RtTโŠ—Rr\mathbf{R}_t^T \otimes \mathbf{R}_r, reducing complexity from O(nr2nt2)O(n_r^2 n_t^2) to O(nr2+nt2)O(n_r^2 + n_t^2) parameters. The mixed-product property and eigenvalue factorization underpin closed-form capacity expressions and efficient covariance estimation algorithms.

Common Mistake: Kronecker Product Is Not Commutative

Mistake:

Assuming AโŠ—B=BโŠ—A\mathbf{A} \otimes \mathbf{B} = \mathbf{B} \otimes \mathbf{A}. This is a natural but incorrect extension of scalar multiplication commutativity to the Kronecker product.

Correction:

In general, AโŠ—Bโ‰ BโŠ—A\mathbf{A} \otimes \mathbf{B} \neq \mathbf{B} \otimes \mathbf{A}. In fact, if AโˆˆCmร—n\mathbf{A} \in \mathbb{C}^{m \times n} and BโˆˆCpร—q\mathbf{B} \in \mathbb{C}^{p \times q} with mโ‰ pm \neq p or nโ‰ qn \neq q, the two products do not even have the same dimensions: AโŠ—BโˆˆCmpร—nq\mathbf{A} \otimes \mathbf{B} \in \mathbb{C}^{mp \times nq} while BโŠ—AโˆˆCpmร—qn\mathbf{B} \otimes \mathbf{A} \in \mathbb{C}^{pm \times qn} (same size, but different internal block structure).

Even when both factors are square of the same size, the block structure differs. For example, with A=(1000)\mathbf{A} = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} and B=(0001)\mathbf{B} = \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}: AโŠ—B=(0000010000000000),BโŠ—A=(0000000000100000).\mathbf{A} \otimes \mathbf{B} = \begin{pmatrix} 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}, \quad \mathbf{B} \otimes \mathbf{A} = \begin{pmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}. These are different.

However, the two products are always related by a permutation: there exist permutation matrices P\mathbf{P} and Q\mathbf{Q} such that BโŠ—A=P(AโŠ—B)Q\mathbf{B} \otimes \mathbf{A} = \mathbf{P}(\mathbf{A} \otimes \mathbf{B})\mathbf{Q}. In the Kronecker channel model, confusing the order leads to swapping transmit and receive correlations โ€” a subtle but consequential error.

Quick Check

Let AโˆˆC2ร—3\mathbf{A} \in \mathbb{C}^{2 \times 3} and BโˆˆC4ร—5\mathbf{B} \in \mathbb{C}^{4 \times 5}. What are the dimensions of AโŠ—B\mathbf{A} \otimes \mathbf{B}?

8ร—158 \times 15

6ร—86 \times 8

2ร—32 \times 3

6ร—206 \times 20

Quick Check

Let A\mathbf{A} have eigenvalues 2,32, 3 and B\mathbf{B} have eigenvalues 1,โˆ’11, -1. Which of the following is the set of eigenvalues of AโŠ—B\mathbf{A} \otimes \mathbf{B}?

{2,โ€…โ€Šโˆ’2,โ€…โ€Š3,โ€…โ€Šโˆ’3}\{2,\; -2,\; 3,\; -3\}

{3,โ€…โ€Š2,โ€…โ€Š1,โ€…โ€Šโˆ’1}\{3,\; 2,\; 1,\; -1\}

{2,โ€…โ€Šโˆ’3}\{2,\; -3\}

{6,โ€…โ€Šโˆ’6,โ€…โ€Š1,โ€…โ€Šโˆ’1}\{6,\; -6,\; 1,\; -1\}

Kronecker Product

The Kronecker product AโŠ—B\mathbf{A} \otimes \mathbf{B} of an mร—nm \times n matrix A\mathbf{A} and a pร—qp \times q matrix B\mathbf{B} is the mpร—nqmp \times nq block matrix whose (i,j)(i,j)-th block (of size pร—qp \times q) equals aijBa_{ij}\mathbf{B}. It satisfies the mixed-product property, has eigenvalues that are pairwise products of the factors' eigenvalues, and is the primary tool for encoding separable correlation structure in MIMO channels.

Related: Vec Operator, mixed-product property, The Kronecker MIMO Channel Model

Vec Operator

The vec operator vec(A)\text{vec}(\mathbf{A}) maps an mร—nm \times n matrix A\mathbf{A} to an mnร—1mn \times 1 column vector by stacking the columns of A\mathbf{A} from left to right. It is linear and satisfies the fundamental identity vec(AXB)=(BTโŠ—A)vec(X)\text{vec}(\mathbf{A}\mathbf{X}\mathbf{B}) = (\mathbf{B}^T \otimes \mathbf{A})\text{vec}(\mathbf{X}), which converts matrix equations into standard linear systems.

Related: Kronecker Product, matrix vectorization, Lyapunov equation