L31-线性变换及对应矩阵

linear-algebra

L31-线性变换及对应矩阵

参考

线性变换的定义

线性变换 linear Transformation 操作记作 TT,它需要满足以下两个公式

  • T(v+w)=T(v)+T(w)T(v+w)=T(v)+T(w)
  • T(cv)=cT(v)T(cv)=cT(v)

其中 vv 为输入值,经过线性变换 TT 的转换,得到输出值 ww(可以将 vvww 看作自变量和因变量,则 TT 就是函数)

提示

可以将线性变换理解为对于 相加(公式一)数乘(公式二) 的操作运算是「闭合/封闭」的

将以上定义中的两个公式整合为一个公式 T(cv+dw)=cT(v)+dT(w)T(cv+dw)=cT(v)+dT(w),其中 ccdd 是标量,表示 scalar 变量的缩放系数

线性变换的零点

对于任何线性变换,如果它们的输入值可以为 00,则经过线性转换后其结果必然为 00

因为线性变换需要满足公式 T(c0)=cT(0)T(c0)=cT(0) 解得 T(0)=0T(0)=0

示例与反例

  • 示例 1:投影操作是一种线性变换,例如将 R2\mathbb{R}^{2} 平面内的一个向量变成/映射为另一个向量(总是在一条直线 ll 上) T:R2R2T: \mathbb{R}^{2}\longrightarrow \mathbb{R}^{2} 其中 TT 是映射规则,即每一个向量 vv 投影结果为 T(v)T(v)(在直线 ll 上)
  • 反例 1:向量与一个固定大小的向量 v0v_{0} 相加的变换 T(v)=v+v0T(v)=v+v_{0},则不是一种线性变换,由于不一定满足线性变换定义中的第二个等式,即 T(2v)=2v+v02T(v)T(2v)=2v+v_{0} \ne 2T(v)
  • 反例 2:求向量长度的操作并不是一种线性变换,T(v)=vT(v)=\|v\| 例如向量 vvR3\mathbb{R}^{3} 空间中,则该变换可以实现向量从三维空间 R3\mathbb{R}^{3} 到一维 R\mathbb{R} 空间的映射。虽然满足 T(0)=0T(0)=0,但是对于数乘,如果系数 cc 为负数,则不满足公式 T(cv)=cT(v)T(cv)=cT(v)
  • 示例 2:旋转 4545^\circ 的操作是一个线性变换,例如将 R2\mathbb{R}^{2} 平面内的向量 vv 旋转 4545^\circ 得到的结果向量是 T(v)T(v),线性变换实现了一种映射 T:R2R2T: \mathbb{R}^{2} \longrightarrow \mathbb{R}^{2}
几何角度

以上示例和反例对于变换的描述都不依赖坐标系,只是从几何角度来研究线性变换,这样可以从整体来看待线性变换,而不是聚焦于其中一个坐标点,更容易理解线性变换的作用

用矩阵描述线性变换

如果引入坐标系来描述 linear transformation 线性变换,则每个线性变换都可以生成/对应到一个矩阵,相应地每一种线性变换都是对一个矩阵乘法运算 T(v)=AvT(v)=Av 的一种抽象描述

当向量 vv 右乘该矩阵时,矩阵的作用可以理解为对该向量进行变换,得到的结果 AvAv 就是线性变换的结果 T(v)T(v)

根据线性变换的定义,该矩阵需要满足以下的两个公式

  • A(v+w)=A(v)+A(w)A(v+w)=A(v)+A(w)
  • A(cv)=cA(v)A(cv)=cA(v)

示例

  • 示例 1:矩阵 A=[1001]A=\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} 所描述的一种线性变换是关于 xx 轴对称,因为将一个在 R2\mathbb{R}^{2} 空间的向量 v=[xy]v=\begin{bmatrix} x \\ y \end{bmatrix} 与矩阵(右乘)相乘时,所得到的结果向量为 Av=[1001][xy]=[xy]Av=\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}\begin{bmatrix} x \\ y \end{bmatrix}=\begin{bmatrix} x \\ -y \end{bmatrix} 它的横坐标值保持不变,纵坐标值与原向量相反,则线性变换 vAvv \longmapsto Av 表示 xyxy 平面关于 xx 轴的对称操作(从几何角度来理解该线性变换/矩阵的作用/效果)
  • 示例 2:假设 TT 表示一种线性变换 T:R3R2T: \mathbb{R}^{3} \longrightarrow \mathbb{R}^{2} 可以实现将输入的三维空间的向量,转换输出为二维空间的向量。如果用矩阵 AA 来表示这种线性变换 T(v)=AvT(v)=Av,根据矩阵的乘法法则,可得矩阵的形状为 A2×3A_{2 \times 3}

