Kronecker Product Structure of the Sensing Matrix

Why Kronecker Structure Is the Key to Scalable RF Imaging

In Chapter 6 we derived the sensing matrix AโˆˆCMร—N\mathbf{A} \in \mathbb{C}^{M \times N} that maps the discretized reflectivity cโˆˆCN\mathbf{c} \in \mathbb{C}^N to measurements yโˆˆCM\mathbf{y} \in \mathbb{C}^M. For a typical 3D imaging scenario with Nt=8N_t = 8 transmitters, Nr=16N_r = 16 receivers, Nf=64N_f = 64 subcarriers, and a 32332^3 voxel grid, the full matrix has Mร—N=8192ร—32768โ‰ˆ2.7ร—108M \times N = 8192 \times 32768 \approx 2.7 \times 10^8 complex entries --- over 2 GB of storage. Forming this matrix explicitly, let alone inverting it, is computationally prohibitive.

The central insight of this section is that under physically reasonable assumptions, A\mathbf{A} decomposes as a Kronecker product of three much smaller factor matrices. This factorization reduces storage by five orders of magnitude and enables matrix-vector products that are fast enough for iterative reconstruction in real time. Every reconstruction algorithm in Parts IV--VI exploits this structure.

Definition:

Kronecker Product

The Kronecker product of matrices BโˆˆCm1ร—n1\mathbf{B} \in \mathbb{C}^{m_1 \times n_1} and CโˆˆCm2ร—n2\mathbf{C} \in \mathbb{C}^{m_2 \times n_2} is the m1m2ร—n1n2m_1 m_2 \times n_1 n_2 block matrix

BโŠ—C=[b11Cb12Cโ‹ฏb1n1Cb21Cb22Cโ‹ฏb2n1Cโ‹ฎโ‹ฎโ‹ฑโ‹ฎbm11Cbm12Cโ‹ฏbm1n1C].\mathbf{B} \otimes \mathbf{C} = \begin{bmatrix} b_{11}\mathbf{C} & b_{12}\mathbf{C} & \cdots & b_{1n_1}\mathbf{C} \\ b_{21}\mathbf{C} & b_{22}\mathbf{C} & \cdots & b_{2n_1}\mathbf{C} \\ \vdots & \vdots & \ddots & \vdots \\ b_{m_1 1}\mathbf{C} & b_{m_1 2}\mathbf{C} & \cdots & b_{m_1 n_1}\mathbf{C} \end{bmatrix}.

The Kronecker product satisfies the fundamental vec identity:

(BโŠ—C)โ€‰vec(X)=vec(CXBT)(\mathbf{B} \otimes \mathbf{C})\,\text{vec}(\mathbf{X}) = \text{vec}(\mathbf{C}\mathbf{X}\mathbf{B}^T)

for any conformable matrix X\mathbf{X}.

The vec identity is the computational engine behind every fast algorithm in this chapter. It converts a single large matrix-vector product into a sequence of smaller matrix multiplications.

Kronecker product

A matrix operation BโŠ—C\mathbf{B} \otimes \mathbf{C} that replaces each element bijb_{ij} of B\mathbf{B} with the block bijCb_{ij}\mathbf{C}, producing an (m1m2)ร—(n1n2)(m_1 m_2) \times (n_1 n_2) matrix from factors of sizes m1ร—n1m_1 \times n_1 and m2ร—n2m_2 \times n_2.

Related: {{Ref:Gloss Vec Operator}}, {{Ref:Telecom:Ch01:Gloss Kronecker}}

Vectorization operator

The operator vec(X)\text{vec}(\mathbf{X}) that stacks the columns of a matrix XโˆˆCmร—n\mathbf{X} \in \mathbb{C}^{m \times n} into a single vector in Cmn\mathbb{C}^{mn}. The inverse operation reshapes a vector back into a matrix of specified dimensions.

Related: {{Ref:Gloss Kronecker Product}}

Definition:

Algebraic Properties of the Kronecker Product

The Kronecker product satisfies the following identities, each of which we exploit for computational gain:

Mixed-product rule: (B1โŠ—C1)(B2โŠ—C2)=(B1B2)โŠ—(C1C2)(\mathbf{B}_1 \otimes \mathbf{C}_1)(\mathbf{B}_2 \otimes \mathbf{C}_2) = (\mathbf{B}_1\mathbf{B}_2) \otimes (\mathbf{C}_1\mathbf{C}_2)

