矩阵分析与应用-1.5-基与Gram-Schmidt正交化
前言
本文学习过程来源是《矩阵分析与应用-张贤达》一书. 可以通过 z-lib 下载.
这部分内容与线性代数的内容重合.
在 \(n\) 阶 \(\mathrm{Euclidean}\) 空间 \(R^n\) 只有一个, 但 \(n\) 阶向量空间却有很多. 例如对所有实数 \(\alpha, \beta, \gamma\), 向量 \(x=[0,0,\alpha,\beta,\gamma]^{\mathrm{T}}\) 的集合 \(W_1\) 是一个 5 阶向量空间. 这里需要注意的是向量 \(x\) 的前两项是为 0 的, 所以 \(W_1\) 中的每一个向量都属于 \(R^5\) 空间, 但是实际上它只是构成了一个 \(R^3\) 空间.
对向量 \(y=[1,5,\alpha,\beta,\gamma]^{\mathrm{T}}\) 虽然在 \(R^5\) 空间中, 但是不属于 \(W_1\). 此时我们就把 \(W_1\) 叫做 \(R^5\) 内的一个子空间.
一、向量子空间的基
由向量空间的定义可知, \(R^n\) 空间的多个向量的所有线性组合也属于 \(R^n\). 这就是之前所说的向量线性变换的闭合性. 子空间中的向量数乘和相加得到的向量仍在子空间内.
例如 \(R^n\) 的三个 \(n \times 1\) 向量 \(x_1,x_2,x_3\). 对于实数 \(a_1,a_2,a_3\), 可知 \(a_1x_1\) 和 \(a_2x_2\) 均在 \(\mathrm{Euclidean}\) \(n\) 空间 \(R^n\), \(a_1x_1+a_2x_2\) 在 \(R^n\) 内. 同理可证明 \((a_1x_1 + a_2x_2)+a_3x_3\) 也在 \(R^n\) 内.
那么我们就可以得出一个比较感性的认识: 有几个线性无关的向量, 就可以形成几维的子空间.
从这个意义上讲, 可以认为这三个线性无关向量的集合 \(\{x_1,x_2,x_3\}\) 张成或生成了一个 \(\mathrm{Euclidean}\) \(n\) 空间 \(R^n\) 的一个子空间. 这个概念一推广可得.
定义 1: 向量 \(x_1,x_2,\dots,x_d\) 的所有线性组合的集合称为由 \(x_1,x_2,\dots,x_d\) 张成 (或生成) 的子空间或闭包, 记作
\[ W = \mathrm{Span} \{ x_1,x_2,\dots,x_d \} = \mathrm{Close} \{ x_1,x_2,\dots,x_d \} \tag{1} \]
向量 \(x_1,x_2,\dots,x_d\) 称为子空间 \(W\) 的张成集或生成元.
需要注意是一个子空间的张成集不是唯一的, 拿三维空间举例. 固定 \(z\) 轴, 在 \(xy\) 平面任意找两条不重合不平行的线是不是都能构成一个三维空间. 需要注意的是, 可以通过这样的方式来理解, 但是绝对不能再拓展到高维, 毕竟人只是三维生物.
就上述例子, 在 \(xy\) 平面能不能找多条线呢? 答案是可以的, 只要能构成 \(xy\) 平面就行.
所以在矩阵分析及其应用中, 重要的是寻找生成一个子空间 \(W\) 的生成元的最小集合, 即 \(W\) 只需要用 \(d\) 个向量即可生成, 这就是子空间基向量的概念.
定义 2: 生成子空间 \(W\) 的线性无关的向量 \(\{ u_1,u_2,\dots,u_d \}\) 称为子空间 \(W\) 的基向量或简称为基. 生成子空间 \(W\) 的基向量的个数称为子空间 \(W\) 的维数, 即有
\[ d = \mathrm{dim}( \mathrm{Span} \{ u_1,u_2,\dots,u_d \}) \tag{2} \]
\(\{ u_1,u_2,\dots,u_d \}\) 只是子空间 \(W\) 的一组基, 并非唯一的基. 这是因为, 对于 \(n\) 阶向量空间的一个 \(d\) 维子空间 \(W\) 而言, 向量空间 \(V\) 中的任何 \(d\) 个线性无关向量的集合都张成子空间 \(W\). 虽然一个子空间有多个基, 但是所有基都具有相同的向量个数.
例如
\[ e_1 = \begin{bmatrix} 1\\ 0\\ \vdots \\ 0 \end{bmatrix}, \quad e_2 = \begin{bmatrix} 0\\ 1\\ \vdots \\ 0 \end{bmatrix}, \quad , \quad e_n = \begin{bmatrix} 0\\ 0\\ \vdots \\ 1 \end{bmatrix} \]
是 \(\mathrm{Euclidean}\) \(n\) 空间 \(R^n\) 的一组基向量, 因为任何一个向量 \(x=[x(1),x(2),\dots,x(n)]^{\mathrm{T}} \in R^n\) 都可以用 \(e_i\) 向量表示为
\[ x = \sum_{i=1}^{n}x_ie_i = [x(1),x(2),\dots,x(n)]^{\mathrm{T}} \]
定义 3: 若 \(\{ \alpha_1,\alpha_2,\dots,\alpha_n \}\) 和 \(\{ \beta_1,\beta_2,\dots,\beta_n \}\) 是两组不同的基, 并且 \(\alpha_i^{\mathrm{H}}\beta_i = 0\), 则称其中一组基是另一组基的对偶基.
定义 4: 令 \(\{ x_1,x_2,\dots,x_n \}\) 是子空间 \(\mathrm{Span}\{ x_1,x_2,\dots,x_n \}\) 的基向量. 若这些基向量满足正交条件
\[ \left \langle x_i,x_j \right \rangle = x_i^{\mathrm{T}}x_j=0, \quad \forall i \neq j \tag{3} \]
则称这些基向量为正交基向量. 想象一下空间坐标系的三根轴, 它们就是三维空间的正交基向量. 然后三根轴旋转之后也还是正交基向量.
定义 5: 若正交基向量 \(\{ x_1,x_2,\dots,x_n \}\) 中所有向量的范数均等于 1, 即
\[ \left \| x_i \right \| = 1, \quad i = 1,2,\dots,n \tag{4} \]
称为标准正交基向量. 想象一下空间坐标系的三根轴, 标准正交基向量就是把这三根轴的长度压缩成单位长度 1.
向量空间的子空间具有以下性质.
设 \(W_1\) 和 \(W_2\) 是向量空间 \(V\) 中的两个子空间, 则它们的交集 \(W_1 \cap W_2\), 也是 \(V\) 的子空间.
设 \(W_1\) 和 \(W_2\) 是向量空间 \(V\) 中的两个子空间, 则它们的和 \(W_1 + W_2\), 也是 \(V\) 的子空间.
二、Gram-Schmidt 正交化
有几个线性无关的向量就可以构成几维的向量子空间. 但应用更多的是需要标准正交基, 那我们就要想个办法让不是标准正交的基向量变成标准正交的基向量.
由此可得到一个定理, 这个定理给出了 \(\{ x_1,x_2,\dots,x_n \}\) 转换为标准正交向量组 \(\{ u_1,u_2,\dots,u_n \}\) 的方法, 也就是本节所提到的 \(\mathrm{Gram-Schmidt}\) 正交化.
定理 1: 令 \(\{ x_1,x_2,\dots,x_n \}\) 是 \(p\) 维向量子空间 \(W\) 的任意一组基 (即线性无关的向量). 于是, 子空间 \(W\) 的标准正交基 \(\{ u_1,u_2,\dots,u_n \}\) 可以通过 \(\mathrm{Gram-Schmidt}\) 正交化构造如下:
\[ p_1 = x_1, \quad u_1 = \frac{p_1}{\left \| p_1 \right \|} = \frac{x_1}{\left \| x_1 \right \|} \\ p_k = x_k - \sum_{i=1}^{k-1}(u_i^{\mathrm{H}}x_k)u_i, \quad u_k = \frac{p_k}{\left \| p_k \right \|} \tag{5} \]
式子中, \(2 \le k \le n\). 向量集 \(\{ p_1,p_2,\dots,p_n \}\) 是一组正交基, 但不一定是标准正交基.
书中关于这个式子的证明是先使用数学归纳法证明 (5) 式构造的向量 \(u_1,u_2,\dots,u_n\) 全部都是非零和有限大的向量, 然后再使用数学归纳法证明 \(p_i\) 之间的正交性.
但是这都是建立在已知式子的前提下完成的, 没有一个追本溯源的过程. 当然在数学的发展史上也有不少直接猜个式子出来, 然后证明其合理性的例子. 这里我就不按书上的公式证明了, 而是追本溯源地说说这个公式的来历.
这个解释来自 MIT线性代数公开课-正交矩阵和Gram-Schmidt正交化.
第一种情况, 如果有一组正交基 \(A\) 和 \(B\), 我们需要得到两个标准正交基 \(q_1\) 和 \(q_2\), 那么我们就令那组正交基除以自己的长度即可.
\[ q_1 = \frac{A}{\left \| A \right \|} \quad q_2 = \frac{B}{\left \| B \right \|} \tag{6} \]
第二种情况, 很不幸我们只有两个线性无关的向量 \(a\) 和 \(b\), 而且它们之间还不互相正交. 我们首先需要做的就是把这两个向量进行处理使它们变成一组正交基, 也就是 \(a,b\) 到上面提到的 \(A,B\) 之间的转换.
首先令 \(A = a\), 我们在 \(a\) 和 \(b\) 张成的空间中, 取与 \(A\) 正交的向量做为正交基. 方法就是将 \(b\) 投影到 \(a\) 的方向, 投影向量记作 \(p\), 然后可得 \(B=b-p\), 如下图所示.
关键的点就在如何求得 \(p\), 想象一下 \(p\) 是不是只有 \(A\) 的一部分, 那么此时就需要一个比例, 这个比例就是由长度来的. 只需要求出 \(p\) 的长度就能求到 \(B\).
\(p\) 的长度是 \(b\) 的长度乘以 \(b\) 和 \(A\) 夹角 \(\theta\) 的余弦值.
\[ cos\theta = \frac{A^{\mathrm{H}}b}{\left \| A \right \|\left \| b \right \|} \tag{7} \]
故 \[ B = b - \left \| b \right \| cos\theta \cdot A = b - \frac{A^{\mathrm{H}}b}{\left \| A \right \|} A \tag{8} \]
这个式子怎么看起来和之前公式的式子 (5) 不太一样呢? 仔细一看是分母多了一个 \(\left \| A \right \|\). 为什么会出现这样的情况? 是因为公式每次都是使用的已经标准化后的向量.
推广到三维就有: \[ C = c - \frac{A^{\mathrm{H}}c}{\left \| A \right \|} A - \frac{B^{\mathrm{H}}c}{\left \| B \right \|} B \tag{9} \]
以此类推.
多说无益, 举个例子.
例: 令 \(W=\mathrm{Span}\{ x_1,x_2 \}\) 是 \(R^3\) 的子空间, 其中 \[ x_1 = \begin{bmatrix} 1\\ 1\\ 2 \end{bmatrix}, \quad x_2 = \begin{bmatrix} 0\\ 2\\ -7 \end{bmatrix} \]
解:令所构造的 \(W\) 子空间的正交基向量为 \(p_1\) 和 \(p_2\).
方法 (1): 利用公式, \(p_1 = x_1\), \(p_2 = x_2 - \frac{p_1^{\mathrm{H}}x_2}{\left \| p_1 \right \|} p_1\).
可得 \[ p_1 = \begin{bmatrix} 1\\ 1\\ 2 \end{bmatrix}, \quad p_2 = \begin{bmatrix} 2\\ 4\\ -3 \end{bmatrix} \]
验证一下 \(p_1^{\mathrm{T}}p_2\) 确实是等于 0 的.
最后对这两个向量进行单位化得到标准正交基向量 \[ u_1 = \begin{bmatrix} \frac{1}{\sqrt{6}}\\ \frac{1}{\sqrt{6}}\\ \frac{2}{\sqrt{6}} \end{bmatrix}, \quad u_2 = \begin{bmatrix} \frac{2}{\sqrt{29}}\\ \frac{4}{\sqrt{29}}\\ \frac{-3}{\sqrt{29}} \end{bmatrix} \]
方法 (2): 书上还提到了一种方法, 虽然它算错了, 但是按照步骤还是可以得到最后结果.
定义 \(p_1 = x_1, p_2 = x_2 + ap_1\), 其中, 常数 \(a\) 是根据正交条件 \(p_1^{\mathrm{T}}p_2=0\) 确定. 由 \[ p_1^{\mathrm{T}}p_2 = p_1^{\mathrm{T}}(x_2+ap_1) = p_1^{\mathrm{T}} + ap_1^{\mathrm{T}}p_1 = -12+6a=0 \]
可得 \(a=2\), \(p_2 = x_2+2p_1 = [2,3,-4]^{\mathrm{T}}\). 得到的结果和方法 (1) 得到的结果是一样的.
这样做是通过向量之间的线性组合然后再解方程来计算的. 本质上和方法 (1) 没有差别.