矩阵基础

小结矩阵求解过程中的基础知识

  • 标量、向量和矩阵
  • 矩阵乘法/积
  • 转置、共扼、共扼转置
  • 矩阵的迹
  • 向量化和矩阵化

标量、向量和矩阵

  • 标量(scalar)是一个数值,仅包含大小(magnitude or size)信息
  • 向量(或称为矢量,vector)是一列数值,同时包含大小(magnitude)和方向(direction)信息
  • 矩阵(matrix)是一个数值数组

向量是矩阵的特殊情况(仅有一行或者仅有一列),所以对于矩阵的操作也能应用于向量

矩阵乘法/积

  1. 矩阵分别和标量/向量和矩阵的乘积

    1.1 令\(A=[a_{ij}]\)是一个\(m\times n\)矩阵,且\(\alpha\)是一个标量。乘积\(\alpha A\)是一个\(m\times n\)矩阵,定义为\([\alpha A]_{ij}=\alpha a_{ij}\) 1.2 \(m\times n\)矩阵\(A=[a_{ij}]\)\(r\times 1\)向量\(x=[x_{1},...,x_{n}]^T\)的乘积\(Ax\)只有当\(n=r\)时才存在,它是一个\(m\times 1\)向量,定义为 \[ [Ax]_{i}=\sum_{j=1}^{n}a_{ij}x_{j}, \ i=1,...,m \] 1.3 \(m\times n\)矩阵\(A=[a_{ij}]\)\(r\times s\)矩阵\(B=[b_{ij}]\)的乘积\(AB\)只有当\(n=r\)时才存在,它是一个\(m\times s\)矩阵,定义为 \[ [AB]_{ij}=\sum_{k=1}^{n}a_{ik}b_{bj}, \ i=1,...,m; \ j=1,...,s \]

  2. 矩阵相同位置元素相乘 - Hadamard积 \(m\times n\)矩阵\(A=[a_{ij}]\)\(m\times n\)矩阵\(B=[b_{ij}]\)的Hadamard积记作\(A*B\),它仍然是一个\(m\times n\)矩阵,其元素定义为两个矩阵对应元素的乘积 \[ (A*B)_{ij}=a_{ij}b_{ij} \]

  3. Kronecker积 3.1 \(m\times n\)矩阵\(A=[a_{1},...,a_{n}]\)\(p\times q\)矩阵\(B\)右Kronecker积记作\(A\bigotimes B\),是一个\(mp\times nq\)矩阵,定义为 \[ A\bigotimes B=[a_{1}B,...,a_{n}B]=[a_{ij}B]_{i=1,j=1}^{m,n}=\begin{bmatrix} a_{11}B & a_{12}B & \dots & a_{1n}B\\ a_{21}B & a_{22}B & \dots & a_{2n}B\\ \vdots & \vdots & \vdots & \vdots\\ a_{m1}B & a_{m2}B & \dots & a_{mn}B \end{bmatrix} \] 3.2 \(m\times n\)矩阵\(A=[a_{1},...,a_{n}]\)\(p\times q\)矩阵\(B\)(左)Kronecker积 记作\(A\bigotimes B\),是一个\(mp\times nq\)矩阵,定义为 \[ A\bigotimes B=[a_{1}B,...,a_{n}B]=[a_{ij}B]_{i=1,j=1}^{m,n}=\begin{bmatrix} Ab_{11} & Ab_{12} & \dots & Ab_{1q}\\ Ab_{21} & Ab_{22} & \dots & Ab_{2q}\\ \vdots & \vdots & \vdots & \vdots\\ Ab_{m1} & Ab_{m2} & \dots & Ab_{pq} \end{bmatrix} \] 3.3 Kronecker积也称为直积(direct product)或者张量积(tensor product)通常使用右Keonecker积的形式进行书写

转置、共扼、共扼转置

转置指矩阵的行列对应互换;共轭负数是指实数部分相同而虚数部分互为相反数的两个复数

\(A=[a_{ij}]\)是一个\(m\times n\)矩阵,则

  • \(A\)的转置记作\(A^T\),是一个\(n\times m\)矩阵,其元素定义为\([A^T]_{ij}=a_{ji}\)
  • \(A\)的复数共轭 \(A^{*}\) 仍然是一个 \(m\times n\) 矩阵,其元素定义为 \([A^{*}]_{ij}=a^{*}_{ij}\)
  • \(A\)的(复)共轭转置记作\(A^{H}\),它是一个\(n\times m\)矩阵,定义为

\[ A^{H}=\begin{bmatrix} a^{*}_{11} & a^{*}_{21} & \dots & a^{*}_{m1}\\ a^{*}_{12} & a^{*}_{22} & \dots & a^{*}_{m2}\\ \vdots & \vdots & \vdots & \vdots\\ a^{*}_{1n} & a^{*}_{2n} & \dots & a^{*}_{mn} \end{bmatrix} \]

共轭转置又称为Hermitian伴随、Hermitian转置或Hermitian共轭

对称矩阵:满足\(A^T=A\)的正方实矩阵