Transpose: (BโŠ—C)T=BTโŠ—CT,(BโŠ—C)H=BHโŠ—CH(\mathbf{B} \otimes \mathbf{C})^T = \mathbf{B}^T \otimes \mathbf{C}^T, \qquad (\mathbf{B} \otimes \mathbf{C})^H = \mathbf{B}^H \otimes \mathbf{C}^H

Inverse (when both factors are invertible): (BโŠ—C)โˆ’1=Bโˆ’1โŠ—Cโˆ’1(\mathbf{B} \otimes \mathbf{C})^{-1} = \mathbf{B}^{-1} \otimes \mathbf{C}^{-1}

Pseudoinverse: (BโŠ—C)โ€ =Bโ€ โŠ—Cโ€ (\mathbf{B} \otimes \mathbf{C})^\dagger = \mathbf{B}^\dagger \otimes \mathbf{C}^\dagger

Eigenvalues: If B\mathbf{B} has eigenvalues {ฮปi}\{\lambda_i\} and C\mathbf{C} has eigenvalues {ฮผj}\{\mu_j\}, then BโŠ—C\mathbf{B} \otimes \mathbf{C} has eigenvalues {ฮปiฮผj}\{\lambda_i \mu_j\}.

The mixed-product rule is particularly powerful: it means that AHA\mathbf{A}^{H}\mathbf{A} inherits the Kronecker structure of A\mathbf{A}, so the Gram matrix can be analyzed factor by factor.

Theorem: Kronecker Factorization of the Sensing Matrix

Consider a multi-static RF imaging system with NtN_t transmitters, NrN_r receivers, and NfN_f frequency bins, operating in the far field with the scene discretized on a separable Cartesian grid of dimensions Nxร—Nyร—NrN_x \times N_y \times N_r. Under these assumptions, the sensing matrix factors as:

A=ARxโŠ—ATxโŠ—Af\boxed{\mathbf{A} = \mathbf{A}_{\text{Rx}} \otimes \mathbf{A}_{\text{Tx}} \otimes \mathbf{A}_{f}}

where:

  • ARxโˆˆCNrร—Nx\mathbf{A}_{\text{Rx}} \in \mathbb{C}^{N_r \times N_x}: receive spatial factor (columns are Rx steering vectors evaluated at grid angles),
  • ATxโˆˆCNtร—Ny\mathbf{A}_{\text{Tx}} \in \mathbb{C}^{N_t \times N_y}: transmit spatial factor (columns are Tx steering vectors evaluated at grid angles),
  • AfโˆˆCNfร—Nr\mathbf{A}_{f} \in \mathbb{C}^{N_f \times N_r}: frequency (range) factor (a partial DFT matrix sampling the delay-frequency relationship).

The total matrix AโˆˆCMร—N\mathbf{A} \in \mathbb{C}^{M \times N} with M=NrNtNfM = N_rN_t N_f and N=NxNyNrN = N_x N_y N_r is specified by only NrNx+NtNy+NfNrN_r N_x + N_t N_y + N_f N_r parameters instead of MNMN.

The physical reason for separability is that in the far field, the round-trip phase from transmitter ii through voxel (ix,iy,ir)(i_x, i_y, i_r) to receiver jj at frequency fkf_k separates into three independent terms: one depending only on the Rx-angle pair, one on the Tx-angle pair, and one on the frequency-range pair. Since the sensing matrix entry is the product of these three phase terms, the full matrix is their Kronecker product.

On the Factor Ordering Convention

The ordering ARxโŠ—ATxโŠ—Af\mathbf{A}_{\text{Rx}} \otimes \mathbf{A}_{\text{Tx}} \otimes \mathbf{A}_{f} corresponds to the measurement index ordering (j,i,k)(j, i, k) --- receive antenna varies slowest, frequency varies fastest --- and scene index ordering (ix,iy,ir)(i_x, i_y, i_r). Different stacking conventions lead to permuted Kronecker factors. The CommIT simulator uses the convention above, matching Caire's note (Eq. 22--23). When reading other references, verify the index ordering before comparing expressions.

Definition:

Storage and Computational Savings

For a Kronecker-factored sensing matrix A=ARxโŠ—ATxโŠ—Af\mathbf{A} = \mathbf{A}_{\text{Rx}} \otimes \mathbf{A}_{\text{Tx}} \otimes \mathbf{A}_{f} with factor sizes mkร—nkm_k \times n_k:

