大话-线性代数

把线性代数(LA)中每个概念理解清楚,并且理清概念间的来龙去脉。
几乎所有的LA内容都是围绕下面这组等价命题展开的:

对于方阵A(n*n): 
    1.A可逆(A是非奇异阵)
    2.<=> 线性系统 Ax=0 有唯一解,零解
    3.<=> 线性系统 Ax=b 有唯一解
    4.<=> A的最简化行阶梯矩阵 rref(A)=I 是单位矩阵
    5.<=> A可以表示称一系列初等矩阵的乘积
    6.<=> A的列向量线性无关
    7.<=> A的列向量可以生成n维空间
    8.<=> A的列向量是n维空间的基
    9.<=> A的行秩==A的列秩==n
    10.<=> A满秩(r==n)
    11.<=> A的行空间维度==A的列空间维度==n
    12.<=> A的行向量线性无关
    13.<=> A的行列式 det(A)!=0
    14.<=> 0不是A的特征值

因为真实世界通常是多维度的,单个数已经不足以来描述真实世界。线性代数研究的就是一组数,也就是向量。

向量

向量是一组有序的数,表示方向,如物理世界中。又可以表示多维世界。有序说明了(a, b)和(b, a)是两个不同的向量。

向量有其基本的运算:

1.向量加法
2.数量乘法

由这两个基本操作想到了向量空间。

向量空间

空间是一个集合,我们经常说的2D,3D空间,实际上是欧几里得空间。现在知道,欧几里得空间是点集,又是起点为(0,0)的向量集合。此处所讨论的向量空间默认指的是欧几里得向量空间。

向量空间是个集合,其中的元素必须定义两个基本运算:

1.向量加法
2.数量乘法

这两个基本运算又必须满足十条性质。(这是向量空间的定义)

这两个运算十分重要,因为这使得向量成为向量。

之所以把向量默认为欧几里得空间的向量,是因为现实世界中,欧几里得空间是最常见的。

把不是欧几里得空间的其他空间称为“广义线性空间”。比如,所有的2*2的方阵构成一个向量空间,其中定义向两加法为矩阵加法,定义数量乘法为矩阵的数量乘法。可以证明这个空间中的2*2方阵满足十条性质。

有了空间,就有子空间。

子空间

啥是子空间:如果V是一个向量空间,S是V的子集,而且S也是一个向量空间(或者说,S对加法和数量乘法封闭),那么称S是V的一个子空间。

比如,2维欧几里得空间是一个向量空间V,现在有一条过(0,0)的直线,所有这条直线上的向量构成V的一个子空间S。可以证明S对加法和数量乘法封闭。

而假如现在由一条不过(0,0)的直线,所有在这条直线的向量空间不是V的子空间。可以证明,这个空间对加法和数量乘法不封闭。

补充一点,之所以(0,0)点是个关键,是因为欧几里得空间的向量起点一定要是(0,0)。

上述例子进一步说,S空间是过(0,0)的一条直线。那么任何这条只直线上的非零向量v都可表示空间S中的其他任何向量,也就是说v可以生成S中的所有向量。那么这个非零向量v就是这个子空间中的一组基,子空间的维度为1。

有一点需要注意,如果一个欧几里得空间中每个实数元素组包含n个元素,这个空间维度一定是n吗?错!正如上述,过原点的一条直线是二维欧几里得空间的一个子空间,这个子空间中每个元素含有x,y两个元素,但是这个子空间的维度是1,非2。

那么什么是空间的一组基呢?

空间的基

先看两个命题:

命题1:如果m个向量生成n维空间,则m最小为n。
命题2:如果m个n维向量线性无关,则m最大为n。

由上述两个命题,可以得到空间基的定义:
若一组向量可以生成整个n维空间,且线性无关,则这组向量一定有n个。这样一组向量是n维空间的的一组基。

基的作用是啥:在n维空间中,如果给定一组基,任何一个向量(或点)都可以表示成这组基的线性组合。而且表示方法唯一。

比如2维欧几里得空间中由无数组基,其中最常使用的是标准正交基:(e1,e2)。e1与e2正交,就是垂直,且模为1。

实际上,我们常说的一个向量,如(12,8),默认是使用二维欧几里得空间的基来表示的,也就是说,(12,8)左边是默认左乘(e1, e2)=((1,0)T,(0,1)T)。这个乘法表示的含义是,在(1,0)T这个方向上移动12个单位,在(0,1)T这个方向上移动8个单位,后得到的点或坐标(12,8)。

