原文:https://mp.weixin.qq.com/s/qCmstZdzCy1WCfBAkEZEoA

  线性变换这个词在线性代数中经常被提及,每个线性变换的背后都有一个矩阵。矩阵的概念比较直观,相比之下,线性变换就显得抽象了。

线性变换

  抛开矩阵,我们从变换的角度讨论投影。通过T变换,使平面内的一个向量投影到一条直线上:

  T就像一个函数:给定一个输入向量,经过T的变换,输出成直线上的投影,过去我们一直用更专业的“映射”称呼这种变换关系。下图中vw是R2空间内的向量,通过T变换变成了直线上的投影,即T(v)和T(w):

  

  变换的关系有很多,而线性代数只讨论线性变换。如果T表示一个线性变换关系,对于任意向量vw以及标量c,线性变换应该保证下面两个运算的不变性,加法不变性和数乘不变性,这一点和线性组合类似:

  把二者结合:

  顺便说一下,投影变换是一种线性变换。

判断线性变换

  判断一个变换是否是线性变换其实并不困难,只要判断这个变换是否满足加法不变性和数乘不变性即可。

反例1:平移整个平面

  假设某个变换关系T是平面沿着某个方向平移v0,也就是说对于平面内的任意向量v,都有T(v) = v + v0,T变换是否是线性变换?

  这个看起来很简单的变换并不是线性变换,它违背了线性变换的两个不变性,以数乘不变性为例:

  线性变换的不变性要求对输入空间内的任意向量都成立,当然也包括零向量,因此一个更简单的判断方法就是使用零向量。数乘不变性对于零向量来说将有T(0) = 0,但本例中T(0) = v0,所以说“平移”变换不是线性变换。

反例2:求向量的长度

  变换关系T(v) = ||v||是否是线性变换?

  T变换将产生维度的变化。假设v是一个三维向量,经过T的变换将变成一个大于等于0的实数,也就是一维向量:

  虽然本例满足T(0) = 0,但是对于数乘不变性来说,如果c是负数,那么T(cv) ≠ cT(v),因此本例不是线性变换。

正例1:旋转变换

  变换关系T:R2→R2是将一个二维空间的向量旋转45°,这个变换是否是线性变换?

  答案是肯定的,它符合线性变换的两个不变性。

  即使去掉坐标轴,依然能够清晰地描述这个变换,下图是对二维平面内的图形进行旋转:

正例2:线性变换与矩阵

  到目前为止,线性变换还没有和矩阵产生任何关系。现在有一个变换关系是矩阵乘以一个向量,T(v) = Av,其中A是一个矩阵。根据矩阵乘法的性质:

  这符合线性变换的两个判据,因此矩阵乘以向量是一个线性变换。这意味着选中一个矩阵,用它乘以平面上的所有向量,将得到一系列线性变换后的结果,即整个平面通过矩阵乘法发生了变换,这也是一个值得研究的结果。

  现在有一个矩阵:

  如果用A乘以一个R2空间的向量v——当然,A是2×2矩阵,它也只能乘以一个R2空间的向量——将把v线性变换成另一个向量,变换后的向量的x分量不变,y分量与v的y分量相反:

  

描述线性变换

  我们的目的是理解线性变换,而理解线性变换的本质是确定线性变换背后的矩阵,虽然可以在脱离坐标和具体数值的情况下讨论线性变换,但是为了更好地描述,我们仍然有必要引入坐标系。

  假设有一个三维向量,能够通过某种线性变换变成二维向量,这将是一个怎样的变换?

  用矩阵描述这个关系,T(v) = Avv是三维向量,通过Av变成了二维向量,那么A一定是一个2×3矩阵。任何一个2×3的矩阵都可以将一个三维向量线性变换成二维向量,每一个变换都对应一个具体的矩阵。

输入空间的基

  对于平面内特定的向量v1,只要看看T(v1)就可以了解线性变换对它产生的作用。我们对空间内其它向量的线性变换同样感兴趣,换句话说,我们想知道线性变换对于整个输入空间的影响。既然向量空间是由线性无关的向量张成的,那么只要知道平面内两个线性无关的向量,就可以了解平面内所有向量线性变换的结果。也就是说,只要知道输入空间的基,就能掌握线性变换对整个输入空间的影响。

  v1,v2……vn是输入空间的一组基向量,把它称之为输入基。只要知道所有输入基的线性变换,就可以知道输入空间内任意向量的线性变换:

坐标

  先来看看什么是坐标。

  Rn空间的坐标是一组数字,这些数字表示Rn空间的给定向量v由多少个基向量组成(基向量线性组合的系数),但是基向量不止一组,如果基向量改变了,坐标也随之改变,因此一般来说,坐标系建立在标准基的基础之上。例如一个三维空间的向量的坐标是(2,3,4):

  上式可以清晰地看到v是三个标准基向量的线性组合,尽管大多数时候我们都意识不到这种组合。

  对于线性组合来说,一旦选定了一组基,坐标也随之确定。比如对于输入空间的任意一个向量v来说,都可以用基向量的唯一线性组合表示:

  一旦向量确定,其线性组合也随之确定,此时c1, c2 ,…,cn就是该向量的一组确定的坐标值。

