线性变换
参考教程 麻省理工公开课 线性代数open in new window P31~P33
线性变换的定义
基本定义
对于 x∈Rn 与 y∈Rm 之间存在映射关系 y=T(x)
当这种映射关系满足线性条件
{T(x1+x2)=T(x1)+T(x2)T(cx)=cT(x)
则称映射 T(x) 为线性变换
线性变换的判定
根据线性条件, 可得必然有 T(0)=0, 判断一个映射是否为线性变换时, 可先使用 0 检验
之后再通过线性条件进一步检验
以下变换为典型的线性变换
- 将向量 x 投影到 v0 方向上
- 将向量 x 绕原点旋转特定角度 θ
- 将向量 x 以 x 轴为对称轴对称
以下变换则不属于线性变换
- 将向量 x 平移 v0
- 取向量的绝对值
线性变换的特性
现有空间 Rn 的一组基 v1,v2,…,vn
根据线性条件可得, 即使线性变换 T(x) 的具体形式未知, 但只要确定这组基中所有向量的映射结果 T(vi)=ui
就可以确定任意向量 x∈Rn 的映射结果
证明如下
对于基底 vi 与任意向量 x 总能找到一组分量满足 x=∑i=1ncivi
根据线性条件有
T(x)=i=1∑nciT(vi)
矩阵与线性变换
坐标系与向量
对于 Rn 空间中的一个向量 x, 为了描述这个向量的具体形状, 需要引入一组基底 {vi}=v1,v2,…,vn
对于该基底必定存在一个线性组合从而得到向量 x, 有
x=i=1∑ncivi
在上述线性组合中, 系数 ci 便是向量 x 以 {vi} 为基底时的坐标
此时, 可将向量 x 表示为 c=[c1c2…cn]T
其中向量 x 与 c 表示的时同一个向量, 其区别仅是 x 中的元素反映的是 x 在标准基上的坐标, 而 c 中的元素反应的是 x 在新的基底 {vi} 上的坐标, 但二者表示的是同一个向量
采用以沿坐标轴的单位向量如 v1=[10…0]T,… 为基底 (该基底也称为标准基)
而 c 则采用了新的基底 {vi}, 二者的坐标值不同, 但表示的向量相同
使用矩阵表示线性变换
现有 Rn 中的一组基底 {vi}=v1,v2,…,vn, 以及 Rm 中的一组基底 {ui}=u1,u2,…,um
对于由 Rn 映射到 Rm 的任意线性变换 T(x)=y, 均可表示为
Ax=y
注意在运算中, 向量 x 与 y 分别为其在基底 {vi} 与 {ui} 中的坐标
因此由线性变换的特性可得, 矩阵 A 中的元素满足
T(vi)=j=1∑mAjiuj
矩阵 A 的各列对应了 vi 线性变换的结果在基底 {ui} 中的坐标
矩阵表示示例
现有线性变换 T 将 R2 中的向量 x 投影到 (1,1) 方向的直线上
在此投影中, 映射前后的向量均在 R2 中
变换前后均使用基底 v1=u1=[11]T,v2=u2=[1−1]T 时, 求投影矩阵
由于 v1 与投影方向平行, v2 与投影方向垂直, 因此有
T(v1)=u1,T(v2)=0
因此有投影矩阵 A=[1000]
变换前后均使用基底 v1=u1=[10]T,v2=u2=[01]T 时, 求投影矩阵
根据几何关系可得, 两个向量有投影
T(v1)=21u1+21u2,T(v2)=21u1+21u2
因此有投影矩阵 B=[1/21/21/21/2]
注意到
- 矩阵 B 的实质即投影到向量 a=[11]T 的投影矩阵 B=aTaaaT
- 矩阵 A 的实质即矩阵 B 对角化后的对角矩阵 Λ, 且选择的基底坐标 v1,v2 即矩阵 A 的特征值
求导与线性变换
将特定几个函数作为基底, 函数的系数作为坐标, 以此可将函数视为向量处理
例如函数 f(x)=a+bx+cx2 在基底 1,x,x2 中有坐标 [a,b,c]T
注意到求导运算满足线性性, 因此也可将求导运算视为一种线性运算
以上述 f(x) 为例, 经过求导后得有 f′(x)=b+2cx, 因此变换结果所在空间有基底 1,x
此时用矩阵表示有
[001002]abc=[b2c]
因此仅需要确定一组基底, 基底求导的结果, 求出函数 f(x) 的基底上的坐标, 即可得到 f(x) 的求导结果
对于其他满足线性性要求的运算都有类似的处理
基变换
向量坐标的基变换
假设向量 x∈R 以 {vi} 为基底, 现求该向量以 {ui} 为基底时的坐标 c
已知 ui 在 {vi} 为基底时的坐标, 以 ui 为列可得到矩阵 A
因此根据 x 与 c 可得, 二者之间满足 x=∑i=1nciui, 写为线性方程组有
Ac=x
可得, 如果 x 已知, 其以 {ui} 为基底时的坐标 c 即上述线性方程的解
由于方程也能表达为 c=A−1x, 因此也可将基底变换视为一种线性变换
因此以基变换的角度来看
- 默认情况下向量以及矩阵各列的元素都是以一个同一基 {vi} 为基底, 但这个基底并不需要明确规定, 虽然大部分情况下认为是标准基
- 向量 x 左乘矩阵 A, 则相当于将向量 x 的元素视为该向量在矩阵列为基底下的坐标, 通过左乘 A 将其坐标转换为默认基底下的坐标的线性变换
- 向量 x 左乘矩阵 A−1, 则相当于将向量 x 的元素视为默认基底下的坐标, 通过左乘 A−1 将其坐标转为以 A 各列为基底下的坐标的线性变换 (实际使用中更推荐使用求解线性方程组的方法以提高精度)
- 矩阵 B 左乘其他矩阵的情况, 则可将 B 视为一个列向量组成的列表, 分别进行变换
线性变换矩阵的基变换
对于一个线性变换 T(x), 假设变换前后向量使用同一组基, 对于两组不同的基 V={vi} 与 U={ui}, 用于表示该线性变换的矩阵 A,B 不同
但是由向量坐标的基变换可得, 假设以 {vi} 为基底时有向量 x, 同一向量以 {ui} 为基底时坐标为 c, 以 {vi} 为默认基底时有 c=U−1x
因此在线性变换前, 将 x 变换基底, 在左乘 B 完成变换后, 再将结果的基底变换为默认基底, 此时将实现与 Ax 相同的效果, 有
Ax=UBU−1x
因此不同基底下, 实现同一线性变换 T(x) 的矩阵 A,B 是相似矩阵, 即存在 B=MAM−1
其中, 以特征向量方向为基底时, 将能得到实现线性变换最简单的矩阵, 即对角矩阵 Λ
信号压缩
信号压缩基础
现实生活中, 如图像, 音频的信号通常是缓慢连续变化的, 因此取相邻采样的几个信号值往往非常接近, 其中高频变化的部分很可能是噪音或无法感受到的部分
以相邻几次采样的信号为一组, 视为一个向量, 基于以上特点, 可以为这些向量需找一个合适的基底, 使向量坐标的方差尽量大, 并将其中接近 0 的坐标值丢弃, 实现信号的有损压缩
由于向量的值接近, 因此向量通常在 vDC=[11…1]T 上的投影值较大 (vDC 也被称为直流向量, 其反映了信号中不随时间变化的分量)
常用的基底有傅里叶矩阵与小波变换矩阵, 这些基底中都有 vDC, 且为正交矩阵, 仅需转置即可得到矩阵的逆
图像压缩过程
以 JPGE 图像的压缩为例
压缩图像时, 首先将图像分割为数个 8×8 的小区域分别分析
将每个小区域中视为一个 8×8=64 的向量 x∈R64, 计算出这些向量在以傅里叶矩阵 F64 为基底的坐标系中的分量 x=∑i=164civi, 并将其中接近 0 的值取 0, 得到 c^, 完成图像压缩