概述

个人认为线性代数从三个角度,或者说三个工具来阐述了线性关系,分别是:

  • 向量
  • 矩阵
  • 空间

这三个工具有各自的一套方法,而彼此之间又存在这密切的联系,通过这些抽象出来的工具可以用来干一些实际的活,最为直接的就是解方程组,进一步衍生出来最小二乘法等等。

这一部分主要讲了三个工具的各自的一些基本方法,以及用其解方程组的一套理论。另外,由于是总结,就不按照课程的顺序,而且各点之间都有穿插。

向量(Vector)

对于向量而言,大部分与中学一致,基本的就不说了,关注重点。

线性相关性

线性相关性用于描述向量之间的关系。

之前理解有点偏差,定义的意思大概是,对于Ax=0,x若有非零解则A的列向量组线性相关,否则线性无关。

也就是说线性相关性是针对向量组的:

  • 从代数上讲,如果向量组中任一个向量都无法被其他向量的线性组合表示,则向量组线性无关,否则线性相关。
  • 从几何上讲,若某向量组线性相关,则至少存在一个向量在其余向量的线性组合所构成的空间内。

特别地,若某向量组存在零向量,则该向量组必然线性相关。

其实向量组的线性相关性是受某几个向量影响的,比如a,b线性无关,而a,c线性相关,那么a,b,c线性相关,而c是不能由a,b的线性表示的(因为c前系数为0),所以线性相关,并不意味着,向量组内任一向量都能被其他向量线性组合表示,这是之前理解上的误区。

范数,模,内积

这三个概念上就不区分了,因为也区分不来,权且当做内积来看。

内积可以用矩阵方式来表示,ATA,这也表明其实向量也是矩阵,只不过是列数为1的矩阵。

对于向量而言,本部分也就这么多,这也是最为基本的,特别是线性相关性,这是后面的基础。

矩阵(Matrix)

个人认为,从某个角度上讲,向量可以看成是数的一个集合,而矩阵可以看成是向量的一个集合,以列向量为例,向量是纵向,元素是数,矩阵是横向,元素是向量。当然这只是一个角度而已,同时矩阵也可以是行向量为元素,或者就是其中的数为元素(这在课程中的应用部分有体现,比如基尔霍夫电流关系等,但个人觉得还是有点牵强,有点强行应用的意思....),无论如何,只是观察的角度不同而已,便于理解就行。

矩阵乘法

个人认为,矩阵乘法其实是一个十分巧妙的设计,将向量线性组合的方式应用在里面,然而以前只知道左行乘右列,还感觉难用.....

矩阵乘法一共有5种方式,个人认为一定一定要深刻理解的有以下两种:

  • 对Ax,A为矩阵(m*n),x为列向量(n*1): Ax为A中各列向量的线性组合

  • 对xA,A为矩阵(m*n),x为行向量(1*m): xA为A中各行向量的线性组合

这是对矩阵与向量的乘积而言,而矩阵和矩阵的乘积与之类似,比如AB,可看成B中的各列向量与A相乘,然后得到结果矩阵的每个列向量。

矩阵的初等变换

矩阵的初等变换分为初等列变换和初等行变换,有三种方式:

  • 对调两行;
  • 以数k≠0乘某一行的所有元素;
  • 把某一行所有元素的k倍加到另一行对应的元素上去。

注意,以前以为最后一条涵盖了前两条,仔细看了下,还真不是,三种变换方式每一条都还是有用的....

其实思考一下,可以发现,以行变换为例,在几何上,变换其实就是行向量间的运算,初等变换并不会使向量组的空间发生变化(注意不能同时用行列变换,否则此时行列空间会发生变化)。

提到初等变换就有另一个概念了,初等矩阵:单位矩阵经过一次初等变换所形成的矩阵。

那么初等变换,初等矩阵有什么用呢?