线性变换与矩阵

  我们的目的是确定线性变换背后的矩阵,矩阵是与坐标有关的(矩阵中的元素是确定的值),而线性变换与坐标无关。现在的问题是,如何把一个与坐标无关的线性变换变成一个与坐标有关的矩阵?

  假设有T能够完成一个向量从n维空间到m维空间的线性变换:

  现在我们打算构造一个矩阵A来描述这个线性变换。在描述时需要两组基:输入空间的一组基来描述输入向量,以及输出空间的一组基来确定输出向量的坐标。这两组基一旦确定,对应的矩阵也就确定了。

  v1,v2……vn是输入空间的一组基向量,来自Rn空间;w1,w2……wm是输出空间的一组基向量,来自Rm空间。对于每个输入向量来说,都有具体的坐标值,该坐标由基向量的线性组合确定,然后把这些坐标值乘以某个矩阵A,将得到相应的输出向量,输出向量的坐标同样可以由输出空间的基确定。用矩阵A来表示线性变换,就是将矩阵乘以输入向量的坐标,得到它在输出空间的坐标。

  值得注意的是,线性变换背后的矩阵A乘以的是输入向量的坐标,不是输入向量本身,得到的也是输出向量的坐标,不是输出向量本身。定义一个线性变换T(v),对= c1v1 + c2v2 + …… + cnvn进行变换,如果用A描述这个变换,则A需要满足:

  

  之后用输出向量的坐标对输出空间的基向量进行线性组合,得到最终的输出向量w

  由于我们之前一直使用的是标准基,因此感觉不到坐标的存在。

  

  我们之前说过,投影属于线性变换,这里正好用投影的例子对上面的描述加以说明。为了简单起见,将这个投影定义在二维空间,n = m = 2。参与变换的向量都在平面上,让平面上的所有向量都投影在一条直线上。选择输入空间的两个基向量v1和v2代替R2空间的标准基向量,其中v1沿着投影方向趴在直线上,v2垂直于投影方向:

  上图特意去掉了坐标系,以强调线性变换与坐标无关。同时,由于输出空间也是R2空间,我们也同样用v1和v2作为输出空间的基,即w1 = v1, w2 = v2。

  之前说过,输入空间和输出空间的基一旦确定,对应的矩阵也就确定了。现在的问题是,根据v1、v2和w1、w2如何描述这个用于线性变换的变换规则?也就是说,作用于线性变换的矩阵是什么?

  对于出入空间的任意向量v,都可以表示成两个基向量的线性组合:

  我们事先已经知道投影变换是一种线性变换,它线性变换的两个不变性:

  T表示投影变换,T(v1)是v1的投影,沿着直线方向的向量的投影就是这个向量本身,所以T(v1) = v1。v2垂直于直线,它的投影是零向量,所以T(v2) = 0。由此得到了投影变换和这组基向量的关系:

  A用一组特殊的输入基和输出基(垂直于直线和沿着直线方向的一组基)描述了线性变换,将矩阵A乘以输入向量的坐标,得到它在输出空间的坐标:

  如果改用标准坐标基,即:

  投影的直线也需要给出具体的位置,假设T(v)变换是将向量投影到45°的直线上:

  现在尝试找出这个符合要求的矩阵,也就是投影矩阵。根据投影矩阵的公式,可以用向量a = (t, t)表示直线,从而求得投影矩阵:

  

  在使用标准坐标基的时候,坐标值等于向量本身:

  可以看到,如果选择的基向量不同,即使对于同样的线性变换,背后的矩阵也不同。在使用标准坐标基的时候,感觉不到坐标的存在,此时矩阵乘以输入向量等于输出向量。实际上第一次是以投影矩阵的特征向量为基,得到的矩阵A是投影矩阵P的特征值矩阵。

如何确定矩阵

  确定矩阵A的前提是需要知道输入空间和输出空间的基,我们依然用v1,v2……vn和w1,w2……wm表示这两组基。T(v1)表示对输入空间的第一个基向量v1做线性变换,此时矩阵A乘以的坐标是(1,0,…,0),得到的输出坐标是:

  

  当知道线性变换的结果时,就可以通过它的坐标确定A的第一列。上式实际上描述了这样线性变换:

求导也是一种线性变换

  这里有一个特殊的线性变换——求导,T = d/dx。我们之所以能够对函数求导,正是因为求导本身是一种线性变换,因此只需要掌握少量的求导法则,就能求出函数线性组合的导数。

  假设输入空间的基是1, x, x2,线性组合是c1 + c2x + c3x2;输出是导数:

  输出空间的基是1, x。这是一个从三维空间到二维空间的线性变换:

  描述这个线性变换的矩阵A满足:


  出处:微信公众号 "我是8位的"

  本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途!

  扫描二维码关注作者公众号“我是8位的”

