Matrix

Vectorization

∀A∈Cp×n\forall \mathbf{A} \in \mathbb{C}^{p \times n}, B∈Cn×m\mathbf{B} \in \mathbb{C}^{n \times m}, C∈Cm×q\mathbf{C} \in \mathbb{C}^{m \times q},

vec(ABC)=(CT⊗A)vec(B).(1)\begin{aligned}\text{vec}(\mathbf{ABC}) = (\mathbf{C}^T \otimes \mathbf{A}) \text{vec}(\mathbf{B}). &\text{(1)}\end{aligned}

Particularly,

  • By setting A=In\mathbf{A} = \mathbf{I}_n and C=Im\mathbf{C} = \mathbf{I}_m respectively, (1) becomes
vec(BC)=(CT⊗In)vec(B),vec(AB)=(Im⊗A)vec(B).\begin{aligned}\text{vec}(\mathbf{BC}) &= (\mathbf{C}^T \otimes \mathbf{I}_n) \text{vec}(\mathbf{B}),\\\text{vec}(\mathbf{AB}) &= (\mathbf{I}_m \otimes \mathbf{A}) \text{vec}(\mathbf{B}).\end{aligned}
  • If B=diag(b)\mathbf{B} = \text{diag}(\mathbf{b}) is a diagonal matrix (m=nm = n), b∈Cn\mathbf{b} \in \mathbb{C}^n, (1) becomes

    vec(ABC)=(CT⊙A)b,\begin{aligned}\text{vec}(\mathbf{ABC}) = (\mathbf{C}^T \odot \mathbf{A})\mathbf{b},\end{aligned}

    where ⊙\odot is the Khatri-Rao product operator.

Khatri-Rao product

∀A=[a1a2⋯ak]∈Cn×k\forall \mathbf{A} = \begin{bmatrix} \mathbf{a}_1 & \mathbf{a}_2 & \cdots &\mathbf{a}_k \end{bmatrix} \in \mathbb{C}^{n \times k} and B=[b1b2⋯bk]∈Cm×k\mathbf{B} = \begin{bmatrix} \mathbf{b}_1 & \mathbf{b}_2 & \cdots & \mathbf{b}_k \end{bmatrix} \in \mathbb{C}^{m \times k}, their Khatri-Rao product can be denoted by

A⊙B=[a1⊗b1a2⊗b2⋯ak⊗bk]∈Cmn×k,\begin{aligned}\mathbf{A} \odot \mathbf{B} = \begin{bmatrix} \mathbf{a}_1 \otimes \mathbf{b}_1 & \mathbf{a}_2 \otimes \mathbf{b}_2 & \cdots & \mathbf{a}_k \otimes \mathbf{b}_k \end{bmatrix} \in \mathbb{C}^{mn \times k},\end{aligned}

where ai⊗bi=vec(biaiT)∈Cnm\mathbf{a}_i \otimes \mathbf{b}_i = \text{vec}\left(\mathbf{b}_i \mathbf{a}_i^T\right) \in \mathbb{C}^{nm}, ai∈Cn\mathbf{a}_i \in \mathbb{C}^n, bi∈Cm\mathbf{b}_i \in \mathbb{C}^m, i=1,2,…,ki = 1, 2, \ldots, k.