构建矩阵

补充知识

对于输入空间(输入向量所在的空间)的一组基向量 v1,v2,vnv_{1}, v_{2}, \dots v_{n},若已知它们线性变换后的对应结果 T(v1),T(v2),T(vn)T(v_{1}), T(v_{2}), \dots T(v_{n})

则可以计算出该输入空间中的任何一个向量 vv 的线性变换结果 T(v)T(v)

证明

因为向量 vv 可以用这一组基向量来表示 v=cv1++cnvnv=cv_{1}+ \dots +c_{n}v_{n},则该向量线性变换的结果可以拆解为 T(v)=T(cv1++cnvn)T(v)=T(cv_{1}+ \dots +c_{n}v_{n}) 根据线性变换的定理(所满足的公式)可得

T(v)=T(cv1++cnvn)=c1T(v1)++cnT(vn)\begin{aligned} T(v)&=T(cv_{1}+ \dots +c_{n}v_{n}) \\ &=c_{1}T(v_{1})+ \dots + c_{n}T(v_{n}) \\ \end{aligned}

由于已知各个基向量对应的线性变换结果 T(v1)T(vn)T(v_{1}) \dots T(v_{n}),所以可以求得 T(v)T(v),即任意向量 vv 线性变换的结果

也就是说如果要描述一个线性变换 T:RnRmT: \mathbb{R}^{n} \longrightarrow \mathbb{R}^{m}(它将任意 的 nn 维向量映射为 mm 维向量),只需要知道 Rn\mathbb{R}^{n} 空间的一组基向量,以及它们对应的变换结果即可。然后在 Rn\mathbb{R}^{n} 中的任意一个向量 vv 的线性变换结果 T(v)T(v),可以通过这些信息计算出来

在前面的「补充知识」分析中,可以使用一组基向量及其相应的变换结果来描述 linear transformation 线性变换,它不基于坐标系,但只需要将表达形式稍作调整,就可以得到基于坐标系的方式,即采用一个矩阵 AA 来描述线性变换

坐标系

其实向量 vv 的坐标形式是源自一组基向量的。

例如对于任意向量 vv 如果采用一组基向量 v1vnv_{1} \dots v_{n} 来表示为 v=c1v1++cnvnv=c_{1}v_{1}+ \dots + c_{n}v_{n} 那么各个基向量的系数就构成了该向量的坐标 v=[c1cn]v=\begin{bmatrix} c_{1} \\ \vdots \\ c_{n} \end{bmatrix},即向量的坐标值反映的是一组基向量的线性组合

坐标系一般建立在标准基之上,即采用相互正交、模长为 11 的向量作为基向量,例如向量 v=[324]v=\begin{bmatrix} 3 \\ 2 \\ 4 \end{bmatrix} 是由以下一系列基向量构成的

v=3[100]+2[010]+4[001]v=3 \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} +2 \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} +4 \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}