个人认为,初等变换可以用来描述解方程组时的消元过程,其实,解方程组就是对增广矩阵进行多次初等行变换的过程,另外,初等矩阵可以用来描述初等变换的过程,因为初等矩阵左乘某矩阵,等效于对该矩阵进行同样的初等变换,这样以来就可以用矩阵乘法来描述消元过程了。

既然为了能够描述整个消元过程,我们是不是可以将所有的消元矩阵相乘,得到一个最终的矩阵,然后这个矩阵与原矩阵相乘便得到阶梯矩阵呢?对,但这存在一个问题,就是消元矩阵之间相乘,需要做多次乘法,而且所得到的矩阵与原先消元矩阵不容易观察出关系,但是,如果我们用消元矩阵的逆矩阵,便在运算上有很大的简便性,而且也便于观察消元过程,这既是矩阵的LU分解(下三角,上三角)

其实吧,这个LU分解,个人觉得也就形式好看,由于真正计算用的并不多,但好歹也是一种分解方式,还是得知道。

另外初等行变换,可求得矩阵的逆,对于矩阵的逆,需要记住,A-1A = AA-1 = I,显然矩阵应该是方阵。

矩阵的秩

矩阵的秩是一个核心概念,秩分为行秩列秩,分别是指线性无关行、列向量的极大数目。并且行秩等于列秩,对于这个概念问题又有很多了...

首先来看,求解秩的方法:

一般是通过初等行变换,消元得到阶梯矩阵,然后主列数便等于列(行)秩。

来看问题:

  1. 为什么主列数等于列秩?
  2. 阶梯矩阵的空间与原矩阵的空间是否一样?
  3. 为什么行列秩相等?

先看问题1,主列是通过行变换得到的,也就是说,