Hermitian矩阵(复共轭对称矩阵):满足\(A^H=A\)的正方复矩阵

共扼转置和转置的关系

\[ A^H=(A^*)^T=(A^T)^* \]

矩阵的迹

参考:《矩阵分析与应用》第一章 1.6.4 矩阵的迹

\(n\times n\)矩阵\(A\)的对角元素之和称为\(A\)的迹(trace),记作\(tr(A)\),即有

\[ tr(A)=a_{11}+...+a_{nm}=\sum_{i=1}^{n}a_{ii} \]

注意:非正方矩阵无迹的定义

关于迹的等式

  1. \(A\)\(B\)均为\(n\times n\)矩阵,则\(tr(A\pm B)=tr(A)\pm tr(B)\)
  2. \(A\)\(B\)均为\(n\times n\)矩阵,并且\(c_{1}\)\(c_{2}\)为常数,则\(tr(c_{1}A\pm c_{2}B)=c_{1}tr(A)\pm c_{2}tr(B)\)。特别地,若\(B=O\),则\(tr(cA)=ctr(A)\)
  3. 矩阵\(A\)的转置,复数共轭和复共轭转置的迹分别为 \(tr(A^{T})=tr(A),tr(A^{*})=[tr(A)]^{*}, tr(A^{H})=[tr(A)]^{H}\)
  4. \(A\in C^{m\times n}, B\in C^{n\times m}\),则\(tr(AB)=tr(BA)\)
  5. \(A\)是一个\(m\times n\)矩阵,则\(tr(A^H A)=0\Leftrightarrow A=O_{m\times n}(零矩阵)\)
  6. \(x^{H}Ax=tr(Axx^H)\)\(y^H x=tr(xy^H)\)
  7. 迹等于特征值之和,即\(tr(A)=\lambda_{1}+...+\lambda_{n}\)
  8. 分块矩阵的迹满足 \[ tr\begin{bmatrix} A& B\\ C& D \end{bmatrix}=tr(A)+tr(D) \] 其中\(A\in C^{m\times m}, B\in C^{m\times n}, C\in C^{n\times m}, D\in C^{n\times n}\)
  9. 对于任何正整数\(k\),有 \[ tr(A^k)=\sum_{i=1}^{n}\lambda _{i}^{k} \]

根据迹的等式4进行推理,令\(U=A, V=BC\)\(U=AB, V=C\),有

\[ tr(ABC)=tr(BCA)=tr(CAB) \]

迹和Hadamard积

\(A,B,C\)\(m\times n\)矩阵,并且\(1=[1,1,...,1]^T\)\(n\times 1\)求和向量,\(D=diag(d_{1},d_{2},...,d_{m})\),其中\(d_{i}=\sum_{j=1}^{n}a_{ij}\),则

\[ tr(A^{T}(B*C))=tr((A^{T}*B^{T})C) \\ 1^{T}A^{T}(B*C)1=tr(B^{T}DC) \]

证明如下,设

\[ A=\begin{bmatrix} a_{1} & a_{2} \end{bmatrix} \ B=\begin{bmatrix} b_{1} & b_{2} \end{bmatrix} \ C=\begin{bmatrix} c_{1} & c_{2} \end{bmatrix} \ D=\begin{bmatrix} a_{1} & 0\\ 0 & a_{2} \end{bmatrix} \]

所以

\[ A^{T}(B*C)= \begin{bmatrix} a_{1}\\ a_{2} \end{bmatrix} (\begin{bmatrix} b_{1} & b_{2} \end{bmatrix} * \begin{bmatrix} c_{1} & c_{2} \end{bmatrix}) =\begin{bmatrix} a_{1}\\ a_{2} \end{bmatrix} \begin{bmatrix} b_{1}c_{1} & b_{2}c_{2} \end{bmatrix} =\begin{bmatrix} a_{1}b_{1}c_{1} & a_{1}b_{2}c_{2}\\ a_{2}b_{1}c_{1} & a_{2}b_{2}c_{2} \end{bmatrix} \]

\[ (A^{T}*B^{T})C= ( \begin{bmatrix} a_{1}\\ a_{2} \end{bmatrix} * \begin{bmatrix} b_{1}\\ b_{2} \end{bmatrix} ) \begin{bmatrix} c_{1} & c_{2} \end{bmatrix} =\begin{bmatrix} a_{1}b_{1}\\ a_{2}b_{2} \end{bmatrix} \begin{bmatrix} c_{1} & c_{2} \end{bmatrix} =\begin{bmatrix} a_{1}b_{1}c_{1} & a_{1}b_{1}c_{2}\\ a_{2}b_{2}c_{1} & a_{2}b_{2}c_{2} \end{bmatrix} \]

\[ \Rightarrow tr(A^{T}(B*C))=tr((A^{T}*B^{T})C)=a_{1}b_{1}c_{1}+a_{2}b_{2}c_{2} \]