使用一个矩阵 AA 表示/描述一种线性变换 T:RnRmT: \mathbb{R}^{n} \longrightarrow \mathbb{R}^{m} 需要执行以下步骤:

  • 首先需要引入坐标系(即将向量表示为坐标值形式)
    根据以上「坐标系」的介绍,需要分别为空间 Rn\mathbb{R}^{n} 和空间 Rm\mathbb{R}^{m} 选取一组基向量,以表示空间中的任意向量
    • Rn\mathbb{R}^{n} 空间中的一组基向量为 v1vnv_{1} \dots v_{n}
    • Rm\mathbb{R}^{m} 空间中的一组基向量为 w1wmw_{1} \dots w_{m}

    则这两个空间中的任意向量的坐标值形式为
    • Rn\mathbb{R}^{n} 空间中的任意向量 v=c1v1++cnvnv=[c1cn]v=c_{1}v_{1}+\dots+c_{n}v_{n} \Leftrightarrow v=\begin{bmatrix} c_{1} \\ \vdots \\ c_{n} \end{bmatrix}
    • Rm\mathbb{R}^{m} 空间中的任意向量 w=d1w1++dmwmw=[d1dm]w=d_{1}w_{1}+\dots+d_{m}w_{m} \Leftrightarrow w=\begin{bmatrix} d_{1} \\ \vdots \\ d_{m} \end{bmatrix}
  • 构建出表示线性变换的矩阵
    由于线性变换的作用是将原向量 vv 映射到 Rm\mathbb{R}^{m} 空间中,那么所得的结果向量 T(v)T(v) 可以使用 Rm\mathbb{R}^{m} 空间中的一组基向量 w1wmw_{1} \dots w_{m} 来表示,例如对于第一个基向量 v1v_{1} 进行线性变换,可以将结果向量表示为 T(v1)=a11w1+a21w2++a1mwmT(v_{1})=a_{11}w_{1}+a_{21}w_{2}+ \dots + a_{1m}w_{m}
    根据前面「补充知识」里的分析,为了描述一个线性变换,需要确定一组基向量,并知道它们相应的变换结果,所以还需要计算 Rn\mathbb{R}^{n} 空间中的一组基向量为 v1vnv_{1} \dots v_{n} 的线性变换结果(用 Rm\mathbb{R}^{m} 空间中的一组基向量表示){T(v1)=a11w1+a21w2++am1wmT(v2)=a12w1+a22w2++am2wmT(vi)=a1iw1+a2iw2++amiwmT(vn)=a1nw1+a2nw2++amnwm\begin{aligned} \left\{\begin{matrix} T(v_{1})={\color{Blue}a_{11} }w_{1}+{\color{Blue}a_{21} }w_{2}+ \dots + {\color{Blue}a_{m1} }w_{m} \\ T(v_{2})={\color{Green}a_{12} }w_{1}+{\color{Green}a_{22} }w_{2}+ \dots + {\color{Green}a_{m2} }w_{m} \\ \vdots \\ T(v_{i})={\color{Red}a_{1i} }w_{1}+{\color{Red}a_{2i} }w_{2}+ \dots + {\color{Red}a_{mi} }w_{m} \\ \vdots \\ T(v_{n})=a_{1n}w_{1}+a_{2n}w_{2}+ \dots + a_{mn}w_{m} \\ \end{matrix}\right. \end{aligned}
    类比向量「坐标化」的方法,提取各个基向量的系数构成了矩阵 AA 中各个元素的值,其规则是
    • 第一个基向量 v1v_{1} 线性变换所得的结果表达式中的系数作为矩阵 AA第一列[a11a21am1]\begin{bmatrix} {\color{Blue}a_{11} } \\ {\color{Blue}a_{21} } \\ {\color{Blue}\vdots } \\ {\color{Blue}a_{m1} } \end{bmatrix}
    • 第二个基向量 v1v_{1} 线性变换所得的结果表达式中的系数作为矩阵 AA第一列 [a12a22am2] \begin{bmatrix} {\color{Green}a_{12} } \\ {\color{Green}a_{22} } \\ {\color{Green}\vdots } \\ {\color{Green}a_{m2} } \end{bmatrix}
    • 依此类推
    A=[a11a12a1ia1na21a22a2ia2nam1am2amiamn]A= \begin{bmatrix} {\color{Blue}a_{11} } & {\color{Green}a_{12} } & \dots & {\color{Red}a_{1i} } & \dots & a_{1n} \\ {\color{Blue}a_{21} } & {\color{Green}a_{22} } & \dots & {\color{Red}a_{2i} } & \dots & a_{2n} \\ {\color{Blue}\vdots } & {\color{Green}\vdots } & \vdots & {\color{Red}\vdots } & \vdots & \vdots \\ {\color{Blue}a_{m1} } & {\color{Green}a_{m2} } & \dots & {\color{Red}a_{mi} } & \dots & a_{mn} \end{bmatrix}
证明

假设向量空间采用标准正交向量作为基向量,即 vi=[010]v_{i}=\begin{bmatrix} 0 \\ \vdots \\ 1 \\ \vdots \\ 0 \end{bmatrix}(除了第 ii 个元素为 11,其他元素都是 00

则基向量与矩阵 AA 相乘可得

Avi=[a11a12a1ia1na21a22a2ia2nam1am2amiamn][0010]=[a1ia2iami]\begin{aligned} Av_{i} &= \begin{bmatrix} a_{11} & a_{12} & \dots & a_{1i} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2i} & \dots & a_{2n} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{m1} & a_{m2} & \dots & a_{mi} & \dots & a_{mn} \end{bmatrix} \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 1 \\ \vdots \\ 0 \end{bmatrix} \\ &=\begin{bmatrix} a_{1i} \\ a_{2i} \\ \vdots \\ a_{mi} \end{bmatrix} \\ \end{aligned}

将结果向量的「坐标值」形式转换为「基向量」形式,即 Avi=[a1ia2iami]a1iw1+a2iw2++amiwm=T(vi)Av_{i}=\begin{bmatrix} a_{1i} \\ a_{2i} \\ \vdots \\ a_{mi} \end{bmatrix} \Longleftrightarrow a_{1i}w_{1}+a_{2i}w_{2}+ \dots + a_{mi}w_{m}=T(v_{i})

所以对于 Rn\mathbb{R}^{n} 空间中的这一组基向量 viv_{i},该矩阵满足 T(vi)=AviT(v_{i})=Av_{i}

那么对于 Rn\mathbb{R}^{n} 空间中的任意向量 vv,满足 T(v)=AvT(v)=Av可以使用该矩阵 AA 来表示线性变换操作

提示

对于 Rn\mathbb{R}^{n} 空间中的任意向量 vv 使用一组基向量来表示 v=v1+v2++vnv=v_{1}+v_{2}+\dots+v_{n}

则它的线性变换结果 T(v)T(v) 可以拆分为 T(v)=T(c1v1+c2v2++cnvn)T(v)=T(c_{1}v_{1}+c_{2}v_{2}+\dots+c_{n}v_{n})

根据线性变换的规则,可以将前面的公式化简为 T(v)=c1T(v1)+c2T(c2)++cnT(vn)T(v)=c_{1}T(v_{1})+c_{2}T(c_{2})+\dots+c_{n}T(v_{n}) 再将 T(vi)=AviT(v_{i})=Av_{i} 代入可得 T(v)=c1Av1+c2Av2++cnAvnT(v)=c_{1}Av_{1}+c_{2}Av_{2}+\dots+c_{n}Av_{n}

将上述的公式化简可得 T(v)=A(c1v1+c2v2++cnvn)=AvT(v)=A(c_{1}v_{1}+c_{2}v_{2}+\dots+c_{n}v_{n})=Av可以使用该矩阵 AA 来表示 Rn\mathbb{R}^{n} 空间中的任意向量 vv 的线性变换操作

投影矩阵

投影矩阵对应于一种线性变换操作,例如对于 R2\mathbb{R}^{2} 空间中的投影矩阵,其作用是将平面的任意向量投影到一条直线上

为了简化运算,所选取沿投影直线 ll 方向的单位向量 v1v_{1},以及垂直于直线 ll 方向的单位向量 v2v_{2} 作为一组基向量。由于投影后的向量在同一个平面里,所以可以采用相同的一组基向量来描述结果空间,即 w1=v1,w2=v2w_{1}=v_{1}, w_{2}=v_{2}(实际上在直线上的向量只需要一个基向量 w1w_{1} 就可以表示),这一组基向量满足投影后保持不变

{T(v1)=v1=1×w1+0×w2T(v2)=v2=0×w1+0×w2\begin{aligned} \left\{\begin{matrix} T(v_{1})=v_{1}=1 \times w_{1}+0 \times w_{2} \\ T(v_{2})=v_{2}=0 \times w_{1}+0 \times w_{2} \end{matrix}\right. \end{aligned}
说明

可以从几何角度知道在直线上的基向量 v1v_{1} 的投影结果与自身相同,即 T(v1)=v1T(v_{1})=v_{1};而垂直于直线的基向量 v2v_{2} 其投影结果为 00

根据以上等式,提取各个基向量的系数,可以构建出矩阵 A=[1000]A=\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}

所得到的矩阵正好是一个对角矩阵 Λ\Lambda。如果所选取的一组基向量正好是该矩阵的特征向量,则线性变换所对应的矩阵是对角矩阵,其对角线上的元素就是特征值( ❓ 先有鸡还是先有蛋的问题)

提示

也可以从矩阵乘法的角度来考虑

对于平面中的任意向量 vv 用这一组基向量可表示为 v=c1v1+c2v2v=c_{1}v_{1}+c_{2}v_{2}

那么该向量的投影结果为 T(v)T(v) 可以拆分为 T(v)=T(c1v1+c2v2)=c1T(v1)+c2T(v2)T(v)=T(c_{1}v_{1}+c_{2}v_{2})=c_{1}T(v_{1})+c_{2}T(v_{2})

由于 T(v1)=v1,T(v2)=v2=0T(v_{1})=v_{1}, T(v_{2})=v_{2}=0 所以向量 vv 的投影结果为 T(v)=c1v1+0×v2=c1w1+0×w2T(v)=c_{1}v_{1}+0 \times v_{2}=c_{1}w_{1}+0 \times w_{2}

将以上的向量写成「坐标值」形式,v=[c1c2],w=[c10]v=\begin{bmatrix} c_{1} \\ c_{2} \end{bmatrix}, w=\begin{bmatrix} c_{1} \\ 0 \end{bmatrix}

则投影矩阵就是 A=[1000]A=\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} 使得线性变换操作 Av=wAv=w 成立

基向量的选择

由于向量的坐标值形式对应于一组基向量的线性组合,所以向量的坐标值与所在空间所选取的基向量相关,选择不同的一组基向量,向量所得到的坐标值形式也会变化

一般默认选择一组标准正交基作为基向量,例如对于 R2\mathbb{R}^{2} 平面,通常选择横轴 ox\overrightarrow{ox} 和纵轴 oy\overrightarrow{oy} 方向的向量作为基向量

但有时候选取其他合适的一组基向量可以简化运算,所以不是所有场景都适合选择标准正交基作为基向量

例如对于以上投影矩阵的例子,如果选取标准正交向量作为基向量 v1=[10]=w1,v2=[01]=w2v_{1}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}=w_{1}, v_{2}=\begin{bmatrix} 0 \\ 1 \end{bmatrix}=w_{2} 如果投影到与横轴夹角是 4545^\circ 的直线上,则投影矩阵就比较复杂了(根据之前课程的投影矩阵的公式可以求得)P=aaTaTa=[1/21/21/21/2](不再是对角矩阵,由于所选择的基向量不是该矩阵的特征向量)P=\cfrac{aa^{T}}{a^{T}a}=\begin{bmatrix} 1/2 & 1/2 \\ 1/2 & 1/2 \end{bmatrix}(不再是对角矩阵,由于所选择的基向量不是该矩阵的特征向量)

求导

求导也是一种线性变换 T=ddxT=\frac{\mathrm{d}}{\mathrm{d} x}

例如对二次幂多项式进行求导操作 T(c1+c2x+c3x2)=c2+2c3xT(c_{1}+c_{2}x+c_{3}x^{2})=c_{2}+2c_{3}x 输入空间是所有可能的二次幂多项式组合,可以选择 v1=1,v2=x,v3=x2v_{1}=1, v_{2}=x, v_{3}=x^{2} 作为一组基;输出空间则是所有可能的一次幂多项式组合,可以选择 w1=1,w2=xw_{1}=1, w_{2}=x 作为该空间的一组基

那么多项式就可以表示为一个向量,二次幂多项式求导操作可以用以下公式表示

T([c1c2c3])=A[c1c2c3]=[c22c3]T(\begin{bmatrix} c_{1} \\ c_{2} \\ c_{3} \end{bmatrix})= A\begin{bmatrix} c_{1} \\ c_{2} \\ c_{3} \end{bmatrix}= \begin{bmatrix} c_{2} \\ 2c_{3} \end{bmatrix}

根据上式以及矩阵的乘法法则,可以求出矩阵 A=[010002]A=\begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 2 \end{bmatrix}

在课堂的最后还提到两个定理

如果线性变换是存在「可逆操作」的,则表示该线性变换的矩阵就是可逆的(具有逆矩阵

两个线性变换的乘积,可以对应于两个矩阵的乘积


Copyright © 2024 Ben

Theme BlogiNote

Icons from Icônes