若原矩阵为[a b c],变换后的矩阵为[a' b' c'],根据初等行变换有,

若Aa'+Bb'+Cc'=0,则Aa+Bb+Cc=0(用行变换一试便知),二者互为充要条件。也就表明,若变换后的某列向量组线性相关,则原矩阵的对应列向量组也线性相关,无关同理可证(可反证)

有了这个结论后,就可以发现,阶梯矩阵,很明显主列是线性无关的,而且主列肯定可以线性组合得到自由列(free column),所以主列数就是矩阵的列向量组中极大线性无关向量数,即列秩。再延伸一下,可以发现上面的结论中A、B、C未改变的,也就意味着,零空间是不变的,其实也很简单,方程消元过程是不会改变解空间的。

再看问题2,问题事实上是问行变换对各个空间的影响:

  • 行空间:行变换在几何上是行向量之间的运算,所以是不会改变行空间的;
  • 列空间:行变换改变了列向量,显然列空间是会变化的,比如,阶梯矩阵可能有大量的零行,而原矩阵在该行所在的维度是有值的,这样显然列空间变化了,再比如,行变换允许交换两行,这显然改变了列空间;
  • 零空间:方程消元是不会改变解空间的,故不变化;
  • 左零空间:简单来看,左零空间和列空间是正交补,所以左零空间也会变化;

再看问题3,其实仔细观察下阶梯矩阵的形状,可以发现,所留下来的行是线性无关的,而线性相关的行已然被消为全零行,故所留下来的行就是极大线性无关行向量组,所以行秩等于主元数,等于主列数,等于列秩。

向量空间(Vector Space)

书上说,线性空间与向量空间等价,个人认为其实不大好,应该说向量空间是元素为向量的线性空间,这样应该理解起来应该要容易一点。

线性空间有8条公理,其实个人认为最为关键的为以下两点:

  • 若v ∈ V,w ∈ V, 则 v + w ∈ V,即元素加法闭合;
  • 若v ∈ V,则 mv ∈ V,即元素数乘闭合;

此时的V就为线性空间。注意一点,线性空间显然应该包含0元素(因为0数乘向量,为0向量),这一点可用来否定一些集合是线性空间。

基(Basis),维数(Dimention)

只要给出了基,那么这个空间就唯一确定了,也就是说一组基生成了一个空间,满足两个条件:

  • 空间中所有的向量都可以被基向量的线性组合表示;
  • 基中的向量是线性无关的;

基中的向量数便称为空间的维数

注意几个问题:

一组基确定一个空间,而生成同一个空间却有无数组基。

四个基本子空间

列空间(Column Space)

列空间是矩阵所有列向量的线性组合所构成的空间,那么列空间的基是什么呢?

显然是主列是一组基,因为,自由列可被主列的线性组合表示,所以所有列向量的线性组合等价于主列的线性组合(带入式中,很明显可得)

所以列空间的维数等于主列数,即列向量所构成矩阵的秩,r

零空间(Null Space)

零空间是Ax=0中的解空间,这就有个问题了,为什么解构成了一个空间呢?

其实可以简单套入空间的定义,试验一下:

  • mx(m为系数)是Ax=0的解;
  • 若Ax1=0,Ax2=0,则A(x1+x2)=0,故(x1+x2)为Ax=0的解;

故解在数乘,加法上闭合,所以解形成空间。零空间中的向量其本质上,是A矩阵的列向量线性相关的系数所构成的向量。

关于求解零空间的基,先说求解方法,就是选取一自由列,置其余自由列系数为0,然后让主列与之线性相关,求得系数,得到一个解向量,依次进行,便得到一组零空间的解向量。可以发现,这种方式所得到的基在各个系数所在的维度上是不同的,其实就是每个向量仅有它在某维上有分量,类似于阶梯性质,所以很容易知道,各个向量是线性无关的。

那么又有一个问题,这组向量能否生成整个解空间呢?或者问,如何证明这组向量就是解空间的基呢?这是一个很有意思的问题,思索了许久呀...

我们设向量p为任意解向量,且p在自由列的系数不全为零(若全为零,由于主列线性无关,则p就只能为零向量),设用之前得到的解向量组按照p对自由列的系数合成一个向量q,那么需要证明p=p。

假设p!=q,但由于都是方程组的解,二者的差(线性组合)必然也是方程组的解,设p-q=v,则v对自由列的系数为零,而主列的系数不全为零(两个向量不等),这样主列的线性组合等于了零,这与主列线性无关不符,故v=0,p=q,也即是p向量能被之前的线性无关解向量组所表示,所以之前的线性无关解向量组能够表示解空间内任意向量,即该组向量为解空间的基(线性无关早就满足了)

所以零空间的维数等于自由列数(n-r)

行空间(Row Space)

行空间与列空间对应,就是所有行向量的线性组合所得到的空间。观察消元过程所得到的阶梯矩阵,显然所留下来的行是线性无关的,而且相关的行已被消为全零行。

所以行空间的一组基为阶梯矩阵的不为全零的行向量组维数等于主元数

左零空间(Left Null Space)

ATx=0 -> (ATx)T=0 -> xTA=0,所以称为左零空间,其实可以按照AT的零空间来看,用的不多,知道其与列空间互为正交补维数为m-r,就差不多了....

Ax=b

三个工具的基本方法讲完了,看看一个运用,就是解非齐次线性方程组。

求解方法:增广矩阵化成阶梯矩阵,找到特解(Special Solution),然后加上零空间,就构成了全部解。

两个问题:

  • 为什么这种方式求得的向量是解向量?
  • 这个向量的集合包含了所有解向量吗?

首先,Ax0=b,Ax=0,二者相加A(x0+x)=b,回答了问题一。

再看,设p为方程的解,则Ap=b,又Ax0=b,二者相减有A(p-x0)=0,p-x0在零空间内,故p可表示为x+x0,所以这个向量的集合就是所有解向量的集合。

后记

总算把第一部分课上讲的大概总结完了,肯定还有不少遗漏,以后再补充吧,不过应该还是把精华的部分都总结到了吧....

2016.12.8

*********************

关于向量线性相关的理解之前有些偏差,现在已经纠正过来了

2016.12.11

MIT线性代数课程 总结与理解-第一部分的更多相关文章

  1. MIT挑战(如何在12个月内自学完成MIT计算机科学的33门课程|内附MIT公开课程资源和学习顺序

    译者注:本文译自Scott H. Young的博客,Scott拥有超强的学习能力,曾在12个月内自学完成麻省理工学院计算机科学的33门课程.本文就是他个人对于这次MIT挑战的介绍和总结. 版权声明:本 ...

  2. 【SEO 决胜网络索引】 课程大纲及第一部分第一课:网络营销战略中的索引

    内容简介 1.课程大纲 2.第一部分第一课: 网络营销战略中的索引 3.第一部分第二课预告: 索引是什么 课程大纲 现在是网络为王的时代,人们越来越离不开互联网: SEO(Search Engine ...

  3. MIT 三课程

    mit三课程: Introduction to Computer Science and Programming artificial intelligence introduction to alg ...

  4. 面向对象编程课程(OOP)第一单元总结

    漫长旅程中还算不错的开头 在本学期开始之前,我按照助教们所给的寒假作业指导书自学了Java语言的相关知识,了解了Java语言的基本语法,输出一句“Hello World!”,掌握了基本的一些输入输出方 ...

  5. MIT线性代数:22.对角化和A的幂

  6. MIT线性代数:21.特征值和特征向量

  7. MIT线性代数:20.克拉默法则,逆矩阵和体积

  8. MIT线性代数:19.行列式和代数余子式

  9. MIT线性代数:18.行列式及其特性

随机推荐

  1. Date与SimpleDateFormat

    Date常用的方法 返回类型 方法名称 备注 Date New Date() 创建当前日期对象 Date New date(long dt) 使用自1970.1.1以后的指定毫秒数创建日期 boole ...

  2. How feedback work for your improvement

    Why generally feedback is the perspective from others for some event. In China there is story,some k ...

  3. 只有五行的Floyd最短路算法

            暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程.         上图中有 ...

  4. 常用的免费Webservice接口

    快递查询接口 http://webservice.36wu.com/ExpressService.asmx  ip查询接口 http://webservice.36wu.com/ipService.a ...

  5. Object-c学习之路十一(NSDate和反射)

    挺简单啥也不说了直接上代码(NSDate和反射) // // main.m // NSNumberAndNSValue // // Created by WildCat on 13-7-26. // ...

  6. IIS日志分析的作用

    站长都知道有ISS日志,可是有很少人去关注它,也许你觉得在一些站长工具里面我们就能找到我们想要的工具,哪你就错了,我们的网站被收入靠的是蜘蛛,想要真正了解蜘蛛,就一定要好好重视iss日志分析,为什么这 ...

  7. BF533的SPORT接口

    BF533的SPORT接口 1.特性 bf533有两个SPORT口(synchronous serial Port),即同步串行接口.完全独立的接收和发送通道,且每个通道都具有缓冲,最高速度可达SCL ...

  8. HttpStack及其实现类

    HttpStack及其实现类 前两篇已经对网络请求流程已经梳理了个大概,这次我们着重看一下HttpStack和它的其实现类.我们之前在Network篇讲过它仅有一个实现类,而今天我们讲的HttpSta ...

  9. 添加可运行的js代码

    如何在博客园的文章/随笔中添加可运行的js代码 在博客园浏览大牛们写的文章时,经常会看到在文章中混有一些可运行示例,例如司徒正美的博客中: 带有可运行示例 可以点击“运行代码” 经过一番小小的探索,掌 ...

  10. HTML5学习+javascript学习:打飞机游戏简介以及Model层

    本着好记性不如烂博客以及分享成功的喜悦和分享失败的苦楚,今天我来分享下一个练手项目:打飞机游戏~从小就自己想做游戏,可是一直没有机会.HTML5给了我们这个平台,这个平台可以有很多以前想都不敢想的东西 ...