Quantity Full A\mathbf{A} Kronecker factors
Storage Mโ‹…NM \cdot N complex numbers โˆ‘k=13mknk\sum_{k=1}^{3} m_k n_k complex numbers
Matvec O(MN)O(MN) multiplications O(m1n1n2n3+m1m2n2n3+m1m2m3n3)O(m_1 n_1 n_2 n_3 + m_1 m_2 n_2 n_3 + m_1 m_2 m_3 n_3)

For the representative parameters Nt=8N_t = 8, Nr=16N_r = 16, Nf=64N_f = 64, and Nx=Ny=Nr=32N_x = N_y = N_r = 32:

Full Kronecker Ratio
Storage 2.12.1 GB 1818 KB โˆผ105ร—\sim 10^5 \times
Matvec flops 2.7ร—1082.7 \times 10^8 5.2ร—1055.2 \times 10^5 โˆผ500ร—\sim 500 \times

The Kronecker factorization makes iterative reconstruction feasible for 3D imaging problems that would otherwise require supercomputer-scale resources.

Theorem: Fast Matrix-Vector Product via Kronecker Structure

For A=A3โŠ—A2โŠ—A1\mathbf{A} = \mathbf{A}_{3} \otimes \mathbf{A}_{2} \otimes \mathbf{A}_{1} with factors of size mkร—nkm_k \times n_k (k=1,2,3k = 1, 2, 3), the product y=Ac\mathbf{y} = \mathbf{A}\mathbf{c} can be computed in

O(m1n1n2n3+m1m2n2n3+m1m2m3n3)O(m_1 n_1 n_2 n_3 + m_1 m_2 n_2 n_3 + m_1 m_2 m_3 n_3)

operations, compared to O(m1m2m3โ‹…n1n2n3)O(m_1 m_2 m_3 \cdot n_1 n_2 n_3) for the naive product. For balanced factors (mkโ‰ˆnkโ‰ˆnm_k \approx n_k \approx n), this reduces from O(n6)O(n^6) to O(n4)O(n^4).

Instead of applying the giant matrix all at once, we reshape the reflectivity vector into a 3D tensor and apply each factor matrix along one mode at a time --- three small multiplications instead of one enormous one.

Example: Kronecker Structure for 2D Imaging with ULAs

A monostatic system uses a Nt=4N_t = 4-element Tx ULA and a co-located Nr=8N_r = 8-element Rx ULA, both with half-wavelength spacing, transmitting on Nf=16N_f = 16 subcarriers with spacing ฮ”f=1\Delta f = 1 MHz centered at f0=28f_0 = 28 GHz. The scene is a 2D grid of Nx=16N_x = 16 cross-range bins and Nr=16N_r = 16 range bins.

(a) Write the factor matrices explicitly. (b) Compute the storage saving. (c) Determine the computational saving for one matvec.

Kronecker Structure Visualization

Visualizes the magnitude of the sensing matrix and its Kronecker factors.

Top row: Magnitude plots of the three factor matrices ARx\mathbf{A}_{\text{Rx}}, ATx\mathbf{A}_{\text{Tx}}, Af\mathbf{A}_{f}.

Bottom left: Magnitude of the full sensing matrix A\mathbf{A}, showing the characteristic block-repetitive pattern.

Bottom right: Singular values of A\mathbf{A} (blue) compared with products of factor singular values (red circles), confirming the multiplicative SVD property.

Parameters
4
8
16
12

The Gram Matrix Inherits Kronecker Structure

Since A=ARxโŠ—ATxโŠ—Af\mathbf{A} = \mathbf{A}_{\text{Rx}} \otimes \mathbf{A}_{\text{Tx}} \otimes \mathbf{A}_{f}, the Gram matrix factors as

AHA=(ARxHARx)โŠ—(ATxHATx)โŠ—(AfHAf).\mathbf{A}^{H}\mathbf{A} = (\mathbf{A}_{\text{Rx}}^H\mathbf{A}_{\text{Rx}}) \otimes (\mathbf{A}_{\text{Tx}}^H\mathbf{A}_{\text{Tx}}) \otimes (\mathbf{A}_{f}^{H}\mathbf{A}_{f}).

This means the point-spread function (PSF) --- the response of the imaging system to a point scatterer --- can be analyzed factor by factor. The overall PSF is the Kronecker product of the PSFs in the receive-angle, transmit-angle, and range dimensions. A narrow main lobe in one dimension cannot compensate for wide sidelobes in another: the imaging resolution is determined by the worst factor.

