本文主要是介绍【线性代数】【二】2.10 标准正交基与正交矩阵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 前言
- 一、标准正交基
- 二、施密特正交化
- 三、 正交矩阵
- 总结
前言
本文将介绍正交基、正交矩阵、与施密特正交化算法。正交是向量中一种非常好的性质,意味着两个向量互相之间没有冗余,也容易被区分。
一、标准正交基
前面我们学习过,一个向量空间的基是指张成该空间的极大线性无关组。例如 [ 1 , 0 , 0 ] , [ 1 , 1 , 0 ] , [ 1 , 1 , 1 ] [1,0,0],[1,1,0],[1,1,1] [1,0,0],[1,1,0],[1,1,1]便是张成 R 3 R^3 R3空间的一组基,该空间中的任意向量均可由这组向量进行线性表示。
所谓标准正交基,是指满足特殊条件的一组基:
- 每个基向量均为单位向量,模长为1,即 ∣ a i ∣ = a i T a i = 1 \vert\bm{a}_i\vert=\sqrt{\bm{a}_i^T\bm{a}_i}=1 ∣ai∣=aiTai=1
- 任意两个基向量相互正交,即 a i T a j = 0 \bm{a}_i^T\bm{a}_j=0 aiTaj=0
特别的,如果仅满足条件2)则称为正交基,而不是标准正交基。使用标准正交基来进行向量表示具有许多好处,例如,其表示的向量的模长可仅通过线性表示系数计算得到。假设我们有一组标准正交基 a 1 , … , a i , … , a n \bm{a}_1,\ldots,\bm{a}_i,\ldots,\bm{a}_n a1,…,ai,…,an,任意该空间中的向量 b \bm{b} b可被线性表示为
b = x 1 a 1 + … + x i a i + x n a n \bm{b}=x_1\bm{a}_1+\ldots+x_i\bm{a}_i+x_n\bm{a}_n b=x1a1+…+xiai+xnan
∣ b ∣ 2 = b T b = ( x 1 a 1 + … + x i a i + x n a n ) T ( x 1 a 1 + … + x i a i + x n a n ) \vert\bm{b}\vert^2=\bm{b}^T\bm{b}=(x_1\bm{a}_1+\ldots+x_i\bm{a}_i+x_n\bm{a}_n)^T(x_1\bm{a}_1+\ldots+x_i\bm{a}_i+x_n\bm{a}_n) ∣b∣2=bTb=(x1a1+…+xiai+xnan)T(x1a1+…+xiai+xnan)
带入上述标准正交基的性质,可得
∣ b ∣ 2 = ∑ i N x i 2 \vert\bm{b}\vert^2=\sum_i^Nx_i^2 ∣b∣2=∑iNxi2
二、施密特正交化
R 3 R^3 R3的一组朴素的标准正交基为 [ 1 , 0 , 0 ] , [ 0 , 1 , 0 ] , [ 0 , 0 , 1 ] [1,0,0],[0,1,0],[0,0,1] [1,0,0],[0,1,0],[0,0,1],不过这并非该空间唯一的标准正交基。那么,能否由任意给定的一组普通的基,来构造一组标准正交基呢?施密特正交化便是做了这样一件事。
假设有一组普通的基 a 1 , … , a i , … , a n \bm{a}_1,\ldots,\bm{a}_i,\ldots,\bm{a}_n a1,…,ai,…,an,我们要以其为基础构建一组该空间的标准正交基。下面我们来分析一下应该如何去做:单位化简单,只要将每个基向量除以自身的模长即可;正交化怎么去做呢?
这里就要回想到上文所学的子空间投影了,我们已知:向量与子空间投影的差,正交于该子空间。那么我如果们对该组基向量依次做处理,使得每次当前处理得到的向量,与先前已处理的向量构成的子空间正交,便能保证当前处理得到的向量与先前所有向量的正交性。而先前已处理的向量之间的正交性则可由之前的正交化操作保证。由此,所有向量之间均正交。不断构造投影,做差,找到正交于子空间的向量,这就是施密特正交化的思路。
下面,我们正式阐述施密特正交化的过程,首先我们任选一个向量开始,不妨就以 a 1 \bm{a}_1 a1开始,对其进行单位化:
a 1 ∗ = a 1 / ∣ a 1 ∣ \bm{a}_1^*=\bm{a}_1/\vert\bm{a}_1\vert a1∗=a1/∣a1∣。
然后,我们找到向量 a 2 \bm{a}_2 a2,使其与 a 1 ′ \bm{a}_1' a1′正交,也就是做其与投影之差:
a 2 ′ = a 2 − P a 2 \bm{a}_2'=\bm{a}_2-\bm{P}\bm{a_2} a2′=a2−Pa2
再进行单位化:
a 2 ∗ = a 2 ′ / ∣ a 2 ′ ∣ \bm{a}_2^*=\bm{a}_2'/\vert\bm{a}_2'\vert a2∗=a2′/∣a2′∣
其中, P = A T ( A A T ) − 1 A \bm{P}=\bm{A}^T(\bm{AA}^T)^{-1}\bm{A} P=AT(AAT)−1A为投影矩阵,矩阵 A \bm{A} A中的行向量为已处理向量 a 1 ∗ T \bm{a}_1^{*T} a1∗T。
随后继续重复上述操作,只是投影矩阵 P \bm{P} P不断加入新处理好的行向量即可。此外,观察投影矩阵的计算,不难发现, A A T = I \bm{AA}^T=\bm{I} AAT=I总是等于单位阵(行数与已处理向量数目相同),这是由于基向量之间的正交性,非主对角线上的元素都成立0,而主对角线上的元素都是1,因此该投影矩阵可以化简为 P = A T A \bm{P}=\bm{A}^T\bm{A} P=ATA。
也就是说,如果我们找到子空间的一组标准正交基,那么以该组基进行投影计算得到的投影矩阵均可化简为 P = A T A \bm{P}=\bm{A}^T\bm{A} P=ATA。 这也是为什么在施密特正交化的每一步都进行单位化操作,而不是全部正交化以后再进行单位化。
三、 正交矩阵
进一步扩展上述观察,如果我们把一组标准正交基放入矩阵,若该矩阵是一个方阵,则该方阵必然可逆,且其逆矩阵就是它的转置。因此我们有:由标准正交基构成的方阵 A \bm{A} A一定是可逆矩阵,我们称之为正交矩阵。
由此,我们可以很方便地找到矩阵的逆,也就可以很轻松的进行 A x = b \bm{Ax}=\bm{b} Ax=b的求解了,即 x = A − 1 b = A T b \bm{x}=\bm{A}^{-1}\bm{b}=\bm{A}^{T}\bm{b} x=A−1b=ATb
总结
本文介绍了标准正交基的性质,并给出了构造标准正交基的方法,最后引申出正交矩阵的概念。
这篇关于【线性代数】【二】2.10 标准正交基与正交矩阵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!