线性变换及其对应的矩阵

变换有很多种形式,它描述了输入和输出间的映射(mapping/map)关系,这篇文章主要讨论线性变换,每个线性变换都对应一个矩阵,线性变换与坐标无关,而矩阵与坐标有关,因此矩阵是基于坐标来描述线性变换,例如投影就是一种常见的线性变换,与其对应的是投影矩阵,判断是线性变换需满足以下两个条件:

其中v和w分别是向量,T表示对向量的变换,上两式表明线性变换应该保证加法和乘法的不变性,这两个条件可合并为一个条件: ,前面提及的投影变换,满足一个向量乘以倍数,其投影也乘以相应倍数,两向量和的投影等于各自投影的和,再举几个例子,用上面的两个条件来判断其是否为线性变换。

例1:向量平移。假设向量v沿着某方向平移v0,即T(v)=v+v0,很明显这不是线性变换,因为如果向量v的长度加倍,T(v)并不会加倍。除了用上面的两个条件来判断之外,还可以通过T(0)来判断是否为线性变换,线性变换必须满足零向量经过变换后一定等于零向量,从这一点也可看出例1不是线性变换。

例2:平方运算。例如求向量的长度,T(v)=||v||,如果向量乘以-2,则其长度还是变为原来的2倍,而不是乘以-2,因此平方运算是一种非线性变换。

例3:旋转变换。假设输入向量为v,将其旋转45度后得到输出向量T(v),如果加倍v,则输出向量也加倍,对于v+w,其旋转的结果等于v和w各自旋转的结果相加,因此旋转也是一种线性变换。

由于每一个线性变换都对应了一个矩阵,因此线性变换的过程可以表示为T(v)=Av,其中A是变换矩阵,x是输入向量,理解线性变换的方法就是确定其背后的矩阵A,因为线性变换的本质都包含在矩阵中。例如有一线性变换T,其输入是3维向量,输出是2维向量,即 ,则该变换对应的A应该是一个2*3矩阵。

我们现已理解单个向量线性变换的结果,例如T(v1),但如果要考虑线性变换对于整个输入空间造成的影响呢?难道要对输入空间中的向量一个个进行计算吗?答案很明显不是,只要确定了线性变换对于该空间基向量的影响,就能了解线性变换对于整个输入空间的影响,也就是说只要确定了 ,其中v1…vn是输入空间的一组基,简称输入基,就足以确定任何v的线性变换T(v),因为v总是基向量的线性组合

线性变换与变换矩阵的转换

线性变换本身是坐标无关的,但将其与坐标有关的矩阵联系起来后,就需要建立坐标系,建立坐标系就要确定坐标系的基,如果选择的基不同,坐标也会不同,一般来说,坐标系建立在标准基的基础上,我们平时甚至不会意识到标准基的存在,因为如果给一个向量 ,我们甚至想都没想过,就早已接受了这样的假设,其实存在这样一组标准基 ,标准基前面的系数就是向量在该坐标系的坐标,虽然基有很多种,但一般要选择有意义的基。所以如果我们希望通过一个矩阵来描述线性变换,即构造一个矩阵A,用于表示一个线性变换T, ,实际上需要两组基,输入基用来确定输入向量坐标,输出基用于确定输出向量坐标,当然两组基也可以选相同的,假设为输入向量的基,它们来自于,另一组基为输出向量的基,它们来自于,基一旦确定,对应的矩阵也就确定,现在我们引入坐标,中的输入向量v,根据输入基表示出它的坐标,然后把这些坐标值乘以某个矩阵A,得到输出向量的坐标值,输出坐标通过输出基表示,以上就是线性变换的全部过程。可以举一个投影的例子来加深对上述线性变换过程的理解,为简化计算,取n=m=2,也就是说参与变换的向量都在平面上,如下图所示,通过变换使得平面上的任意向量投影到直线1上,这里不采用标准基(标准基即为(0,1)和(1,0),这是最常用的一组基向量)作为基,而是用投影方向和投影方向的垂直方向作为基,也就是说第一个基向量就在直线1上,为直线1上的单位向量,第2个基向量也是单位向量,在直线2上,直线2与直线1是垂直的,输入和输出空间都采用这组基,对于输入向量v1,其输出仍是v1,对于输入向量v2,投影等于0,对于任意向量v,都可以表示成两个基向量的线性组合,,因此有,所以变换矩阵的作用是输入 ,输出  ,很明显能完成这个功能的矩阵就是A= ,总结一下线性变换的过程:原来的线性变换与坐标无关,但是为输入空间和输出空间选定基向量后,就得到了一个起同样变换作用的矩阵,它乘以输入向量坐标可得输出坐标。

上面例子中的投影是在特征向量基中进行的,也可以将其放在标准基中进行,假设需将所有向量投影到一根倾斜45度的直线上,输入输出空间都采用标准基,标准基  ,根据子空间投影,投影矩阵,如果输入基向量 ,则输出是 ,如果输入基向量 ,输出还是 ,可以看到选择不同的基向量,得到的向量坐标不同,投影矩阵也不再是上面的对角阵。

如何确定变换矩阵?

假设已知输入基和输出基分别是,那么变换矩阵A的第一列就是第一个基向量的线性变换,因为输入第一个基向量v1也就意味着输入坐标是 ,矩阵A乘以v1就等于A的第一列,因此矩阵A的第一列就是第一个基向量的线性变换,这对于第一列成立,对于第二列也成立,对于所有基向量都成立。因此求变换矩阵A最直接的方法就是,对基向量v1进行线性变换,写出其输出 作为矩阵第1列,对基向量v2进行线性变换,写出其输出  作为矩阵A的第2列,如此类推,最终得到整个变换矩阵A。

最后还是用例子加深一下对线性变换的理解。

求导数是常用的一种变换, ,它也是一个线性变换,假设输入是所有组合,它的基是一些简单的幂函数,对输入求导后得输出是,输出基是1,x,这是一个从三维输入空间到二维输出空间的线性变换,变换矩阵A乘以输入向量坐标,得到输出坐标,即 ,从该式我们容易推出, ,可以验证一下A的三列是否分别是三个基的输出,第1个基的坐标为 ,则输出为 ,第2个基的坐标为 ,则输出为 ,第3个基的坐标为 ,则输出为 ,变换矩阵的列与基向量坐标值的线性变换是对应的,用矩阵来描述线性变换的好处就是矩阵的逆相当于线性变换的逆,矩阵的乘积相当于线性变换的乘积。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值