• 线性代数的本质(二)——线性变换与矩阵


    线性变换与矩阵

    线性变换与二阶方阵

    本节从二维平面出发学习线性代数。通常选用平面坐标系 O x y Oxy Oxy ,基向量为 i ,   j \mathbf i,\ \mathbf j i, j,平面内的任意向量都可以写成基向量的线性组合
    v = x i + y j \mathbf v=x\mathbf i+y\mathbf j v=xi+yj
    这样,平面内的点和有序实数对 ( x , y ) (x,y) (x,y) 一一对应。借助平面坐标系,我们可以从代数的角度来研究几何变换。

    请添加图片描述

    变换与函数类似,函数把数映射到数,变换把点(向量)映射到点(向量)。
    T : v ↦ T ( v ) T:\quad \mathbf v\mapsto T(\mathbf v) T:v↦T(v)

    例如,(1) 平面内任意一点 P ( x , y ) P(x,y) P(x,y) 绕原点 O O O 逆时针方向旋转 60 ° 60\degree 60° 角得到点 P ′ ( x ′ , y ′ ) P'(x',y') P′(x′,y′),坐标变换公式为
    { x ′ = 1 2 x − 3 2 y y ′ = 3 2 x + 1 2 y

    {x′=12x−32yy′=32x+12y" role="presentation">{x′=12x−32yy′=32x+12y
    {x′=21​x−23 ​​yy′=23 ​​x+21​y​
    可写为向量形式
    [ x ′ y ′ ] = x [ 1 2 3 2 ] + y [ − 3 2 1 2 ]
    [x′y′]" role="presentation">[x′y′]
    = x
    [1232]" role="presentation">[1232]
    + y
    [−3212]" role="presentation">[−3212]
    [x′y′​]=x[21​23 ​​​]+y[−23 ​​21​​]

    (2) 平面内任意一点 P ( x , y ) P(x,y) P(x,y) 关于 y y y 轴的对称点 P ′ ( x ′ , y ′ ) P'(x',y') P′(x′,y′)的表达式为
    { x ′ = − x y ′ = y

    {x′=−xy′=y" role="presentation">{x′=−xy′=y
    {x′=−xy′=y​
    可写为向量形式
    [ x ′ y ′ ] = x [ − 1 0 ] + y [ 0 1 ]
    [x′y′]" role="presentation">[x′y′]
    = x
    [−10]" role="presentation">[−10]
    + y
    [01]" role="presentation">[01]
    [x′y′​]=x[−10​]+y[01​]

    事实上,在平面坐标系 O x y Oxy Oxy 中,很多几何变换都具有如下坐标变换公式
    { x ′ = a x + b y y ′ = c x + d y

    {x′=ax+byy′=cx+dy" role="presentation">{x′=ax+byy′=cx+dy
    {x′=ax+byy′=cx+dy​
    向量形式为
    [ x ′ y ′ ] = x [ a c ] + y [ b d ]
    [x′y′]" role="presentation">[x′y′]
    = x
    [ac]" role="presentation">[ac]
    + y
    [bd]" role="presentation">[bd]
    [x′y′​]=x[ac​]+y[bd​]

    其中 ( x ′ , y ′ ) (x',y') (x′,y′)为平面内任意一点 ( x , y ) (x,y) (x,y) 变换后的点。我们把形如上式的几何变换叫做平面线性变换。

    容易证明,线性变换满足下列两条性质

    (1) 可加性: T ( v + w ) = T ( v ) + T ( w ) T(\mathbf v+\mathbf w)=T(\mathbf v)+T(\mathbf w) T(v+w)=T(v)+T(w)
    (2) 伸缩性: T ( c v ) = c L ( v ) T(c\mathbf v)=cL(\mathbf v) T(cv)=cL(v)

    事实上,这两条性质才是线性变换的严格定义。

    请添加图片描述

    为了进一步了解线性变换的本质,取任意向量 v = x i + y j \mathbf v=x\mathbf i+y\mathbf j v=xi+yj ,在线性变换 T T T 的作用下
    T ( v ) = T ( x i + y j ) = x T ( i ) + y T ( j ) T(\mathbf v)=T(x\mathbf i+y\mathbf j)=xT(\mathbf i)+yT(\mathbf j) T(v)=T(xi+yj)=xT(i)+yT(j)
    可知,变换后的向量 T ( v ) T(\mathbf v) T(v) 由变换后的基向量以同样的系数完全确定。设变换后的基向量分别为
    T ( i ) = a i + c j = [ a c ] , T ( j ) = b i + d j = [ b d ] T(\mathbf i)=a\mathbf i+c\mathbf j=

    [ac]" role="presentation">[ac]
    ,\quad T(\mathbf j)=b\mathbf i+d\mathbf j=
    [bd]" role="presentation">[bd]
    T(i)=ai+cj=[ac​],T(j)=bi+dj=[bd​]

    注意:本章线性变换中的坐标始终使用最初的 O x y Oxy Oxy 坐标系。

    于是,线性变换 T : v ↦ T ( v ) T:\mathbf v\mapsto T(\mathbf v) T:v↦T(v) 对应的坐标运算为
    [ x ′ y ′ ] = x [ a c ] + y [ b d ]

    [x′y′]" role="presentation">[x′y′]
    = x
    [ac]" role="presentation">[ac]
    + y
    [bd]" role="presentation">[bd]
    [x′y′​]=x[ac​]+y[bd​]
    由于上述变换由变换后的基向量唯一确定,我们可以按顺序写为数表的形式

    在这里插入图片描述

    我们把这个数表称为二阶矩阵,一般用大写英文字母表示。变换后的向量则定义为矩阵与向量的乘积
    [ a b c d ] [ x y ] = x [ a c ] + y [ b d ] = [ a x + b y c x + d y ]

    [abcd]" role="presentation">[abcd]
    [xy]" role="presentation">[xy]
    = x
    [ac]" role="presentation">[ac]
    + y
    [bd]" role="presentation">[bd]
    =
    [ax+bycx+dy]" role="presentation">[ax+bycx+dy]
    [ac​bd​][xy​]=x[ac​]+y[bd​]=[ax+bycx+dy​]
    可知,矩阵代表一个特定的线性变换,我们完全可以把矩阵的列看作变换后的基向量,矩阵向量乘法就是将线性变换作用于给定向量。

    Grant:矩阵最初的定义就来自线性变换。

    至此,任何一个线性变换都可以写为矩阵与向量乘积的形式。反之,确定了坐标系后,任何一个矩阵都唯一确定了一个线性变换。矩阵和向量的乘积与线性变换实现了一一对应。

    一般地,直线在线性变换后仍然保持直线。

    在这里插入图片描述

    证明:如图 l l l 为向量 w 1 , w 2 \mathbf w_1,\mathbf w_2 w1​,w2​ 终点所确定的直线, v \mathbf v v 为终点在直线 l l l 上的任意向量。
    v = w 1 + λ ( w 2 − w 1 ) = ( 1 − λ ) w 1 + λ w 2 ( λ ∈ R ) \mathbf v=\mathbf w_1+\lambda(\mathbf w_2-\mathbf w_1)=(1-\lambda)\mathbf w_1+\lambda \mathbf w_2 \quad (\lambda\in\R) v=w1​+λ(w2​−w1​)=(1−λ)w1​+λw2​(λ∈R)
    令 λ 1 + λ 2 = 1 \lambda_1+\lambda_2=1 λ1​+λ2​=1 则
    v = λ 1 w 1 + λ 2 w 2 \mathbf v=\lambda_1 \mathbf w_1+\lambda_2 \mathbf w_2 v=λ1​w1​+λ2​w2​
    这就是由向量 w 1 , w 2 \mathbf w_1,\mathbf w_2 w1​,w2​ 的终点所确定的直线的向量形式。由线性变换的基本性质可知,直线 l l l 在线性变换 A A A 的作用下变成
    v ′ = A ( λ 1 w 1 + λ 2 w 2 ) = λ 1 A w 1 + λ 2 A w 2 \mathbf v'=A(\lambda_1 \mathbf w_1+\lambda_2 \mathbf w_2)=\lambda_1 A\mathbf w_1+\lambda_2 A\mathbf w_2 v′=A(λ1​w1​+λ2​w2​)=λ1​Aw1​+λ2​Aw2​
    (1) 如果 A w 1 ≠ A w 2 A\mathbf w_1\neq A\mathbf w_2 Aw1​=Aw2​,那么 v ′ \mathbf v' v′ 表示由向量 A w 1 , A w 2 A\mathbf w_1,A\mathbf w_2 Aw1​,Aw2​ 的终点确定的直线。此时矩阵 A A A 对应的线性变换把直线变成直线;
    (2) 如果 A w 1 = A w 2 A\mathbf w_1 = A\mathbf w_2 Aw1​=Aw2​,那么 λ 1 A w 1 + λ 2 A w 2 = A w 1 \lambda_1 A\mathbf w_1+\lambda_2 A\mathbf w_2=A\mathbf w_1 λ1​Aw1​+λ2​Aw2​=Aw1​ 。由于向量 A w 1 A\mathbf w_1 Aw1​ 的终点是一个确定的点,因而,矩阵 A A A 所对应的线性变换把直线 l l l 映射成了一个点 A w 1 A\mathbf w_1 Aw1​ 。

    常见的线性变换

    Grant:我们可以使用无限网格刻画二维空间所有点的变换。线性变换是操作空间的一种手段,它能够保持网格线平行且等距,并保持原点不动。

    我们已经知道,在线性变换的作用下,直线仍然保持直线(或一个点)。为了方便,我们只考虑在平面直角坐标系内,单位正方形区域的线性变换。

    根据向量加法的平行四边形法则,单位正方形区域可用向量形式表示为
    [ x y ] = x i + y j ( 0 ⩽ x , y ⩽ 1 )

    [xy]" role="presentation">[xy]
    =x\mathbf i+y\mathbf j \quad(0\leqslant x,y\leqslant 1) [xy​]=xi+yj(0⩽x,y⩽1)
    由线性变换基本性质知,变换后的区域为
    A [ x y ] = x ( A i ) + y ( A j ) ( 0 ⩽ x , y ⩽ 1 ) A
    [xy]" role="presentation">[xy]
    =x(A\mathbf i)+y(A\mathbf j) \quad(0\leqslant x,y\leqslant 1)
    A[xy​]=x(Ai)+y(Aj)(0⩽x,y⩽1)

    表示以 A i , A j A\mathbf i,A\mathbf j Ai,Aj 为邻边的平行四边形区域。因此,我们只需考虑单位向量 i , j \mathbf i,\mathbf j i,j 在线性变换作用下的结果,就能得到单位正方形区域在线性变换作用下所变成的图形。

    在这里插入图片描述

    恒等变换:把平面内任意一点 P ( x , y ) P(x,y) P(x,y) 变成它本身,记为 I I I 。对应的矩阵称为单位阵
    [ 1 0 0 1 ]

    [1001]" role="presentation">[1001]
    [10​01​]

    旋转变换:(rotations)平面内任意一点 P ( x , y ) P(x,y) P(x,y) 绕原点 O O O按逆时针方向旋转 θ \theta θ 角,记为 R θ R_{\theta} Rθ​ 。对应的矩阵为
    [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ]

    [cos⁡θ−sin⁡θsin⁡θcos⁡θ]" role="presentation">[cos⁡θ−sin⁡θsin⁡θcos⁡θ]
    [cosθsinθ​−sinθcosθ​]

    在这里插入图片描述

    切变变换:(shears)平行于 x x x 轴的切变变换对应的矩阵为
    [ 1 k 0 1 ]

    [1k01]" role="presentation">[1k01]
    [10​k1​]
    类似的,平行于 y y y 轴的切变变换对应的矩阵为
    [ 1 0 k 1 ]
    [10k1]" role="presentation">[10k1]
    [1k​01​]

    在这里插入图片描述

    反射变换:(reflection)一般的我们把平面内任意一点 P ( x , y ) P(x,y) P(x,y) 关于直线 l l l 对称的线性变换叫做关于直线 l l l 的反射变换。

    (1) 关于 y y y 轴的反射变换对应的矩阵为
    [ − 1 0 0 1 ]

    [−1001]" role="presentation">[−1001]
    [−10​01​]
    (2) 关于直线 y = x y=x y=x 的反射变换对应的矩阵为
    [ 0 1 1 0 ]
    [0110]" role="presentation">[0110]
    [01​10​]

    (3) 关于直线 y = k x y=kx y=kx 的反射变换对应的矩阵为
    1 k 2 + 1 [ 1 − k 2 2 k 2 k k 2 − 1 ] \frac{1}{k^2+1}
    [1−k22k2kk2−1]" role="presentation">[1−k22k2kk2−1]
    k2+11​[1−k22k​2kk2−1​]

    在这里插入图片描述

    伸缩变换:(stretching)将每个点的横坐标变为原来的 k 1 k_1 k1​ 倍,纵坐标变为原来的 k 2 k_2 k2​ 倍,其中 k 1 , k 2 ≠ 0 k_1,k_2\neq0 k1​,k2​=0 。对应的矩阵为
    [ k 1 0 0 k 2 ]

    [k100k2]" role="presentation">[k100k2]
    [k1​0​0k2​​]

    在这里插入图片描述

    投影变换:(projection)平面内任意一点 P ( x , y ) P(x,y) P(x,y) 在直线 l l l 的投影称为关于直线 l l l 的投影变换。

    (1) 关于 x x x 轴的投影变换对应的矩阵为
    [ 1 0 0 0 ]

    [1000]" role="presentation">[1000]
    [10​00​]
    (2) 关于 y y y 轴的投影变换对应的矩阵为
    [ 0 0 0 1 ]
    [0001]" role="presentation">[0001]
    [00​01​]

    (3) 关于直线 y = k x y=kx y=kx 的投影变换对应的矩阵为
    1 k 2 + 1 [ 1 k k k 2 ] \frac{1}{\sqrt{k^2+1}}
    [1kkk2]" role="presentation">[1kkk2]
    k2+1 ​1​[1k​kk2​]

    在这里插入图片描述

    平移变换:形如 ( x , y ) ↦ ( x + h , y + k ) (x,y)\mapsto (x+h,y+k) (x,y)↦(x+h,y+k) 的平移变换并不是线性变换,我们无法直接使用矩阵向量乘法。对此可以引入齐次坐标:平面内的每个点 ( x , y ) (x,y) (x,y) 都可以对应于空间中的点 ( x , y , 1 ) (x,y,1) (x,y,1) 。平移变换可以用齐次坐标写成变换 T : ( x , y , 1 ) ↦ ( x + h , y + k , 1 ) T:(x,y,1)\mapsto (x+h,y+k,1) T:(x,y,1)↦(x+h,y+k,1),对应的矩阵为
    [ 1 0 h 0 1 k 0 0 1 ]

    [10h01k001]" role="presentation">[10h01k001]
    ​100​010​hk1​ ​

    在这里插入图片描述

    复合变换与矩阵乘法

    平面内任意一向量,依次做旋转变换 R θ 1 : [ cos ⁡ θ 1 − sin ⁡ θ 1 sin ⁡ θ 1 cos ⁡ θ 1 ] R_{\theta_1}:

    [cos⁡θ1−sin⁡θ1sin⁡θ1cos⁡θ1]" role="presentation">[cos⁡θ1−sin⁡θ1sin⁡θ1cos⁡θ1]
    Rθ1​​:[cosθ1​sinθ1​​−sinθ1​cosθ1​​] 和 R θ 2 : [ cos ⁡ θ 2 − sin ⁡ θ 2 sin ⁡ θ 2 cos ⁡ θ 2 ] R_{\theta_2}:
    [cos⁡θ2−sin⁡θ2sin⁡θ2cos⁡θ2]" role="presentation">[cos⁡θ2−sin⁡θ2sin⁡θ2cos⁡θ2]
    Rθ2​​:[cosθ2​sinθ2​​−sinθ2​cosθ2​​]

    在这里插入图片描述

    很显然最终作用的效果可以用一个变换 R θ 1 + θ 2 R_{\theta_1+\theta_2} Rθ1​+θ2​​ 来表示,对应的矩阵为
    [ cos ⁡ ( θ 1 + θ 2 ) − sin ⁡ ( θ 1 + θ 2 ) sin ⁡ ( θ 1 + θ 2 ) cos ⁡ ( θ 1 + θ 2 ) ]

    [cos⁡(θ1+θ2)−sin⁡(θ1+θ2)sin⁡(θ1+θ2)cos⁡(θ1+θ2)]" role="presentation">[cos⁡(θ1+θ2)−sin⁡(θ1+θ2)sin⁡(θ1+θ2)cos⁡(θ1+θ2)]
    [cos(θ1​+θ2​)sin(θ1​+θ2​)​−sin(θ1​+θ2​)cos(θ1​+θ2​)​]
    旋转变换 R θ 1 + θ 2 R_{\theta_1+\theta_2} Rθ1​+θ2​​仍然是线性变换。

    一般地,设矩阵 A = [ a 1 b 1 c 1 d 1 ] , B = [ a 2 b 2 c 2 d 2 ] A=

    [a1b1c1d1]" role="presentation">[a1b1c1d1]
    ,B=
    [a2b2c2d2]" role="presentation">[a2b2c2d2]
    A=[a1​c1​​b1​d1​​],B=[a2​c2​​b2​d2​​],他们对应的线性变换分别为 f f f 和 g g g 。

    平面上任意一个向量 v = [ x y ] \mathbf v=

    [xy]" role="presentation">[xy]
    v=[xy​] 依次做变换 g g g 和 f f f ,其作用效果为
    f ( g ( v ) ) = A ( B v ) f(g(\mathbf v))=A(B\mathbf v) f(g(v))=A(Bv)

    Grant:线性变换的本质主要在于追踪基向量变换后的位置。

    接下来,我们追踪变换过程中基向量的位置。由矩阵向量乘法的定义知道,基向量 i , j \mathbf i,\mathbf j i,j 经过矩阵 B B B 变换后(第一次变换)的位置为
    B i = [ a 2 c 2 ] , B j = [ b 2 d 2 ] B\mathbf i=

    [a2c2]" role="presentation">[a2c2]
    ,\quad B\mathbf j=
    [b2d2]" role="presentation">[b2d2]
    Bi=[a2​c2​​],Bj=[b2​d2​​]
    基向量 B i , B j B\mathbf i,B\mathbf j Bi,Bj 又经过矩阵 A A A 变换后的最终位置为
    i ′ : [ a 1 b 1 c 1 d 1 ] [ a 2 c 2 ] = a 2 [ a 1 c 1 ] + c 2 [ b 1 d 1 ] = [ a 1 a 2 + b 1 c 2 c 1 a 2 + d 1 c 2 ] j ′ : [ a 1 b 1 c 1 d 1 ] [ b 2 d 2 ] = b 2 [ a 1 c 1 ] + d 2 [ b 1 d 1 ] = [ a 1 b 2 + b 1 d 2 c 1 b 2 + d 1 d 2 ] \mathbf i':
    [a1b1c1d1]" role="presentation">[a1b1c1d1]
    [a2c2]" role="presentation">[a2c2]
    = a_2
    [a1c1]" role="presentation">[a1c1]
    + c_2
    [b1d1]" role="presentation">[b1d1]
    =
    [a1a2+b1c2c1a2+d1c2]" role="presentation">[a1a2+b1c2c1a2+d1c2]
    \\ \mathbf j':
    [a1b1c1d1]" role="presentation">[a1b1c1d1]
    [b2d2]" role="presentation">[b2d2]
    = b_2
    [a1c1]" role="presentation">[a1c1]
    + d_2
    [b1d1]" role="presentation">[b1d1]
    =
    [a1b2+b1d2c1b2+d1d2]" role="presentation">[a1b2+b1d2c1b2+d1d2]
    i′:[a1​c1​​b1​d1​​][a2​c2​​]=a2​[a1​c1​​]+c2​[b1​d1​​]=[a1​a2​+b1​c2​c1​a2​+d1​c2​​]j′:[a1​c1​​b1​d1​​][b2​d2​​]=b2​[a1​c1​​]+d2​[b1​d1​​]=[a1​b2​+b1​d2​c1​b2​+d1​d2​​]

    从而,对任意向量 v = [ x y ] \mathbf v=
    [xy]" role="presentation">[xy]
    v=[xy​]
    依次做变换 B B B 和 A A A ,其总体作用效果为
    A ( B v ) = x i ′ + y j ′ = [ a 1 a 2 + b 1 c 2 a 1 b 2 + b 1 d 2 c 1 a 2 + d 1 c 2 c 1 b 2 + d 1 d 2 ] [ x y ] A(B\mathbf v)=x\mathbf i'+y\mathbf j'=
    [a1a2+b1c2a1b2+b1d2c1a2+d1c2c1b2+d1d2]" role="presentation">[a1a2+b1c2a1b2+b1d2c1a2+d1c2c1b2+d1d2]
    [xy]" role="presentation">[xy]
    A(Bv)=xi′+yj′=[a1​a2​+b1​c2​c1​a2​+d1​c2​​a1​b2​+b1​d2​c1​b2​+d1​d2​​][xy​]

    这也是一个线性变换,我们称为复合变换(composite transformation),记为 f ∘ g f\circ g f∘g 。

    在此,我们定义复合变换 f ∘ g f\circ g f∘g 为矩阵 A , B A,B A,B 的乘积,记为
    A B = [ a 1 b 1 c 1 d 1 ] [ a 2 b 2 c 2 d 2 ] = [ a 1 a 2 + b 1 c 2 a 1 b 2 + b 1 d 2 c 1 a 2 + d 1 c 2 c 1 b 2 + d 1 d 2 ] AB=

    [a1b1c1d1]" role="presentation">[a1b1c1d1]
    [a2b2c2d2]" role="presentation">[a2b2c2d2]
    =
    [a1a2+b1c2a1b2+b1d2c1a2+d1c2c1b2+d1d2]" role="presentation">[a1a2+b1c2a1b2+b1d2c1a2+d1c2c1b2+d1d2]
    AB=[a1​c1​​b1​d1​​][a2​c2​​b2​d2​​]=[a1​a2​+b1​c2​c1​a2​+d1​c2​​a1​b2​+b1​d2​c1​b2​+d1​d2​​]

    注意:矩阵乘积的次序与复合变换相同,从右向左相继作用。

    由定义易知,对任意向量 v \mathbf v v 有
    ( A B ) v = A ( B v ) (AB)\mathbf v=A(B\mathbf v) (AB)v=A(Bv)

    矩阵的定义

    接下来,我们将矩阵的概念推广到高维空间。高维线性空间中的变换与二维空间中的变换类似。

    矩阵: m × n m\times n m×n 个数按一定次序排成的数表称为矩阵
    [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ]

    [a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]" role="presentation">[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]
    ​a11​a21​⋮am1​​a12​a22​⋮am2​​⋯⋯⋱⋯​a1n​a2n​⋮amn​​ ​
    常用大写英文字母表示矩阵,如 A A A或 A m × n A_{m× n} Am×n​。矩阵中的每个数 a i j a_{ij} aij​ 称为它的元素(entry),有时矩阵也记作 ( a i j ) (a_{ij}) (aij​) 或 ( a i j ) m × n (a_{ij})_{m× n} (aij​)m×n​ 。根据矩阵的元素所属的数域,可以将矩阵分为复矩阵和实矩阵。

    几种特殊的矩阵:

    1. 元素全为零的矩阵称为零矩阵(zero matrix),记作 O O O。
    2. 只有一行的矩阵称为行矩阵(row matrix)或行向量;只有一列的矩阵称为列矩阵(column matrix)或列向量。行(列)矩阵通常用小写黑体字母表示,如 a , x \mathbf a,\mathbf x a,x。
    3. 当行数和列数相等时的矩阵 A n × n A_{n\times n} An×n​ 称为** n n n 阶方阵**(n-order square matrix)。
    4. 不在主对角线上的元素全为零的方阵称为对角阵(diagonal matrix),记作 d i a g ( a 1 , a 2 , ⋯   , a n ) \mathrm{diag}(a_1,a_2,\cdots,a_n) diag(a1​,a2​,⋯,an​)
    5. 主对角线上的元素全为1的对角阵,称为单位阵(identity matrix)。记 n n n 阶单位阵记作 E n E_n En​或 I n I_n In​

    矩阵的线性运算:因为矩阵 A m × n A_{m\times n} Am×n​ 的各列是 m m m维向量,写作 A = [ a 1 a 2 ⋯ a n ] A=

    [a1a2⋯an]" role="presentation">[a1a2⋯an]
    A=[a1​​a2​​⋯​an​​] ,因此矩阵可看作向量集,向量的线性运算自然推广到矩阵。

    设矩阵 A = ( a i j ) A=(a_{ij}) A=(aij​) 与 B = ( b i j ) B=(b_{ij}) B=(bij​)

    1. 他们的对应元素完全相同 a i j = b i j a_{ij}=b_{ij} aij​=bij​,则称矩阵 A A A 与 B B B 相等,记作 A = B A=B A=B;
    2. 矩阵的加法定义为 A + B = ( a i j + b i j ) A+B=(a_{ij}+b_{ij}) A+B=(aij​+bij​)
    3. 矩阵的数乘定义为 k A = ( k a i j ) kA=(ka_{ij}) kA=(kaij​)

    {% label 性质 orange %}:线性运算满足以下性质

    1. 加法交换律: A + B = B + A A+B=B+A A+B=B+A
    2. 加法结合律: A + ( B + C ) = ( A + B ) + C A+(B+C)=(A+B)+C A+(B+C)=(A+B)+C
    3. 零矩阵: O + A = A O+A=A O+A=A
    4. 负矩阵: A + ( − A ) = O A+(-A)=O A+(−A)=O
    5. 数乘结合律: k ( l A ) = ( k l ) A k(lA)=(kl)A k(lA)=(kl)A
    6. 数乘分配律: k ( A + B ) = k A + k B k(A+B)=kA+kB k(A+B)=kA+kB
    7. 数乘分配律: ( k + l ) A = k A + l A (k+l)A=kA+lA (k+l)A=kA+lA
    8. 数乘单位元: 1 A = A 1A=A 1A=A

    矩阵向量的乘法: 矩阵与向量的乘法来源于线性变换,它有着直观的、深刻的几何背景。设 m × n m\times n m×n 维矩阵 A = ( a i j ) A=(a_{ij}) A=(aij​) 与 n n n维向量 v = ( x 1 , x 2 , ⋯   , x n ) T \mathbf v=(x_1,x_2,\cdots,x_n)^T v=(x1​,x2​,⋯,xn​)T 的乘积
    [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] [ x 1 x 2 ⋮ x n ] = x 1 [ a 11 a 21 ⋮ a m 1 ] + ⋯ + x n [ a 1 n a 2 n ⋮ a m n ] = [ ∑ j = 1 n a 1 j x j ∑ j = 1 n a 2 j x j ⋮ ∑ j = 1 n a m j x j ]

    [a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]" role="presentation">[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]
    [x1x2⋮xn]" role="presentation">[x1x2⋮xn]
    = x_1
    [a11a21⋮am1]" role="presentation">[a11a21⋮am1]
    +\cdots+ x_n
    [a1na2n⋮amn]" role="presentation">[a1na2n⋮amn]
    =
    [∑j=1na1jxj∑j=1na2jxj⋮∑j=1namjxj]" role="presentation">[∑j=1na1jxj∑j=1na2jxj⋮∑j=1namjxj]
    ​a11​a21​⋮am1​​a12​a22​⋮am2​​⋯⋯⋱⋯​a1n​a2n​⋮amn​​ ​ ​x1​x2​⋮xn​​ ​=x1​ ​a11​a21​⋮am1​​ ​+⋯+xn​ ​a1n​a2n​⋮amn​​ ​= ​∑j=1n​a1j​xj​∑j=1n​a2j​xj​⋮∑j=1n​amj​xj​​ ​
    一般地, m × n m\times n m×n 维的矩阵,表示将 n n n 维空间中的向量映射到 m m m 维空间中。矩阵的第 j j j列表示第 j j j 个基向量变换后的坐标。

    矩阵乘法:矩阵与矩阵乘法来源于复合线性变换。设矩阵 A = ( a i j ) m × n A=(a_{ij})_{m\times n} A=(aij​)m×n​与 B = ( b i j ) n × p B=(b_{ij})_{n\times p} B=(bij​)n×p​,向量 v = ( x 1 , x 2 , ⋯   , x p ) \mathbf v=(x_1,x_2,\cdots,x_p) v=(x1​,x2​,⋯,xp​) ,用 b 1 , b 2 , ⋯   , b p \mathbf b_1,\mathbf b_2,\cdots,\mathbf b_p b1​,b2​,⋯,bp​表示矩阵 B B B 的各列,则
    B v = x 1 b 1 + x 2 b 2 + ⋯ + x p b p B\mathbf v=x_1\mathbf b_1+x_2\mathbf b_2+\cdots+x_p\mathbf b_p Bv=x1​b1​+x2​b2​+⋯+xp​bp​
    由线性变换的性质
    A ( B v ) = A ( x 1 b 1 ) + A ( x 2 b 2 ) + ⋯ + A ( x p b p ) = x 1 A b 1 + x 2 A b 2 + ⋯ + x p A b p = [ A b 1 A b 2 ⋯ A b p ] v

    A(Bv)=A(x1b1)+A(x2b2)+⋯+A(xpbp)=x1Ab1+x2Ab2+⋯+xpAbp=[Ab1Ab2⋯Abp]v" role="presentation">A(Bv)=A(x1b1)+A(x2b2)+⋯+A(xpbp)=x1Ab1+x2Ab2+⋯+xpAbp=[Ab1Ab2⋯Abp]v
    A(Bv)​=A(x1​b1​)+A(x2​b2​)+⋯+A(xp​bp​)=x1​Ab1​+x2​Ab2​+⋯+xp​Abp​=[Ab1​​Ab2​​⋯​Abp​​]v​
    于是可定义矩阵的乘积 A B AB AB 为 m × p m\times p m×p 矩阵
    A B = A [ b 1 b 2 ⋯ b p ] = [ A b 1 A b 2 ⋯ A b p ] AB=A
    [b1b2⋯bp]" role="presentation">[b1b2⋯bp]
    =
    [Ab1Ab2⋯Abp]" role="presentation">[Ab1Ab2⋯Abp]
    AB=A[b1​​b2​​⋯​bp​​]=[Ab1​​Ab2​​⋯​Abp​​]

    矩阵 A A A的列数必须和 B B B 的行数相等,乘积才有意义 。之前定义的矩阵向量乘法是矩阵乘法的特例。通常,更方便的方法是用元素定义矩阵乘法。设乘积 A B = ( c i j ) m × p AB=(c_{ij})_{m× p} AB=(cij​)m×p​。则元素
    c i j = a i 1 b 1 j + a i 2 b 2 j + ⋯ + a i p b p j c_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}+\cdots+a_{ip}b_{pj} cij​=ai1​b1j​+ai2​b2j​+⋯+aip​bpj​
    {% label 性质 orange %}:矩阵乘法满足以下性质

    1. 矩阵乘法满足结合率: A ( B C ) = ( A B ) C A(BC)=(AB)C A(BC)=(AB)C
    2. 矩阵乘法满足左分配律: A ( B + C ) = A B + A C A(B+C)=AB+AC A(B+C)=AB+AC
    3. 矩阵乘法满足右分配律: ( B + C ) A = B A + C A (B+C)A=BA+CA (B+C)A=BA+CA
    4. 矩阵乘法满足数乘分配律: k ( A B ) = ( k A ) B = A ( k B ) k(AB)=(kA)B=A(kB) k(AB)=(kA)B=A(kB)
    5. 矩阵乘法单位元: I A = A I = A IA=AI=A IA=AI=A

    证明:(1) 可从矩阵乘法的定义证明满足结合率。从线性变换角度来看,对于复合变换 A ( B C ) A(BC) A(BC) 和 ( A B ) C (AB)C (AB)C 是同样的变换,且依次作用的顺序并不会发生改变,变换的最终结果自然不变。
    v → C C v → B B C v → A A B C v \mathbf v\xrightarrow{C}C\mathbf v\xrightarrow{B}BC\mathbf v\xrightarrow{A}ABC\mathbf v vC ​CvB ​BCvA ​ABCv

    注意:

    1. 矩阵乘法不满足交换率,即一般情况下 A B ≠ B A AB\neq BA AB=BA
    2. 矩阵乘法不满足消去率,即若 A B = A C AB=AC AB=AC,不能推出 B = C B=C B=C ;同样由 A B = O AB=O AB=O,不能推出 A = O A=O A=O 或 B = O B=O B=O。

    证明:(1) 一般地,复合变换 f ∘ g ≠ g ∘ f f\circ g\neq g\circ f f∘g=g∘f ,自然 A B ≠ B A AB\neq BA AB=BA,矩阵乘法不满足交换率。
    (2) 可举例证明矩阵乘法不满足消去率

    设矩阵
    A = [ 0 1 0 0 0 1 0 0 1 ] , B = [ 0 0 1 0 0 0 0 0 0 ] A=

    [010001001]" role="presentation">[010001001]
    ,\quad B=
    [001000000]" role="presentation">[001000000]
    A= ​000​100​011​ ​,B= ​000​000​100​ ​
    则有
    A B = [ 0 1 0 0 0 1 0 0 1 ] [ 0 0 1 0 0 0 0 0 0 ] = [ 0 0 0 0 0 0 0 0 0 ] = O B A = [ 0 0 1 0 0 0 0 0 0 ] [ 0 1 0 0 0 1 0 0 1 ] = [ 0 0 1 0 0 0 0 0 0 ] ≠ O AB=
    [010001001]" role="presentation">[010001001]
    [001000000]" role="presentation">[001000000]
    =
    [000000000]" role="presentation">[000000000]
    =O \\ BA=
    [001000000]" role="presentation">[001000000]
    [010001001]" role="presentation">[010001001]
    =
    [001000000]" role="presentation">[001000000]
    \neq O
    AB= ​000​100​011​ ​ ​000​000​100​ ​= ​000​000​000​ ​=OBA= ​000​000​100​ ​ ​000​100​011​ ​= ​000​000​100​ ​=O

    列空间与基

    定义:为方便使用,先介绍几个简单的定义

    1. 线性变换是一种映射,称变换后的向量 T ( v ) T(\mathbf v) T(v) 为向量 v \mathbf v v 在映射 T T T 下的像,而称 v \mathbf v v 为 T ( v ) T(\mathbf v) T(v) 在映射 T T T 下的原像。
    2. 线性变换 T T T 的像集 T ( V ) T(V) T(V)是一个线性空间,称为线性变换 T T T 的值域,记作
      range ( T ) = { T ( v ) ∣ v ∈ V } \text{range}(T)=\{T(\mathbf v)\mid\mathbf v\in V\} range(T)={T(v)∣v∈V}
    3. 在前面几节的分析中,我们始终将矩阵的列看成是向量。而这些列向量所张成的空间,称为列空间,若 A = ( a 1 , a 2 , ⋯   , a n ) A=(\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n) A=(a1​,a2​,⋯,an​)
      col  A = span { a 1 , a 2 , ⋯   , a n } \text{col }A=\text{span}\{\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n\} col A=span{a1​,a2​,⋯,an​}

    我们已经知道,变换后的向量 A v A\mathbf v Av 是变换后的基向量以同样的系数线性组合,而矩阵的列就是基向量变换之后的位置。因此,矩阵 A A A 线性变换后的空间即是矩阵 A A A 的列空间
    col  A = range  A = { A v ∣ v ∈ V } \text{col }A=\text{range }A=\{A\mathbf v\mid\mathbf v\in V\} col A=range A={Av∣v∈V}
    定理:矩阵 A A A 的主元列构成 col  A \text{col }A col A 的一组基。

    下面两个例子给出对列空间求基的简单算法。

    例1:求 Col  B \text{Col }B Col B 的一组基,其中
    B = ( b 1 , b 2 , ⋯   , b n ) = [ 1 4 0 2 0 0 0 1 − 1 0 0 0 0 0 1 0 0 0 0 0 ] B=(\mathbf b_1,\mathbf b_2,\cdots,\mathbf b_n)=

    [14020001−100000100000]" role="presentation">[14020001−100000100000]
    B=(b1​,b2​,⋯,bn​)= ​1000​4000​0100​2−100​0010​ ​
    事实上, B B B 的每个非主元列都是主元列的线性组合 b 2 = 4 b 1 , b 4 = 2 b 1 − b 3 \mathbf b_2=4\mathbf b_1,\mathbf b_4=2\mathbf b_1-\mathbf b_3 b2​=4b1​,b4​=2b1​−b3​ 且主元列时线性无关的,所以主元列构成列空间的一组基 col  B = span  { b 1 , b 3 , b 5 } \text{col }B=\text{span }\{\mathbf b_1,\mathbf b_3,\mathbf b_5\} col B=span {b1​,b3​,b5​} 。

    当矩阵不是阶梯型矩阵时,回顾矩阵 A = ( a 1 , a 2 , ⋯   , a n ) A=(\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n) A=(a1​,a2​,⋯,an​) 中列向量间的线性关系都可以用方程 A x = 0 A\mathbf x=0 Ax=0 的形式刻画。当 A A A 被行简化为阶梯型矩阵 B = ( b 1 , b 2 , ⋯   , b n ) B=(\mathbf b_1,\mathbf b_2,\cdots,\mathbf b_n) B=(b1​,b2​,⋯,bn​) 时,即存在可逆矩阵 P P P 使 B = P A B=PA B=PA 。若 B B B 的列向量线性相关,即存在系数 x \mathbf x x 使得 B x = 0 B\mathbf x=0 Bx=0 ,即
    x 1 b 1 + x 2 b 2 + ⋯ + x n b n = 0 x_1\mathbf b_1+x_2\mathbf b_2+\cdots+x_n\mathbf b_n=0 x1​b1​+x2​b2​+⋯+xn​bn​=0
    同样的系数 x \mathbf x x 也适用于矩阵 A A A 的列向量, A x = P − 1 B x = 0 A\mathbf x=P^{-1}B\mathbf x=0 Ax=P−1Bx=0,即
    x 1 a 1 + x 2 a 2 + ⋯ + x n a n = 0 x_1\mathbf a_1+x_2\mathbf a_2+\cdots+x_n\mathbf a_n=0 x1​a1​+x2​a2​+⋯+xn​an​=0
    综上,即矩阵 A A A的列与阶梯型矩阵 B B B 的列具有完全相同的线性相关关系。

    例2:
    A = ( a 1 , a 2 , ⋯   , a n ) = [ 1 4 0 2 − 1 3 12 1 5 5 2 8 1 3 2 5 20 2 8 8 ] A=(\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n)=

    [1402−131215528132520288]" role="presentation">[1402−131215528132520288]
    A=(a1​,a2​,⋯,an​)= ​1325​412820​0112​2538​−1528​ ​
    已知矩阵 A A A 行等价于上例中的矩阵 B B B ,求 Col  A \text{Col }A Col A 的一组基。

    由于上例中 b 2 = 4 b 1 , b 4 = 2 b 1 − b 3 \mathbf b_2=4\mathbf b_1,\mathbf b_4=2\mathbf b_1-\mathbf b_3 b2​=4b1​,b4​=2b1​−b3​ ,相关关系完全适用于矩阵 A A A 的列向量 a 2 = 4 a 1 , a 4 = 2 a 1 − a 3 \mathbf a_2=4\mathbf a_1,\mathbf a_4=2\mathbf a_1-\mathbf a_3 a2​=4a1​,a4​=2a1​−a3​ 。于是线性无关集 a 1 , a 3 , a 5 \mathbf a_1,\mathbf a_3,\mathbf a_5 a1​,a3​,a5​ 是 Col  A \text{Col }A Col A 的一组基 col  A = span  { a 1 , a 3 , a 5 } \text{col }A=\text{span }\{\mathbf a_1,\mathbf a_3,\mathbf a_5\} col A=span {a1​,a3​,a5​}。

    注意:阶梯形矩阵的主元列通常不在原矩阵的列空间中。

    矩阵的秩

    矩阵的秩就是列空间的维度,记作 rank  A = dim ⁡ ( col  A ) \text{rank }A=\dim(\text{col }A) rank A=dim(col A)。

    前面介绍的都是方阵,表示向量空间到自身的映射。下面简单说下非方阵的映射关系。

    一般地, m × n m\times n m×n 维的矩阵,表示将 n n n 维空间中的向量映射到 m m m 维空间中。矩阵的第 j j j列表示第 j j j 个基向量变换后的坐标。例如:

    3 × 2 3\times 2 3×2 维矩阵是把二维空间映射到三维空间上,因为矩阵有两列,说明输入空间有两个基向量,三行表示每一个基向量在变换后用三个独立的坐标来描述。
    [ 1 − 1 3 2 0 3 ] [ x y ] = [ 1 3 0 ] x + [ − 1 2 3 ] y

    [1−13203]" role="presentation">[1−13203]
    [xy]" role="presentation">[xy]
    =
    [130]" role="presentation">[130]
    x+
    [−123]" role="presentation">[−123]
    y ​130​−123​ ​[xy​]= ​130​ ​x+ ​−123​ ​y

    在这里插入图片描述

    2 × 3 2\times 3 2×3 维矩阵是把三维空间映射到二维空间上,因为矩阵有三列,说明输入空间有三个基向量,二行表示每一个基向量在变换后用二个独立的坐标来描述。
    [ 2 2 1 1 0 − 1 ] [ x y z ] = [ 2 1 ] x + [ 2 0 ] y + [ 1 − 1 ] z

    [22110−1]" role="presentation">[22110−1]
    [xyz]" role="presentation">[xyz]
    =
    [21]" role="presentation">[21]
    x+
    [20]" role="presentation">[20]
    y+
    [1−1]" role="presentation">[1−1]
    z [21​20​1−1​] ​xyz​ ​=[21​]x+[20​]y+[1−1​]z

    在这里插入图片描述

    若矩阵的秩等于列数,则称为满秩矩阵(full rank matrix),零向量一定在列空间内,满秩变换中,唯一能落在原点的就是零向量自身。满秩矩阵的列即为列空间的基。

    对于非满秩矩阵,意味着该线性变换会将空间压缩到一个更低维的空间,通俗来讲,就是会有一系列直线上不同方向的向量压缩为原点。

    由此可得,秩可以用来描述线性变换对空间的压缩程度。

    逆变换与逆矩阵

    我们已经知道了矩阵与线性变换中的对应关系,试想一下,将变换后的向量还原到初始状态。

    在这里插入图片描述

    逆矩阵:对于 n n n 阶方阵 A A A ,如果存在 n n n 阶方阵 B B B ,使得
    A B = B A = I AB=BA=I AB=BA=I
    则称矩阵 A A A 可逆(invertible), B B B 是 A A A 的逆矩阵。实际上, A A A 的逆矩阵是唯一的,记为 A − 1 A^{-1} A−1。因为,若 B , C B,C B,C 都是 A A A 的逆矩阵,则

    B = ( C A ) B = C ( A B ) = C B=(CA)B=C(AB)=C B=(CA)B=C(AB)=C

    不可逆矩阵有时称为奇异矩阵,而可逆矩阵也称为非奇异矩阵。

    {% label 性质 orange %}:逆矩阵满足下列性质

    1. ( A − 1 ) − 1 = A (A^{-1})^{-1}=A (A−1)−1=A
    2. ( k A ) − 1 = 1 k A − 1 , ( k ≠ 0 ) (kA)^{-1}=\dfrac{1}{k}A^{-1},\quad(k\neq0) (kA)−1=k1​A−1,(k=0)
    3. ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}=B^{-1}A^{-1} (AB)−1=B−1A−1
    4. ( A T ) − 1 = ( A − 1 ) T (A^T)^{-1}=(A^{-1})^T (AT)−1=(A−1)T

    证明:(性质3)若方阵 A , B A,B A,B 都可逆,则有
    ( A B ) ( B − 1 A − 1 ) = ( B − 1 A − 1 ) ( A B ) = I (AB)(B^{-1}A^{-1})=(B^{-1}A^{-1})(AB)=I (AB)(B−1A−1)=(B−1A−1)(AB)=I
    因此 ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}=B^{-1}A^{-1} (AB)−1=B−1A−1 。

    从变换的角度考虑,复合变换的逆 ( f ∘ g ) − 1 = g − 1 ∘ f − 1 (f\circ g)^{-1}=g^{-1}\circ f^{-1} (f∘g)−1=g−1∘f−1 ,很容易理解。

    在这里插入图片描述

    (性质4)
    I = ( A A − 1 ) T = ( A − 1 ) T A T , I = ( A − 1 A ) T = A T ( A − 1 ) T I=(AA^{-1})^T=(A^{-1})^TA^T,\quad I=(A^{-1}A)^T=A^T(A^{-1})^T I=(AA−1)T=(A−1)TAT,I=(A−1A)T=AT(A−1)T
    因此 ( A T ) − 1 = ( A − 1 ) T (A^T)^{-1}=(A^{-1})^T (AT)−1=(A−1)T 。

  • 相关阅读:
    高教社杯数模竞赛特辑论文篇-2018年A题:高温作业专用服装设计(附获奖论文及MATLBA代码)(续)
    从零开始学习:如何使用Selenium和Python进行自动化测试?
    设计模式之迭代器模式
    git命令合并某一个分支的某个commit到目标分支
    P3384 【模板】轻重链剖分/树链剖分
    STM32CubeMX ADC参数配置页中文注解
    数据可视化:让数据讲述故事
    力扣刷题之2970.统计移除递增子数组的数目I
    事件循环
    vue-pdf结合alloyfinger手势缩放旋转上下翻页pdf文件
  • 原文地址:https://blog.csdn.net/qq_41518277/article/details/132797962