Common Mistake: When Kronecker Structure Breaks Down

Mistake:

Assuming exact Kronecker decomposition in all operating conditions. The factorization requires:

  1. Far-field approximation --- spherical wavefronts in the near field break separability.
  2. Separable Cartesian grid --- polar or adaptive grids prevent clean factorization.
  3. Narrowband per subcarrier --- wideband effects within a single subcarrier couple range and angle.
  4. No mutual coupling --- antenna interactions create non-separable effects.

Correction:

When these assumptions are only approximately satisfied, Aโ‰ˆARxโŠ—ATxโŠ—Af+E\mathbf{A} \approx \mathbf{A}_{\text{Rx}} \otimes \mathbf{A}_{\text{Tx}} \otimes \mathbf{A}_{f} + \mathbf{E} where E\mathbf{E} is a perturbation. Low-rank approximations of E\mathbf{E} or iterative refinement can recover most of the computational benefit. For near-field scenarios, see the extended Fresnel-zone corrections in Ch 08.4.

Historical Note: Leopold Kronecker and the Product That Bears His Name

1858--present

The Kronecker product was introduced by the German mathematician Leopold Kronecker (1823--1891), though it was also independently developed by Johann Georg Zehfuss in 1858. The operation was initially a curiosity in pure algebra. Its computational significance was recognized much later, when Van Loan and Pitsianis (1993) showed that Kronecker product approximation provides optimal low-rank factorizations for structured matrices --- precisely the setting we encounter in imaging. In the radar and signal processing community, the Kronecker structure was exploited for MIMO radar by Li and Stoica (2007), and Caire's framework extends it to the multi-static, multi-frequency RF imaging context.

Separable grid

A discretization of the target region where the voxel positions form a Cartesian product: {(xi,yj,rk):i=1,โ€ฆ,Nx;โ€…โ€Šj=1,โ€ฆ,Ny;โ€…โ€Šk=1,โ€ฆ,Nr}\{(x_i, y_j, r_k) : i=1,\ldots,N_x;\; j=1,\ldots,N_y;\; k=1,\ldots,N_r\}. This separability is what enables the Kronecker factorization of A\mathbf{A}.

Related: {{Ref:Gloss Kronecker Product}}

๐Ÿ”งEngineering Note

GPU Implementation of Kronecker Matvec

The sequential mode-product algorithm maps naturally to GPU computation. Each mode product is a batched matrix multiplication:

  • Mode 1 (Af\mathbf{A}_{f} along range): batch of NxNyN_x N_y matrix-vector products of size Nfร—NrN_f \times N_r.
  • Mode 2 (ATx\mathbf{A}_{\text{Tx}} along Tx-angle): batch of Nxm1N_x m_1 products of size Ntร—NyN_t \times N_y.
  • Mode 3 (ARx\mathbf{A}_{\text{Rx}} along Rx-angle): batch of m1m2m_1 m_2 products of size Nrร—NxN_r \times N_x.

Using CuPy or PyTorch, each mode product is a single torch.einsum or cupy.tensordot call, achieving near-peak GPU throughput. The CommIT simulator implements this pattern, enabling real-time imaging at millimeter-wave frequencies.

Key Takeaway

Under far-field and separable-grid assumptions, the sensing matrix factors as A=ARxโŠ—ATxโŠ—Af\mathbf{A} = \mathbf{A}_{\text{Rx}} \otimes \mathbf{A}_{\text{Tx}} \otimes \mathbf{A}_{f}. This reduces storage from O(MN)O(MN) to O(โˆ‘mknk)O(\sum m_k n_k) (a factor of โˆผ105\sim 10^5 for typical parameters) and matrix-vector products from O(MN)O(MN) to sequential mode products costing O(N4/3)O(N^{4/3}) for balanced factors, or O(NlogโกN)O(N \log N) when factors are DFT matrices. Every reconstruction algorithm in this book exploits this structure.

Kronecker Factorization of the Sensing Matrix

Animated decomposition of the full sensing matrix A\mathbf{A} into its Kronecker factors AfreqโŠ—ARxโŠ—ATx\mathbf{A}_{\text{freq}} \otimes \mathbf{A}_{\text{Rx}} \otimes \mathbf{A}_{\text{Tx}}. The animation shows how the factor dimensions relate to the physical array and frequency grid, and how matrix-vector products factorize into a sequence of smaller operations โ€” the key insight behind efficient RF imaging algorithms.