同样这个点也可以使用其他的基来表示。如(u,v)=((4,1)T,(2,3)T)。在这个基中,(12,8)用(2,2)来表示,就是说,在方向(4,1)T上移动2个单位,在(2,3)T方向上移动2个单位,就移动到了(12,8)。所以在(u,v)这组基下(2,2)来表示同一个点。

由上述,可以理解:矩阵A的列向量线性无关+矩阵A可以生成n维空间=>A是方阵且A的列向量是n为空间的基。也就是等假命题6,7,8。

只是用标准正交基不行吗,为什么还要由其他基。因为对于特定的问题,把问题放到其他基会更容易解决问题。

知道了什么是空间的基,那什么是空间的维度呢?

空间的维度

空间维度的定义是:一个空间的基中,向量的个数,称为空间的维度。

如二维欧几里得空间的基(e1,e2)这个基中由两个向量,所以dim()=2。

回看空间基的两个命题,什么叫线性无关? 什么又是“生成n维空间”?

线性无关

定义:对于p个n维向量,存在一组k(p个)全为零时才有,v与对应k相乘后相加的结果为0。则称p个v线性无关。

也就是说,任何一个v都是独立存在的,不能由其他向量的线性组合来代替。

反过来,如果一组向量线性相关,那么表示其中有一个向量可以由其他向量线性表示,这个向量对应的k为0。也就是说,被线性表示的向量不能增加系统的信息量,系统有信息冗余。

把上述“v与对应k相乘后相加”称作v的线性组合。

线性组合

就是向量相乘后相加,体现了向量的两种最基本运算:向量相加,数量乘法。

从矩阵的列视角来看,矩阵与向量的乘法也是个线性组合,是矩阵列向量的线性组合。其中的v以列向量的形式构成矩阵,所有的k构成向量。

另一个例子,Guass-Jordan 消元法,结果的每一行,是原来矩阵各行的一个线性组合。注意,消元法的结果描述的是原矩阵列向量的关系。

生成空间

假如有两个线性无关的二维向量(u,v),在二维欧几里得空间中的任何一个向量都可以表示成u,v的线性组合,则称u,v可以生成整个二维空间。

可以拓展到n维空间。

但是既然u,v可以生成整个二维空间,那么再增加任意一个向量w,这三个向量u,v,w也能生成整个二维空间。只需要w前的系数为0。问题来了,至少需要多少个向量才能生成整个二维空间呢?结论是:对于n维空间,至少需要n个向量才能生成。用反证法,把问题转化齐次线性方程组解的问题。

看待矩阵的4大视角

视角:

空间视角:列向量  (坐标系或空间)
系统视角:线性方程组
函数视角:行向量 (与线性变换相关)
数据视角:记录与特征

线性系统

啥是线性?所有未知数是一次的。

线性系统就是多个一次方程联立。线性系统中存在一个矩阵叫做增广矩阵。对这个矩阵的操作使用Guass-Jordan消元,返回一个阶梯矩阵。使用这个操作来判断这个线性方程组解的结构。解的结构本质上是经过消元后,方程组的个数与未知数个数的关系。

线性系统中,当等号右边全为零时,叫做其次方程组。

许多LA相关问题都可以经由线性系统的视角,证明线性方程组的解,来证明。

比如:方阵的逆与线性相关的关系。如何判断线性相关否,根据定义来:这几个向量的线性组合(等号右边为0)是否只有零解,若只有零解,表示定义中的k全为零,全为零啥意思,就是所有k对应的所有向量线性无关(线性无关的定义)。 如果方阵A可逆,那么Ax=0 <=> A的逆*A = A的逆*0,即I*x=0(0矩阵),所以x=0。

也就是说,方阵A可逆,则A的列向量线性无关。

线性变换

变换是一个函数,一个线性变换T(x)必须满足两个条件:

T(u+v)=T(u)+T(v)
T(C*u)=C*T(u), C属于1D欧几里得空间

看,又是加法数量乘法
一个线性变换对应一个矩阵。而且所有矩阵都对应一个线性变换。

从几何角度理解特征值特征向量时,因为只给出了一个变换,所以首先那需要判断这个变换是否是一个线性变换,若果是,那么就对应一个矩阵。有了矩阵,才能根据定义找到特征值和特征向量。

基与坐标系

行空间

列空间

方阵的秩

标准正交基

