矩阵分析与应用-1.1-矩阵的基本运算

前言

本文学习过程来源是《矩阵分析与应用-张贤达》一书. 可以通过 z-lib 下载.

一、矩阵与向量

1. 式中矩阵与向量

在科学和工程中, 面对的是 \(m \times n\) 线性方程组.

\[ \left\{ \begin{array}{c} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1 \\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2 \\ \cdots \\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n=b_m \end{array} \right. \tag{1} \]

再简单通俗一点就是解 \(n\) 元一次方程. 引入矩阵向量之后就可以化简为以下式子:

\[ Ax = b \tag{2} \]

式子

\[ A = \begin{bmatrix} a_{11}& a_{12}& \cdots& a_{1n} \\ a_{21}& a_{22}& \cdots& a_{2n} \\ \vdots& \vdots& \vdots& \vdots \\ a_{m1}& a_{m2}& \cdots& a_{mn} \end{bmatrix} \tag{3} \]

被称为一个 \(m \times n\) 的矩阵, 其中数字可以是复数也可以是实数.

而 (2) 中剩余两个变量为: \[ x = \begin{bmatrix} x_1\\ x_2\\ \vdots\\ x_m\\ \end{bmatrix}, \quad b = \begin{bmatrix} b_1\\ b_2\\ \vdots\\ b_n\\ \end{bmatrix} \tag{4} \]

分别是 \(m \times 1\)\(n \times 1\) 的向量, 其中的数字可以是复数也可以是实数. 因为其只有一列所以也叫做列向量.

同理, 如果只有一行, 就可以称之为行向量, 如下面式子所示.

\[ a = [a1,a2,\cdots,a_n] \tag{5} \]

代表了一个 \(1 \times n\) 的行向量.

2. 向量分类

矩阵可以是线性系统、滤波器、无线信道等的符号表示. 因为具有二维性, 类似表格所以才能这样表示.

而向量在科学和工程中常被分为三种:

  1. 速度、加速度和位移这样的有值和方向的物理向量.

  2. 用于表示有向线段的几何向量. 例如 起点 \(A\) 点到 终点 \(B\) 点的有向线段可以用向量 \(v = \overrightarrow{AB}\) 表示.

  3. 同 2 中, 若起点坐标 \(A = (a_1,a_2)\), 终点坐标 \(B = (b_1,b_2)\). 那么此时的向量 \(v=\begin{bmatrix} b_1 - a_1 \\ b_2 - a_2 \end{bmatrix}\) 就从几何向量变成了代数向量, 因为几何上的点有了确定的数值.

以此类推, 二维空间的向量就可以推广到三维空间甚至更高维度的空间并可以使用代数表示.

根据向量中的元素不同也有不同的分类:

  1. 常数向量:向量中元素全为实数或者复数. 如 \(a=[1,5,4]^\mathrm{T}\), 其中 \(\mathrm{T}\) 表示转置, 相当于旋转一下矩阵或者向量.

  2. 函数向量: 向量中元素包含函数值. 如 \(x=[1,x^2,\dots,x^n]^\mathrm{T}\).

  3. 随机向量: 向量中元素为随机变量或者随机过程. 如 \(x(n)=[x_1(n),x_2(n),\dots,x_m(n)]^\mathrm{T}\). 其中 \(x_1(n),x_2(n),\dots,x_m(n)\)\(m\) 个随机变量或随机过程.

3. 常见的矩阵和向量

对角矩阵: 在一个 \(n \times n\) 的矩阵中, 如果矩阵主对角线以外的元素全为 0 , 则被称为对角矩阵. 如下所示. \[ A = \begin{bmatrix} a_{11}& 0& \cdots& 0 \\ 0& a_{22}& \cdots& 0 \\ 0& 0& a_{33}& 0 \\ \vdots& \vdots& \vdots& \vdots \\ 0& 0& \cdots& a_{nn} \end{bmatrix} \tag{6} \]

\(a_{11} \ a_{22} \ a_{33} \dots \ a_{nn}\) 所在的这一条线就叫做主对角线. 如果它们全为 1, 则矩阵 \(A\) 就叫做单位矩阵, 用符号 \(I_{n \times n}\) 表示.

另外, 在大小为 \(m \times n\) 的矩阵中, 如果全部元素为 0, 该矩阵就被称为零矩阵, 记做 \(O_{m \times n}\).

可以想到, 向量无非是矩阵中的一行或者一列, 自然就可以用向量来表示矩阵. 除了这种方式, 矩阵同样可以用矩阵表示, 这样的做法称之为分块矩阵. 分块矩阵如下所示.

\[ A=[A_{ij}]=\begin{bmatrix} A_{11}& A_{12}& \cdots& A_{1n} \\ A_{21}& A_{22}& \cdots& A_{2n} \\ \vdots& \vdots& \vdots& \vdots \\ A_{m1}& A_{m2}& \cdots& A_{mn} \end{bmatrix} \tag{7} \]

二、矩阵的基本运算

1. 矩阵转置和共轭

\(A=[a_{ij}]\) 是一个 \(m \times n\) 矩阵, 则 \(A\) 的转置记作 \(A^\mathrm{T}\), 是一个 \(n \times m\) 矩阵, 定义为 \([A^\mathrm{T}]_{ij} = a_{ji}\).

矩阵 \(A\) 的复数共轭 \(A^*\) 定义为 \([A^*]_{ij} = a^*_{ij}\). 复共轭转置记作 \(A^\mathrm{H}\), 定义为

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

共轭转置又叫 \(Hermitian\) 伴随、\(Hermitian\) 转置或 \(Hermitian\) 共轭. 满足 \(A^\mathrm{H} = A\) 的正方复矩阵称为 \(Hermitian\) 矩阵或者共轭对称矩阵.

共轭转置和转置之间存在以下关系:

\[ A^\mathrm{H} = (A^*)^\mathrm{T} = (A^\mathrm{T})^* \tag{9} \]

一个 \(m \times n\) 分块矩阵 A 的共轭转置是一个由 \(A\) 的元素的共轭转置组成的 \(n \times m\) 分块矩阵.

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

列向量的转置结果为行向量, 行向量的转置结果为列向量.

!!!这个地方需要特别注意的是 \(A^*\) 在之前学的时候是表示的伴随矩阵, 而不是这个地方的共轭转置矩阵, 具体求法在这个部分没有体现, 需要学习线性代数的酉空间了解.

2. 矩阵加法

两个 \(m \times n\) 矩阵 \(A = [a_{ij}]\)\(B = [b_{ij}]\) 之和记作 \(A+B\) 定义为:

\[ A+B = [A+B]_{ij} = a_{ij} + b_{ij} \tag{10} \]

3. 矩阵和标量相乘

\(A = [a_{ij}]\) 是一个 \(m \times n\) 矩阵, 且 \(\alpha\) 是一个标量. 乘积 \(\alpha A\) 是一个 \(m \times n\) 矩阵, 定义为 \([\alpha A]_{ij} = \alpha a_{ij}\)

4. 矩阵和向量相乘

\(m \times n\) 矩阵 \(A=[a_{ij}]\)\(r \times 1\) 向量 \(x=[x_1,x_2,\dots,x_r]^\mathrm{T}\) 的乘积 \(Ax\) 只有当 \(n = r\) 时才存在, 它是一个 \(m \times 1\) 向量, 定义为:

\[ [Ax]_i = \sum_{j=1}^{n}a_{ij}x_{j}, \quad i=1,2,\dots,m \tag{11} \]

5. 矩阵和矩阵相乘

\(m \times n\) 矩阵 \(A=[a_{ij}]\)\(r \times s\) 矩阵 \(B=[b_{ij}]\) 的乘积 \(AB\) 只有当 \(n=r\) 时才存在, 它是一个 \(m \times n\) 矩阵, 定义为:

\[ [AB]_{ij} = \sum_{k=1}^{n}a_{ik}b_{kj}, \quad i=1,2,\dots,m;\quad j=1,2,\dots,s; \tag{12} \]

6. 运算规则

和实数运算类似, 矩阵运算也有一些与之相通的规则.

  • 加法交换律: \(A + B = B + A\)

  • 加法结合律: \((A + B) + C = A + (B + C)\)

除了加法, 矩阵还有乘法. 看矩阵是否能够分配交换结合只需要注意一点. 例如矩阵 \(A_{ij}\) 和 矩阵 \(B_{mn}\) 相乘, 在之前就说过必须要 \(j = m\) 才能相乘. 那么交换分配也要满足这个式子, 即前个矩阵的列数与后一个矩阵的行数一定要相等. 那么我们就有乘法相关运算规则.

  • 乘法结合律: \(A(BC) = (AB)C\)

  • 乘法左分配律: \((A+B)C = AC + BC\)

  • 乘法右分配律: \(A(B+C) = AB + AC\)

证明方法也很简单, 就是分别算出等式左右的式子, 然后再进行比较.

7. 逆矩阵

什么叫逆矩阵?

\(A\) 是一个 \(n \times n\) 矩阵. 要想使 \(A\) 可逆, 若可以找到一个 \(n \times n\) 矩阵 \(A^{-1}\) 满足 \(AA^{-1} = A^{-1}A = I\), 则称 \(A^{-1}\) 是矩阵 \(A\) 的逆矩阵.

逆矩阵和共轭、转置、共轭转置之间关系

  • 分配律: \[ \begin{aligned} (A+B)^* &= A^* + B^* \\ (A+B)^\mathrm{T} &= A^\mathrm{T} + B^\mathrm{T} \\ (A+B)^\mathrm{H} &= A^\mathrm{H} + B^\mathrm{H} \end{aligned}\tag{13} \]

  • 乘积关系: \[ \begin{aligned} (AB)^\mathrm{T} &= B^\mathrm{T} A^\mathrm{T}\\ (AB)^\mathrm{H} &= B^\mathrm{H} A^\mathrm{H} \\ (AB)^{-1} &= B^{-1} A^{-1} (A,B为可逆方阵) \end{aligned} \tag{14} \]

  • 相互转换: \[ (A^*)^{-1} = (A^{-1})^*, \quad (A^\mathrm{T})^{-1} = (A^{-1})^\mathrm{T}, \quad (A^\mathrm{H})^{-1} = (A^{-1})^\mathrm{H} \tag{15} \]

  • 对任意矩阵 \(A\), 矩阵 \(B=A^{\mathrm{H}}A\) 都是 \(Hermitian\) 矩阵. 若 \(A\) 可逆, 则对 \(Hermitian\) 矩阵 \(B=A^{\mathrm{H}}A\), 有 \(A^{-\mathrm{H}}BA^{-1} = A^{-\mathrm{H}}A^{\mathrm{H}}AA^{-1} = I\). 矩阵 \(A^{-\mathrm{H}}\) 表示矩阵 \(A^{\mathrm{H}}\) 的逆矩阵.

8. 其他

  • 幂等矩阵 \(A_{n \times n}\)\(A^2 = AA = A\)

  • 对合矩阵 \(A_{n \times n}\)\(A^2 = AA = I\)

  • 复矩阵 \(A\)\(B\) 内积 :\(\left \langle A,B \right \rangle = A^{\mathrm{H}}B\)

  • 矩阵的指数和对数: \[ exp(A)=\sum_{k=0}^{\infty}\frac{1}{k!}A^k \tag{16} \] \[ log(I_n - A) = -\sum_{k=0}^{\infty}\frac{1}{k!}A^k \tag{17} \]

矩阵的导数和积分就是在之前微积分的基础上对矩阵中的每个含参元素进行求导和积分. 这是一个从局部到整体的过程.

  • 矩阵导数定义: 如果矩阵 \(A\) 的元素 \(a_{ij}\) 都是参数 \(t\) 的函数, 则矩阵导数定义为 \[ \frac{dA}{dt} = A =\begin{bmatrix} \frac{da_{11}}{dt}& \frac{da_{12}}{dt}& \cdots& \frac{da_{1n}}{dt} \\ \frac{da_{21}}{dt}& \frac{da_{22}}{dt}& \cdots& \frac{da_{2n}}{dt} \\ \vdots& \vdots& \vdots& \vdots \\ \frac{da_{m1}}{dt}& \frac{da_{m2}}{dt}& \cdots& \frac{da_{mn}}{dt} \end{bmatrix} \tag{18} \]

  • 矩阵积分定义: \[ \frac{dA}{dt} = A =\begin{bmatrix} \int a_{11}dt& \int a_{12}dt& \cdots& \int a_{1n}dt \\ \int a_{21}dt& \int a_{22}dt& \cdots& \int a_{2n}dt \\ \vdots& \vdots& \vdots& \vdots \\ \int a_{m1}dt& \int a_{m2}dt& \cdots& \int a_{mn}dt \end{bmatrix} \tag{19} \]

矩阵函数及其导数定义

  • 指数矩阵函数 \[ exp(At) =I+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\dots \tag{20} \]

  • 指数矩阵函数的导数 \[ \frac{d}{dt}exp(At)=Aexp(At)=exp(At)A \tag{21} \]

  • 矩阵乘积的导数 \[ \frac{d}{dt}(AB)=\frac{dA}{dt}B + A\frac{dB}{dt} \tag{22} \]

其中, \(A\)\(B\) 都是变量 \(t\) 的矩阵函数. 指数矩阵的导数很像指数函数求导, 矩阵乘积的导数又像对乘积的求导法则. 变化无非是从单个函数变成了以矩阵组织的多个函数.

三、向量的线性无关性与非奇异矩阵

1. 线性无关性

在最开始提到的 \(m \times n\) 线性方程组, 可以写成 \(Ax=b\), 用向量 \(a_n\) 表示 \(A\) 可得 \(A=[a_1,a_2,\dots,a_n]\). 此时方程可以化简为: \[ a_1x_1 + a_2x_2 + \dots +a_nx_n = b \]

并称为列向量 \(a_1,a_2,\dots,a_n\) 的线性组合.

一组 \(m\) 维向量组 \({u_1,u_2,\dots,u_n}\) 称为线性无关, 若方程 \[ c_1u_1 + c_2u_2 + \dots + c_nu_n = 0 \]

只有零解 \(c_1 = c_2 = \dots = c_n = 0\). 要是找到一组不为 0 的解就称这个向量组线性相关.

若向量组线性无关, 那么方程就有唯一零解.

2. 非奇异矩阵

奇异这个词语听起来很奇怪, 倒不如把它理解为奇怪的意思. 奇怪的矩阵和不是奇怪的矩阵. 那么矩阵奇怪在哪个地方呢?

之前看 MIT 的课程, Gilbert Strang 说过要是这个可逆就会拥有一系列的优秀性质, 就能给计算提供极大的帮助, 这样它就不奇怪了.

所谓可逆, 就是和之前线性无关性相对应. 如果一个向量组线性无关, 那么方程只有 0 解, 那么这个矩阵就可逆, 就被称为非奇异矩阵. 特殊的是, 这句话只存在于这个矩阵是一个 \(n \times n\) 的方阵.

四、初等行变换与阶梯型矩阵

1. 初等行变换

这部分是矩阵运算中的精髓, 开始之前我们需要了解一下矩阵的一部分性质.

  • 互换矩阵任意两行叫做 I 型初等行变换.

  • 矩阵中一行元素乘以一个非 0 常数 \(\alpha\), 称为 II 型初等行变换.

  • 矩阵中一行元素乘以一个非 0 常数 \(\beta\), 然后加给另一行, 称为 III 型初等行变换.

最重要的一点就是通过初等行变换的两个矩阵是等价的.

2. 阶梯型矩阵

阶梯型矩阵需要满足的条件:

  • 全为 0 的行在矩阵最下面.

  • 非零行从左往右数第一个非零元素总是出现在上一行左往右数第一个非零元素右边.

  • 非零行从左往右数第一个非零元素下面同一列元素要为0.

举例: \[ A=\begin{bmatrix} 1& 0& 3& 0 \\ 0& 2& 4& 0 \\ 0& 0& 0& 0 \\ 0& 0& 8& 3 \end{bmatrix} \tag{example 1} \]

\(A\)矩阵不是阶梯型矩阵, 因为第三行全0行不在矩阵最下面.

\[ B=\begin{bmatrix} 0& 1& 3& 0 \\ 2& 0& 4& 0 \\ 0& 0& 4& 0 \\ 0& 0& 0& 3 \end{bmatrix} \tag{example 2} \]

\(B\)矩阵不是阶梯型矩阵, 因为第二行首个非 0 元素 2 在第一行首个非 0 元素 1 的左边.

\[ C=\begin{bmatrix} 1& 1& 3& 0 \\ 0& 2& 4& 0 \\ 0& 2& 4& 0 \\ 0& 0& 0& 3 \end{bmatrix} \tag{example 3} \]

\(C\)矩阵不是阶梯型矩阵, 因为第二行首个非 0 元素 2 同一列下面元素为 2 和 0, 而不是全 0.

\[ D=\begin{bmatrix} 1& 1& 3& 0 \\ 0& 2& 4& 0 \\ 0& 0& 4& 0 \\ 0& 0& 0& 3 \end{bmatrix} \tag{example 4} \]

\(D\)矩阵是阶梯型矩阵, 满足阶梯型矩阵的三个条件.

五、基于初等行变换的矩阵方程求解

步骤就是通过初等行变换将矩阵转换为阶梯型矩阵. 没有什么概念, 那么我就通过实际解决一个问题来展示.

求解方程组: \[ \left\{ \begin{array}{r} -3x_1 + 6x_2 - x_3 = 1 \\ 3x_1 - 2x_2 + 4x_3 = 0 \\ 6x_1 - 4x_2 + 5x_3 = 8 \end{array} \right. \]

根据方程组可以将其转化为 \(Ax=b\)

其中矩阵 \(A\)\[ A = \begin{bmatrix} -3& 6& -1 \\ 3& -2& 4 \\ 6& -4& 5 \end{bmatrix} \]

向量 \(b\)\[ b = \begin{bmatrix} 1 \\ 0 \\ 8 \end{bmatrix} \]

根据解决的办法, 将向量 \(b\) 做为新的一列添加到 \(A\) 中得 \(A'\) \[ A' = \begin{bmatrix} -3& 6& -1& 1 \\ 3& -2& 4& 0 \\ 6& -4& 5& 8 \end{bmatrix} \]

可得矩阵 \(A'\) 是一个 \(3 \times 5\) 的矩阵.

Step1: 第一行乘以 1 加到第二行, 第一行乘以 2 加到第 3 行得到 \[ A'_1 = \begin{bmatrix} -3& 6& -1& 1 \\ 0& 4& 3& 1 \\ 6& -4& 5& 8 \end{bmatrix} \]

Step2: 第一行乘以 2 加到第 3 行得到 \[ A'_2 = \begin{bmatrix} -3& 6& -1& 1 \\ 0& 4& 3& 1 \\ 0& 8& 3& 10 \end{bmatrix} \]

Step3: 第二行乘以 -2 加到第三行得到 \[ A'_3 = \begin{bmatrix} -3& 6& -1& 1 \\ 0& 4& 3& 1 \\ 0& 0& -3& 8 \end{bmatrix} \]

至此得到了阶梯型矩阵 \(A'_3\). 为了方便计算再次化简使得 \(A\) 矩阵那部分主对角线值为 1

Step4: 第一行除以 -3 , 第二行除以 4 , 第三行除以 -3 得 \[ A'_4 = \begin{bmatrix} 1& -2& 1/3& -1/3 \\ 0& 1& 3/4& 1/4 \\ 0& 0& 1& -8/3 \end{bmatrix} \]

所以就有方程组 \[ \left\{ \begin{array}{l} x_1 - 2x_2 + \frac{1}{3}x_3 = -\frac{1}{3} \\ x_2 + \frac{3}{4}x_3 = \frac{1}{4} \\ x_3 = -\frac{8}{3} \end{array} \right. \]

更容易得到 \[ \left\{ \begin{array}{l} x_1 = \frac{91}{18}\\ x_2 = \frac{9}{4}\\ x_3 = -\frac{8}{3} \end{array} \right. \]

至此求出了矩阵方程的解.

如果方程组右边为全0, 这样就被叫做齐次线性方程组 \[ \left\{ \begin{array}{c} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=0 \\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=0 \\ \cdots \\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n=0 \end{array} \right. \]

显然 \(x=[0,0,\dots,0]^{\mathrm{T}}\) 是这个齐次线性方程组的一个解. 这样全零解称为平凡解, 平凡解之外的其他任何解被称为非平凡解.

对于复矩阵方程 \(A_{m \times n}x_{n \times 1} = b_{m \times 1}\) 都可以写为

\[ (A_r + jA_i)(x_r + jx_i) = b_r + jb_i \tag{23} \]

式中, \(A_r,x_r,b_r\)\(A_i,x_i,b_i\) 分别代表 \(A,x,b\) 的实部和虚部. 展开式子 (14)得

\[ A_rx_r - A_ix_i = b_r \tag{24} \]

\[ A_ix_r + A_rx_i = b_i \tag{25} \]

利用矩阵分块形式, 上式可合并为 \[ \begin{bmatrix} A_r& -A_i \\ A_i& A_r \end{bmatrix} \begin{bmatrix} x_r \\ x_i \end{bmatrix}= \begin{bmatrix} b_r \\ b_i \end{bmatrix} \tag{26} \]

于是, 含 \(n\) 个复未知数的 \(m\) 个复方程转变为含 \(2n\) 个实未知数的 \(2m\) 个实方程.