zoukankan      html  css  js  c++  java
  • 线性代数的本质

    本文主要内容为《线性代数的本质》学习笔记,内容和图片主要参考 学习视频 ,感谢3Blue1Brown对于本视频翻译的辛苦付出。有的时候跟不上字幕,所有在这里有些内容参考了此篇博客。在这里我主要记录下自己觉得重要的内容以及一些相关的想法,希望能与大家多多交流~ 
      本节内容对应视频的“00. 序言”、“01. 向量究竟是什么”、“02. 线性组合、张成的空间与基”和“03. 矩阵与线性变换”这四节的内容。

    0. 序言

      线性代数具有代数含义和几何含义两个方面。代数含义学过线性代数的大家都很清楚,但是几何水平上的理解能够让你判断出解决特定问题需要用什么样的工具,感受它们为什么有用以及如何解读最终结果,也就是所谓线性代数的本质。

    1. 向量究竟是什么

      不同的专业对于向量有着不同的理解,如图1 所示 


    图1. 理解向量的三个方面

    图1 中从左向右依次为,物理专业:向量是空间中的箭头,由长度和方向决定。可以自由移动;数学专业:向量可以是任何东西,只保证向量加法和数乘运算有意义;计算机专业:向量是有序的数字列表,起始点在原点上。

      实际上可以用计算机专业的方式对对物理专业的表达方式进行解释,数字列表中上面表示沿着X轴走了多远,下面表示沿着y轴走了多远,每一对数与一个向量一一对应。所以向量的加法,向量的移动,可以看做数轴上加法的拓展;向量的数乘,对向量进行拉伸或者压缩,称为缩放。

    2. 线性组合、张成的空间与基

      在空间中选取一对特殊的向量 i,j作为空间的基,将每个坐标看做标量,表示如何拉伸或者压缩一个向量。

      如下图所示,当你思考一个向量的时候,使用物理的那种带箭头的方式;当考虑多个向量的时候,就把他们都看作点。 

     

    图 2 用箭头表示向量与用点来表示向量

    这样可以不用考虑箭头,而只需要考虑一个无限大的平面,如下图所示 


    图3. 实际需要考虑的二维空间的表达形式

      所有可以表示为给定向量线性组合的向量集合被称为给定向量张成的空间。对于大部分的二维向量,它们张成的空间是所有二维向量的集合,当它们共线时,张成的空间就是终点落在一条直线上的向量的集合。因为线性代数紧紧围绕着向量加法和数乘,所以实际上向量的张成问题是在考虑仅通过向量加法和数乘这两种基础运算,你能获得的所有可能向量集合是什么。

      两个向量在三维空间中往往构成的是一个平面,有的时候也可能是一个直线。三个向量一般在三维空间中张成了整个三维空间,可以想象一下,两个向量已经张成了一个平面,而平面沿着第三个向量进行平移,张成了整个三维空间。新增的向量如果落在了原有向量张成的空间中,那么这个向量与原先的向量是线性相关的;另一方面如果所有向量都给张成的空间增添了新的维度,它们就是线性无关的。

      空间的一组基的严格定义是这样的:张成该空间的一个线性无关的向量的组合。

    3. 矩阵与线性变换

      解析“线性变换”这一术语。“变换”实际上就是函数,它接受输入内容并输出对应结果,而在线性变换中输入的是向量,输出的也是一个向量,这中间的这个函数就是变换矩阵。

      从几何的角度考虑,线性变换必须满足两点要求,首先变换前后直线依旧是直线,其次原点保持不变。值得注意的是不仅仅要考虑水平与竖直的直线变换前后是否依旧是直线,还要考虑对角线的不是水平的线。如下图所示 


    图3. 一种线性变换


    图4. 三种非线性变换

    从上面的四幅图可以看出,线性变换应该是一种保持网格平行且等距分布的变换。网格平行且等距分布的性质有一个重要的推论就是,某一个向量在变换前后基向量的的系数不变,也就是说线性变换只是对基进行变换,而不是基的系数。所以如何用数值描述线性变换:实际上只需要记录两个基向量变换前后的位置即可。如下图所示,为将向量进行某一个角度的旋转之后,求旋转后向量。

    这里写图片描述

    通过上述内容我们知道,对向量进行旋转(一种线性变换)实际上是对基向量进行旋转,而基向量的系数不变。这里我们假设未旋转向量的坐标为 [ab],明显可以看出直角坐标系下的基 [10]旋转为 [cosθsinθ],基 [01]旋转为 [sinθcosθ],所以这一过程可以表示为 

    a[cosθsinθ]+b[sinθcosθ]=[cosθsinθsinθcosθ][ab]=[ab]

      所以从上式可以看到在原始向量左乘一个变换矩阵就可以得到变换后的向量坐标,注意原始向量是列向量,变换矩阵的每一列代表着变换后基向量的坐标,且变换矩阵每一列中从上到下代表坐标的次序与原始向量中的次序相同。

      总之,线性变换是一种操纵空间的手段,它保持网格线平行且等距分布,并且保持原点不变。且这种线性变换只需要找到变换之后的基就可以轻松得到,以这些坐标为列构成的矩阵为我们提供了一种描述线性变换的语言,而矩阵与向量的乘法就是计算线性变换作用于给定向量的一种途径。因此每当你看到一个矩阵,你都可以把它解读为对空间的一种特定变换。

  • 相关阅读:
    多路RTSP流解码:最高可支持12路视频编解码
    RK3399 PRO快速开发
    人脸识别精准营销解决方案
    EC-A3399ProC 六核64位AI嵌入式主机
    Cluster Server R1集群服务器
    韦东山推出基于Firefly平台的升级版嵌入式Linux教程
    【上传图片】上传图片二三事
    【linux】阿里云防火墙相关
    【php】LAMP中开启错误提示
    【mysql】mysql优化
  • 原文地址:https://www.cnblogs.com/joefish/p/8149982.html
Copyright © 2011-2022 走看看