大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
本节主要讲解正交(orthogonal)概念对于向量、基和子空间的意义。复习本节时,如果能够快速回忆出正交补与 A x = b Ax=b Ax=b之间的关系,那么说明就已经掌握清楚了。
文章目录
需要注意的是行空间与零空间是正交的,而列空间与左零空间是正交的。这张图是 GS 最得意的作品之一, 它反映了四个子空间的关系, 在后面的课程中可以看到其两两形成正交,在
R n R^n Rn 空间中的向量会向两个子空间投影,并向
R m R^m Rm空间形成映射,反之亦然。
1. 正交向量 Orthogonal vectors
正交就是垂直(perpendicular)的另一种说法。两向量正交的判据之一是其点积 x T y = y T x = 0 x^Ty=y^Tx=0 xTy=yTx=0。当两个向量的夹角为 90 度时,按照勾股定理(毕达哥拉斯定理Pythagorean theorem)x,y 满足:
∥ x ∥ 2 + ∥ y ∥ 2 = ∥ x + y ∥ 2 , 其 中 ∥ x ∥ 2 = x T x \| x \| ^ { 2 } + \| y \| ^ { 2 }=\| x + y\| ^ { 2 },其中\| x \| ^ { 2 }=x^Tx ∥x∥2+∥y∥2=∥x+y∥2,其中∥x∥2=xTx
例如 x = [ 1 2 3 ] x = \left[ \begin{array} { l } { 1 } \\ { 2 } \\ { 3 } \end{array} \right] x=⎣⎡123⎦⎤, y = [ 2 − 1 0 ] y = \left[ \begin{array} { c } { 2 } \\ { – 1 } \\ { 0 } \end{array} \right] y=⎣⎡2−10⎦⎤,则 x + y = [ 3 1 3 ] x + y = \left[ \begin{array} { l } { 3 } \\ { 1 } \\ { 3 } \end{array} \right] x+y=⎣⎡313⎦⎤, ∥ x ∥ 2 = 14 \| x \| ^ { 2 } = 14 ∥x∥2=14, ∥ y ∥ 2 = 5 \| y \| ^ { 2 } = 5 ∥y∥2=5, ∥ x + y ∥ 2 = 19 \| x +y\| ^ { 2 } = 19 ∥x+y∥2=19。
将勾股定理展开进行计算,则有 x T x + y T y = ( x + y ) T ( x + y ) = x T x + y T y + x T y + y T x x^Tx+y^Ty=(x+y)^T(x+y)=x^Tx+y^Ty+x^Ty+y^Tx xTx+yTy=(x+y)T(x+y)=xTx+yTy+xTy+yTx。得到 2 x T y = 0 2x^Ty=0 2xTy=0。
零向量与所有向量都正交。
2. 正交子空间 Orthogonal subspaces
子空间 S S S与子空间 T T T正交,则 S S S中的任意一个向量都和 T T T中的任意向量正交。黑板所在的平面和地板所在平面不是正交关系,沿两者的交线方向的向量同时属于两个平面,但并不与自己正交。所以如果两个平面的交点(交线)如果不是零向量,则它们就不是正交的。
如果在平面内(二维空间)讨论正交子空间,平面的子空间包括只包含零向量的0 空间、过原点的直线以及整个平面。经过原点的直线不会和整个空间正交;0空间和过原点的直线正交(0空间与任意空间正交);经过原点的两条直线若夹角为直角则互相正交。
3. 零空间与行空间正交 Nullspace is perpendicular to row space
矩阵 A A A的行空间和它的零空间正交。若 x x x在零空间内,则有 A x = 0 Ax=0 Ax=0,将 A A A表示为行向量的格式:
[ r o w 1 r o w 2 ⋮ r o w m ] [ x ] = [ r o w 1 ⋅ x r o w 2 ⋅ x ⋮ r o w m ⋅ x ] = [ 0 0 ⋮ 0 ] \left[ \begin{array} { c } { r o w _ { 1 } } \\ { r o w _ { 2 } } \\ { \vdots } \\ { r o w _ { m } } \end{array} \right] [ x ] = \left[ \begin{array} { c } { { row } _ { 1 } \cdot x } \\ { row _ { 2 } \cdot x } \\ { \vdots } \\ { { row } _ { m } \cdot x } \end{array} \right]=\left[ \begin{array} { l } { 0 } \\ { 0 } \\ { \vdots } \\ { 0 } \end{array} \right] ⎣⎢⎢⎢⎡row1row2⋮rowm⎦⎥⎥⎥⎤[x]=⎣⎢⎢⎢⎡row1⋅xrow2⋅x⋮rowm⋅x⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡00⋮0⎦⎥⎥⎥⎤
x x x与矩阵 A A A的行向量点积都等于 0,则它和矩阵 A A A 行向量的线性组合进行点积也为 0,所以 x x x与 A A A的行空间正交。 x x x为零空间内的任意向量,所以零空间与行空间正交。(一vs多->多vs多)
同理可以证明列空间与左零空间正交。
行空间和零空间实际上把 R n R^n Rn空间分割成了两个正交的子空间。例如对于矩阵:
A = [ 1 2 5 2 4 10 ] A = \left[ \begin{array} { l l l } { 1 } & { 2 } & { 5 } \\ { 2 } & { 4 } & { 10 } \end{array} \right] A=[1224510]
则其行空间是1维的,向量 [ 1 2 5 ] \left[ \begin{array} { l } { 1 } \\ { 2 } \\ { 5 } \end{array} \right] ⎣⎡125⎦⎤是它的基向量,而其零空间是垂直于 [ 1 2 5 ] \left[ \begin{array} { l } { 1 } \\ { 2 } \\ { 5 } \end{array} \right] ⎣⎡125⎦⎤并穿过原点的 2 维平面。其中零空间的法向量为 [ 1 2 5 ] \left[ \begin{array} { l } { 1 } \\ { 2 } \\ { 5 } \end{array} \right] ⎣⎡125⎦⎤。
4. 正交补Orthogonal Complements
行空间和零空间不仅仅是正交,并且其维数之和等于 n,我们称行空间和零空间为 R n R^n Rn空间内的正交补(orthogonal complements)。
d i m N ( A ) + d i m C ( A T ) = n dim\ N(A)+dim \ C(A^T)=n dim N(A)+dim C(AT)=n
正交补的概念很重要,它表明 R n R^n Rn中的任何一个向量 x x x都可以拆分为互为正交补的子空间的向量之和。以 A x = b Ax=b Ax=b的解 x x x为例, x x x是属于 R n R^n Rn中的向量, x x x可以拆分为在行空间的分量 x r x_r xr和零空间中的分量 x n x_n xn之和,即 x = x r + x n x=x_r+x_n x=xr+xn, A x = b Ax=b Ax=b可以进行如下拆解:
零 空 间 分 量 : A x n = 0 零空间分量:Ax_n=0 零空间分量:Axn=0
行 空 间 分 量 : A x r = b 行空间分量:Ax_r=b 行空间分量:Axr=b
这表示零空间包含所有和行空间正交的向量,反之亦然。 想想我们之前提到的黑板和地板平面不是正交子空间的例子,二者都在 3 维空间中,分别为 2 维空间,因此不可能正交。一个空间中正交子空间的维数之和不可能超过原空间的维数。
我们可以称目前讨论的这部分内容是线性代数基本定理的第二部分。第一部分是给出四个子空间和它们的维数,第二部分说明它们是两两互为正交补,第三部分讨论子空间的正交基。 这些内容都反映在了本讲座开始的那幅图上。
5. 矩阵 A T A A^TA ATA
下面讨论如何求解一个无解方程组 A x = b Ax=b Ax=b的解(b不在A的列空间中)。如果 A A A是长方形矩阵,m 大于 n(方程数大于未知数)。当左侧方程数特别多的时候,容易混入“坏”数据,方程变得无解。但是对于数据的可信度我们无从判断,线性代数要做的就是在这种条件下求一个方程的“最优解”(把好数据筛选出来)。其中一种求解方法是删掉一些方程,使得矩阵变成可逆的方阵,然后进行求解。但是由于无法判断哪些数据是好数据,哪些是坏数据。希望利用所有测量值求出最优解,从而得到最完整的信息。
矩阵 A T A A^TA ATA会发挥重要作用,它是一个 n ∗ n n*n n∗n方阵,并且是对称阵, ( A T A ) T = A T A (A^TA)^T=A^TA (ATA)T=ATA。
本章的核心内容就是当 A x = b Ax=b Ax=b无解的时候,求解 A T A x ^ = A T b A^TA\hat { x }=A^Tb ATAx^=ATb得到最优解。
A = [ 1 1 1 2 1 5 ] A=\left[ \begin{array} { l l } { 1 } & { 1 } \\ { 1 } & { 2 } \\ { 1 } & { 5 } \end{array} \right] A=⎣⎡111125⎦⎤,则 A T A = [ 1 1 1 1 2 5 ] [ 1 1 1 2 1 5 ] = [ 3 8 8 30 ] 是 可 逆 矩 阵 A ^ { T } A = \left[ \begin{array} { l l l } { 1 } & { 1 } & { 1 } \\ { 1 } & { 2 } & { 5 } \end{array} \right] \left[ \begin{array} { l l } { 1 } & { 1 } \\ { 1 } & { 2 } \\ { 1 } & { 5 } \end{array} \right]=\left[ \begin{array} { c c } { 3 } & { 8 } \\ { 8 } & { 30 } \end{array} \right]是可逆矩阵 ATA=[111215]⎣⎡111125⎦⎤=[38830]是可逆矩阵。
A = [ 1 3 1 3 1 3 ] A=\left[ \begin{array} { l l } { 1 } & { 3 } \\ { 1 } & { 3 } \\ { 1 } & { 3 } \end{array} \right] A=⎣⎡111333⎦⎤,则 A T A = [ 1 1 1 3 3 3 ] [ 1 3 1 3 1 3 ] = [ 3 9 9 27 ] 是 不 可 逆 矩 阵 A ^ { T } A = \left[ \begin{array} { l l l } { 1 } & { 1 } & { 1 } \\ { 3 } & { 3 } & { 3 } \end{array} \right] \left[ \begin{array} { l l } { 1 } & { 3 } \\ { 1 } & { 3 } \\ { 1 } & { 3 } \end{array} \right]=\left[ \begin{array} { c c } { 3 } & { 9 } \\ { 9 } & { 27 } \end{array} \right]是不可逆矩阵 ATA=[131313]⎣⎡111333⎦⎤=[39927]是不可逆矩阵。
实际上 N ( A T A ) = N ( A ) N(A^TA)=N(A) N(ATA)=N(A),并且矩阵 A T A A^TA ATA的秩等于 A A A的秩。因此矩阵 A T A A^TA ATA可逆要求 A A A的零空间只有零向量,即 A A A 的列向量线性无关。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200637.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...