\[ 1^{T}A^{T}(B*C)1= 1^{T} \begin{bmatrix} a_{1}\\ a_{2} \end{bmatrix} (\begin{bmatrix} b_{1} & b_{2} \end{bmatrix} *\begin{bmatrix} c_{1} & c_{2} \end{bmatrix})1 =1^{T} \begin{bmatrix} a_{1}\\ a_{2} \end{bmatrix} \begin{bmatrix} b_{1}c_{1} & b_{2}c_{2} \end{bmatrix}1\\ =(a_{1}+a_{2}) \begin{bmatrix} b_{1}c_{1} & b_{2}c_{2} \end{bmatrix}1 =(a_{1}+a_{2})(b_{1}c_{1}+b_{2}c_{2}) \]

\[ tr(B^{T}DC) =tr( \begin{bmatrix} b_{1}\\ b_{2} \end{bmatrix} (a_{1}+a_{2}) \begin{bmatrix} c_{1} & c_{2} \end{bmatrix} ) =tr( (a_{1}+a_{2}) \begin{bmatrix} b_{1}\\ b_{2} \end{bmatrix} \begin{bmatrix} c_{1} & c_{2} \end{bmatrix} )\\ =tr( (a_{1}+a_{2}) \begin{bmatrix} b_{1}c_{1} & b_{1}c_{2}\\ b_{2}c_{2} & b_{2}c_{2} \end{bmatrix}) =(a_{1}+a_{2})(b_{1}c_{1}+b_{2}c_{2}) \]

\[ \Rightarrow 1^{T}A^{T}(B*C)1=tr(B^{T}DC)=(a_{1}+a_{2})(b_{1}c_{1}+b_{2}c_{2}) \]

对于公式二而言,其矩阵大小变化如下:

\[ R^{1\times n}\cdot R^{n\times m}\cdot (R^{m\times n}* R^{m\times n})\cdot R^{n\times 1}=R^{1} \]

所以只要满足结果为\(R^{1}\),公式二可以变形如下:

假设\(B/C\)大小为\(R^{n\times 1}\)

\[ 1^{T}\cdot (B* C)=B^{T}\cdot C \]

向量化和矩阵化

向量化

  • 列向量化:矩阵\(A\in R^{m\times n}\)的向量化(vectorization)vec(A)是一个线性变换,它将矩阵\(A=[a_{ij}]\)的元素按列堆栈(column stacking),排列成一个\(mn\times 1\)向量

\[ vec(A)=[a_{11},...,a_{m1},...,a_{1n},...,a_{mn}]^T \]

  • 行向量化:按行堆栈(stack the rows)

\[ rvec(A)=[a_{11},...,a_{1n},...,a_{m1},...,a_{mn}] \]

注意:默认矩阵向量化指的是列向量化

行向量化和列向量化的关系:

\[ rvec(A)=(vec(A^T))^T \\ vec(A^T)=(rvec(A^T))^T \]

存在一个\(mn\times mn\)置换矩阵,可以将一个矩阵的向量化\(vec(A)\)变换为其转置矩阵的向量化\(vec(A^T)\),称为交换矩阵(communication matrix),记作\(K_{mn}\),定义为

\[ K_{mn}vec(A)=vec(A^T) \]

同样存在一个将转置矩阵的向量化\(vec(A^T)\)变换为原矩阵的向量化\(vec(A)\)的交换矩阵,记作\(K_{nm}\),定义为

\[ K_{nm}vec(A^T)=vec(A) \]

矩阵化

一个\(mn\times 1\)向量\(a=[a_{1},...,a_{mn}]^T\)转换为一个\(m\times n\)矩阵\(A\)的运算称为矩阵化(matrixing, maxicization),用符号\(unvec_{m,n}(a)\)表示,定义为

\[ A_{m\times n}=unvec_{m,n}(a)=\begin{bmatrix} a_{1} & a_{m+1} & \dots & a_{m(n-1)+1}\\ a_{2} & a_{m+2} & \dots & a_{m(n-1)+2}\\ \vdots & \vdots & \vdots & \vdots\\ a_{m} & a_{2m} & \dots & a_{mn} \end{bmatrix} \]

\[ A_{ij}=a_{i+(j-1)m},\ i=1,...,m;j=1,...,n \]

同样的,符号\(unrvec_{m,n}(b)\)记作行向量的矩阵化

\[ B_{m\times n} =unvec_{m,n}(b) =\begin{bmatrix} b_{1} & b_{m+1} & \dots & b_{m(n-1)+1}\\ b_{2} & b_{m+2} & \dots & b_{m(n-1)+2}\\ \vdots & \vdots & \vdots & \vdots\\ b_{m} & b_{2m} & \dots & b_{mn} \end{bmatrix} \]

\[ B_{ij}=a_{j+(i-1)n},\ i=1,...,m;j=1,...,n \]

相关阅读

  • 《矩阵分析与应用》第一章 1.1.2 矩阵的基本运算

  • 《矩阵分析与应用》第一章 1.9.2 Hadamard积

  • 《矩阵分析与应用》第一章 1.10.1 Kronnecker积及其性质

  • 《矩阵分析与应用》第一章 1.11.1 矩阵的向量化与向量的矩阵化

  • Scalars, Vectors and Matrices

  • 矩阵乘法

  • 共轭

  • 转置