Kronecker Products and Vectorization
A way of multiplying two matrices that produces a much bigger block matrix, paired with a trick for turning a matrix equation into a plain vector one so standard linear-algebra tools can solve it.
Multiplying two matrices normally means combining rows and columns to produce another matrix of compatible size. The Kronecker product, written , does something different: it takes every single entry of and replaces it with that entry times the entire matrix , stitching the results into one large block matrix. A matrix Kronecker-multiplied by a matrix produces a matrix made of four blocks, each block a scaled copy of .
This construction earns its keep alongside vectorization, the operation that stacks all the columns of a matrix into one long column vector, written . Together they let you rewrite an equation like , which involves an unknown matrix sandwiched between two known ones, as the plain linear system . That form can be solved with ordinary matrix inversion, whereas the original sandwiched form cannot.
The Kronecker product turns "multiply by a matrix on the left and another on the right" into "multiply by one big matrix," which is exactly what's needed to solve matrix equations using standard vector algebra instead of specialized matrix-equation solvers.
This machinery shows up whenever a model has a natural two-dimensional structure — for instance covariance across both assets and time factors, or the coefficients of a multivariate regression — because it lets those richer models be estimated with the same linear-algebra routines built for ordinary vectors.
Practice in interviews
Further reading
- Magnus & Neudecker, Matrix Differential Calculus