线性代数笔记32——线性变换及对应矩阵相关推荐

  1. 一般向量空间的基变换_MIT—线性代数笔记30 线性变换及对应矩阵

    第30讲 线性变换及对应矩阵 Linear transformations and their matrices 网易公开课​open.163.com 线性变换 Linear transformati ...

  2. (线性代数笔记)2.阶梯型矩阵

    1.阶梯形矩阵的定义 矩阵的主元 2.任意矩阵经过有限次初等行变换化为阶梯形 这里C是由B通过初等行变化得到的,C也是A的阶梯形 3.矩阵的秩 例题(矩阵通过初等行变换转化为阶梯形)

  3. 线性代数笔记-线性空间和矩阵复习

    复习思路 这次复习线性代数是为了给机器学习.数值分析.最优化理论三门课程打基础(这三门课程里面的矩阵使用实在太多.太深).具体来说是要对行列式.矩阵运算.矩阵分解.线性变换里面的基础概念记忆.纸质的笔 ...

  4. 线性代数笔记:概率矩阵分解 Probabilistic Matrix Factorization (PMF)

    概率矩阵分解模型可以解决大规模.稀疏且不平衡的数据. 1 PMF的两点假设 1.1.观测噪声(观测评分矩阵和近似评分矩阵之差)服从高斯噪声的正态分布 观测评分矩阵是ground truth的矩阵,我们 ...

  5. MIT线性代数笔记三 矩阵的乘法和逆矩阵

    文章目录 1. 矩阵乘法 Matrix multiplication 1.1 标准方法(行乘以列) 1.2 列向量的线性组合 1.3 行向量的线性组合 1.4 分块乘法 2. 逆矩阵 2.1 逆矩阵的 ...

  6. 线性代数笔记18——投影矩阵和最小二乘

    一维空间的投影矩阵 先来看一维空间内向量的投影: 向量p是b在a上的投影,也称为b在a上的分量,可以用b乘以a方向的单位向量来计算,现在,我们打算尝试用更"贴近"线性代数的方式表达 ...

  7. 多变量微积分笔记(1)——向量和矩阵

    本博客对应我博客中的多变量微积分目录下的第一章,向量和矩阵. 1.向量和矩阵(Vectors and Matrices)--开启多变量函数和多变量微积分大门的钥匙 在单变量微积分中用得最多的应该只是坐 ...

  8. MIT公开课18.06 Gilbert Strang 线性代数 笔记3 - 正定矩阵及其应用

    文章目录 第26讲:对称矩阵及正定性 对称矩阵 性质 描述 证明 谱定理,对称矩阵的分解 对称矩阵特征值的符号 正定性 定义 例子 第27讲:复数矩阵和快速傅里叶变换 复数矩阵运算 计算复向量的模 计 ...

  9. 线性代数笔记-3Blue1Brown:(一)

    线性代数笔记-3Blue1Brown:(一) 文章目录 线性代数笔记-3Blue1Brown:(一) 一.向量是什么? 二.线性组合.张成的空间和基 三.矩阵与线性变换 三.矩阵乘法与线性变换复合 四 ...

最新文章

  1. 一些杂感杂想(一)谈谈加班、团队
  2. mybatis报错Type interface xxx.Dao is not...
  3. Effective Modern C++翻译(3)-条款2:明白auto类型推导
  4. linux7新建用户,CentOS 7中添加一个新用户并授权
  5. 量子计算机 长生不老,这种准粒子“长生不老”,有望提升量子计算机性能
  6. python二进制文件读写文件_Python二进制文件读写
  7. SQLServer 删除表中重复数据(除ID不同的)
  8. 【操作系统实验】设备驱动(Linux环境下)
  9. 停车场管理系统 课程设计 C语言
  10. 奥斯汀页眉怎么设置_word页眉怎么插入及删除
  11. 黄一老师:管理者需要知道的“三多”和“三少”
  12. 笔记本加装固态硬盘的问题
  13. php银联支付接口 demo,php版银联支付接口开发简单实例详解
  14. 深度学习配置环境全攻略
  15. 过年的气氛为什么几乎全无,内心也没有任何期盼呢?
  16. 深度学习的员工离职预测
  17. ubuntu下如何控制风扇速度?
  18. 机器人硬汉 聆听_智能巡检机器人“上刀山下火海”冲锋陷阵成“硬汉”
  19. Flexbox响应式网页布局 - W3Schools视频02
  20. 统计学简介之六——样本方差的分布

热门文章

  1. 运用JQuery代码写的计算器小案例
  2. Python——基于最小二乘法和最大似然法的回归分析方程中系数的估计
  3. 代理加盟共享充电宝的理由
  4. Python可以用来做哪些好玩的事情?
  5. spring aop 注解
  6. 01背包【zzh制作】
  7. 为什么说ERP提升了决策层的决策能力?
  8. 销量300万台对乐视意味着什么?
  9. 【一针见血】热点账户
  10. 从零开始学python大数据与量化交易下载_GitHub - Lid23/Python-100-Days: Python - 100天从新手到大师...