方阵的行列式

行列式只是方阵的一个属性,对于非方阵是没有行列式这一说的(暂时)。方阵A的行列式用det(A) 表示。对于二维欧几里得空间,它由无数个基,怎样来区分彼此呢?可以使用基构成的面积的大小来区分。对于3D欧几里得空间,就是体积了。

所以行列式的几何意义就明确了。由于行列式有正负之分的,所以更确切的说,行列式的几何意义是有向面积或有向体积。

行列式其实是用于研究特征值和特征矩阵的。

行列式的计算在大学是着重练习的,但其实计算不是重点。这里由个通用的计算行列式的方法:

进行Guass消元,
过程中不做归一化,
行置换列置换操作,每一次置换操作,符号改变一次没所以要记录置换了多少次,
最终化为上三角矩阵,即对角线以下为0。

堆中行列式的结果,就是对角向上元素累乘。

补充一点,啥是初等矩阵:对单位矩阵进行初等行操作得到的矩阵。

还有一部分内容是关于行列式的代数表达,涉及到余子式,代数余子式,伴随矩阵,Cramer法则等。代数表达在数学上很优美,但是咋实际计算行列式值时,很低效。行列式中重要的是其性质,之后的LA高阶内容都会用到行列式性质。

特征值特征向量

这又是方阵的另外两个属性。是把方阵作为基,从变换的角度看的。这个变换拥有一些特征,这些特征被特征向量特征值描述。

一个向量在基A中的表达是u,在标准正交基E中的表达是v,如果变换满足A*u=lambda*E*v,而E*v=u,给出一个向量,默认都是用E基表达。lambda为标量。

也就是A*u=lambda*u,也就是说,uv 同方向lambda称作方阵A的特征值,uA对于lambda的特征向量。

  • 如何求一个方阵的特征值和特征向量?

    对于A*u=lambda*u.

    • u为零向量时,不论A是啥,等号都成立,所以u=0是平凡解。也就是说,u=0不是任何方阵的特征向量。不能表达A的特性。

    • lambda=0时,不是平凡解。lambda=0,即A*u=0。是齐次线性方程组。上一条说过了,u不能为0向量。也就是说,A*u=0有非零解。
      回忆:[若A可逆,A*u=0只有零解],现在条件是,u是其非零解,即A不可逆。
      总结:若lambda=0A的特征值, 那么A不可逆。即不可逆方阵的一个特征值可以是0.

      接着求,A*u=lambda*E*v => A*u - I*lambda*u = 0 => (A-lambda*I)*u=0 我希望这个表达式有非零解。

      若有非零解,则(A-lambda*I) 不可逆,就是说det(A-lambda*I)=0. (看到了把,行列式在此出现)。

      根据det(A-lambda*I)=0可以求出A的若干特征值lambda,进一步,把lambda带入A*u=lambda*u便可以求得这个lambda对应的特征向量组。

理解的重点:

* A的特征向量不可能是0向量,
* 同一个向量在不同的基中的表示同方向或逆方向,
* 特征值特征向量与变换有关。
  • 特征值与特征向量的一些性质:

    • 如果u值A对应于lambda的一个特征向量,则k*u也是lambda的一个特征向量。
    • 如果A的一个lambda=0,则A不可逆。
    • 对角矩阵,上三角矩阵,下三角矩阵的特征值,就是主对角线上元素的值。
    • 如果lambda是A是特征值,则lambda^m 是A^m的特值。
    • 如果lambda是A的特征值,则1/lambda是A的逆的特征值。
  • 从几何角度理解特征值和特征向量

    几何中,一个变换,比如投影变换:2D中将任意向量投影到向量(2,3)所在的直线。不一定对应一个矩阵。所以要先判断这个变换是一个线性变换。根据线性变换的内容:满足下面两个条件才是线性变换:
    T(u+v)=T(u)+T(v)
    T(C*u)=C*T(u), C属于1D欧几里得空间
    显然投影变换满足上述条件,所以可以得到矩阵A。不过我们不求矩阵A,也可以从几何角度的到这个变换的特征值特征向量。

    投影变换的特征值是什么呢?因为从定义看,特征向量经过变换后与变换前同方向。所以秩序在投影变换图中找那些向量满足变换前后同方向。

    显然对于过(0,0)和(2,3)两点的直线l,其上向量俊满足上述条件。对于特征值,英文l上的 向量投影到自身,还是自身,所以lambda=1。