Link: MIT
Linear Algebra - Gilbert
矩阵乘法
左乘对行操作,右乘对列操作。也就是说, 的第 行,是根据 的第 行对 的各行线性组合的结果;同样地, 的第 列是根据 的第 列对 的各列线性组合的结果。
当然,第一个 是列向量,第二个是行向量。 同样显然地, 是对 每一列的线性组合, 是对 每一行的线性组合。
注意矩阵乘法对加法有分配律。
矩阵逆
一个系数矩阵的消元是线性变换,对于消元的每一步作出对应的变换矩阵就容易得到这一结论。
这里,总的 idea 就是 stacking
together,矩阵乘法可以分成多个 block 然后再乘起来。
易证: 第二步是显然的,因为转置交换行列,
交换顺序乘法才得以成立。当然结果也要转置,而 。 当然,先有:
置换矩阵
example: 其实就是置换。有性质: 这是显然的,因为对 就是 ,而这与
的意义是相统一的。
消元的
对于矩阵消元,有 其中
是消元后的上三角矩阵。
是初等行变换之一对应的矩阵,其对角线元素均为 ,且都是下三角矩阵。
作变换: 这是因为,消元(即 )从上往下进行,而 从下往上进行,这就使得
中的每个非零元素恰好对应一次消元的初等行变化,其性质比 更好。
向量空间
即一些向量的线性组合能生成的所有向量组成的空间。其等价于所有的 ,使得存在 使 。生成的向量空间称为
的列空间 (Colunmspace)。
当然
是一个向量空间。
秩
把一个矩阵
消元成类似上三角阶梯型矩阵,得到的主元
(Pivot) 个数,也即行 /
列空间维数,称为矩阵的秩
(Rank)。
有结论行秩等于列秩,也即行向量,列向量空间维数相等。有简单证法,知乎说有根据对偶空间的高阶理解方法,但是没太懂。
零空间
我们定义零空间(Nullspace)是 的解集 ,容易发现零空间是向量空间。注意解必定存在。
给出矩阵 ,试求其零空间的一组基向量 :对
消元为阶梯型矩阵,再回代使得每一主元列都只有一个元素不为零,且该元素为
。最后得到矩阵 。
不妨假设, 的 个主元列恰好位于前 列。于是有: 其等价于 。
根据定义, 中每一列向量 都满足 。于是有: 可解得:
更直观地说,我们要取 的
个特殊解作为 的列。不妨说,对于第 个特殊解,取第 个自由元为 ,其余为 ,容易证明它们线性无关。于是有: 也即 的第 列。
将其代入方程。容易发现,除去第
个自由元之外,所有自由元所处列均为 。将第 个自由元列移项到右侧,有: 堆叠即得 。不难发现,解集构成 维向量空间。
同时注意:矩阵的列空间是
维的向量空间。这是因为,零空间的基恰好给出了每一个自由元如何等于主元的线性组合。
方程
有解充要条件为 属于 的向量空间(根据定义, 是 各列的线性组合)。
或:各行任意线性组合生成的零行右侧系数也为 0。
对 消元得到 ,并令所有自由元为
以得到一个特解(不妨假设方程有解),称为 。设方程 的解为 ,则根据分配律, 也是
的一个解。此为充分性,但必要性也显然。
直观地说,
解集的向量空间是一个 维平面(用
代指秩),将此平面平移一个 ,即得到了 的解集平面。
考虑
列满秩的情况:此时没有自由元,解数量为 或 。
考虑行满秩的情况:此时解数量为 。
考虑满秩的方阵:此时没有自由元也没有零行,解数量为
。
考虑不满秩的矩阵:此时有自由元也有零行,解数量为 或 。
Four important subspaces
对于 矩阵 ,有:
- 零空间:记作 。
- 列空间:记作 。
- 左零空间:记作 。被称作“左零空间”是因为 等价于 。
- 行空间:记作
试讨论左零空间的基:首先左零空间是 维的。令 为
消元再回代后的标准形式矩阵。则有 。
注意到 中有
个零行,这些零行对应的
中的行恰好给出了对主元行线性组合以得到零行的方案,换句话说也就是
的解 。即, 中这些行就构成了 左零空间的一组基。
正交
称两向量垂直或正交
(Orthogonal),如果 。 类似地,称两向量空间 正交,如果 中任意两向量都正交。
对于 矩阵 ,零空间与行空间正交,这一结论可以从定义
中看出。值得注意的是,零空间
与行空间 构成了空间
的正交补,它们把这一空间分为了两部分。也就是说,,其中对向量空间做加法意味着构造一个新的向量空间,使得新空间包含了所有原来两个空间元素的线性组合。
矩阵
首先容易观察到的是,对于 矩阵 , 是
的对称矩阵,这是因为其转置等于自身。
有定理: - -
投影
设列满秩的矩阵 ,其列空间 表示一个超平面。现在又有向量 ,称向量 是 在 上的投影
(Projection),如果存在 使 (即 )且 与
正交。
对于给定的 ,试求 。
首先有引理:如果矩阵
列满秩,则
可逆。考虑到可逆方阵的零空间一定只有零向量,我们即要证:方程 的解仅有 。
两边同时左乘 ,再应用结合律,等式可变形为 ,也即 ,这就说明 。考虑 列满秩,则 的解有且仅有 ,得证。
回到开始的问题,即求 。根据投影的定义有:,作各种带入之后变为 。移项得 。由引理得
可逆,即: 带入可得 这告诉我们投影是线性变换,即上式可以写成 我们称其中的
为投影矩阵。有性质: - :带入表达式易证 - :考虑投影的几何意义易证
事实上, 是 在 上的投影,而同时 也是其在 上的投影。且 。看上去像是一种正交分解。
最小二乘法
考虑平面里的一些点 ,试用一条直线拟合。不妨设直线 。
考虑所有点共线的情况:令 , 此时有 记左侧矩阵为 ,右侧列向量为 ,则 。上式告诉我们 。进一步地,根据定义,对于任意 ,直线拟合值堆叠成的向量都在 中。
现在考虑一般情况:此时仍设 。共线的特殊情况启发我们,寻找最优的拟合直线就意味着在 中寻找一个 使其与
的距离最小,而此即投影的定义。也就是说:令 为 在 上的投影,此 即为拟合值,其对应的 ()即给出了拟合直线的方程。
自然地,此时我们定义的损失函数就是 到 的距离,其平方为 即所谓最小二乘。利用投影矩阵容易计算出 与 。
正交基
正交基是一组基(当然,线性无关),使得其堆叠成的矩阵 满足 。也就是说,任意 均满足 在这基础上,如果所有 都是单位向量,即
,则我们称这组正交基为标准正交基。
使用标准正交基带使许多过程更容易。举例来说,如果在投影中使用标准正交基来描述超平面(即
),投影矩阵即变为 ,。这就是说,
的每一个分量都满足 。
下面介绍将一组基
正交化的 Gram Schmidt 方法。先取 ,随后令 等于 分别减去其在 上的投影,这使得 与 分别正交。如果令 ,上述操作等价于令 减去其在 上的投影。
Gram Schmidt 过程可以表示为 ,
以右乘形式出现,这是因为整个算法都在做列变换。同时观察算法流程可以发现
是上三角矩阵。
行列式
矩阵 的行列式是一个数,记作
或 。行列式仅对方阵有定义;由三条规则定义:
1. 2.
交换矩阵两行,行列式乘 3. a)
将某一行乘以 ,行列式也乘 b)
矩阵每一行独立地具有线性性
下面列出一些由定义推出的性质
有两行相同的矩阵,行列式为 0。
有全零行的矩阵,行列式为 0。
将一行加上另一行的任意倍,行列式不改变。
上三角矩阵的行列式等于对角线元素之积
先回代消元再提取行的因数可证。
考虑行列式的几何意义,并将其作为线性变化看待,容易理解。
注意其不是线性运算。
考虑作
式的分解,原式转为 由积性得 由定义知,
是下三角矩阵,且对角线元素全为 ,故有 ;而
是上三角矩阵,转置不改变其对角线,即 。故上式成立。
这说明,行列式定义(或性质)中一切的行变换都对也列成立。
由上述结论导出了一种行列式的计算方法:将矩阵利用性质“将一行加上另一行的任意倍,行列式不改变”消元再回代,得到对角矩阵。求对角线元素之积即得到行列式。
对于 矩阵 有结论:其列向量(或者行向量)在 中确定的几何体的体积为
。当然如果矩阵不可逆我们认为体积是 ,就像平面的体积是
一样。一种理解是,在将矩阵化为对角矩阵的过程中,“高”不改变,类似于 Gram
Schmidt 方法。
代数余子式
首先讨论求行列式的另一种方法。同样考虑 矩阵 。利用性质 3(b)
将矩阵每行逐元素分离,最后得到这样一个式子:
等于一系列矩阵行列式之和,其中每个矩阵在每一行均有且仅有一个从 对应位置选取的元素,其余元素为 。举例来说: 在所有分离出的矩阵中,有全零列的矩阵行列式为 ,不需考虑。最终留下的矩阵每行每列均只有一个非零元素,这些矩阵总共
个。可以发现,最终的和式共有
项,每项均是 个 之积。
定义在矩阵 中, 的代数余子式
(Cofactor) 为上述和式中 的系数,记为 。注意
包含正负号。根据组合意义,对于任意的第 行,有:
考虑
的求法。容易发现, 给出了选择
的所有(被分离出的)矩阵对行列式的贡献,那么 即是这部分贡献中, 以外的因子。考虑一个 矩阵: 在这里,我们考虑选择了 的矩阵们的贡献。由于 已被选择,所以第 行与第 列均不能再选择元素。此时求 是求 的一个子问题,容易看出 等于右下方
方阵的行列式。当然,要考虑正负号:我们需要将正在考虑的元素移到
位置以最终构成对角矩阵,故将其乘以系数 。形式化地说,我们有:
称 组成的矩阵为 。 有结论: 考虑
的意义就不难发现
的对角线元素均为 。考虑非对角线位置 :其值相当于一矩阵的行列式,这矩阵将
的第 行替换为 的第 行,在第
行上应用求行列式的和式就得到这一新矩阵的行列式。这矩阵有两个相同的行,即其行列式为
。即上式得证。 我们称 为
的伴随矩阵。于是有求逆的代数形式公式: 当
时即矩阵不可逆。
考虑 ,克拉默法则(Cramer's
Rule)给出了
的每一分量的代数形式公式。其为: 其中, 的第 列为 ,其余元素均为 中对应位置的元素。证明暂且从略。
特征值与特征向量
对于
方阵 ,如果向量
在被
左乘变换之后方向不变(可以反向),即如果有 ,我们就称 为 的特征向量
(Eigenvector),其对应的 称为 的特征值
(Eigenvalue)。
考虑求解矩阵
的特征值与特征向量。
移项得到 ,这个式子不能直接解,式子里有两个信息: - 特征向量 一定构成一个 subspace - 是奇异矩阵( 不被认为是特征向量),即
事实上给出了一个关于 的
阶多项式,并要求这多项式的根。于是 方阵 有
个(可能相同的)特征值。特征值可能是复数,如二维向量的旋转矩阵。
来几个 fun fact。 -
对称矩阵的特征值一定全是实数,反对称矩阵
(anti-symmetric matrix,)
的特征值一定全是纯虚数。 - 三角矩阵的特征值恰好是对主角线上的 个元素。 -
矩阵特征值之和等于对角线元素之和,这个和称为矩阵的迹
(Trace),记作
对角化
有结论:如果 的 个特征值互不相同,那么 必然有 个线性无关的特征向量,分别对应于 个特征值。如果把每个特征值的
方程堆到一起,就得到如下方程。 其中 如果 可逆(等价于 个特征向量线性无关),方程可化为 或 。后者两边同时平方就得到
,容易发现这对于 也成立。我们称 的分解为 的对角化
(Diagonalization)。
现在考虑数列线性齐次递推。假设有向量递推公式 ,显然通项是
。如果
能被对角化,我们就能得到一个不用搞很多矩阵乘法的形式 。如果我们取
的各列为一组基来分解 ,就有
,即 。展开出来: 这一形式避免了求逆,并可以直接写出通项公式。
考虑斐波那契数列。非常熟悉地: 求 的特征值得到 。代入
就容易得出
的通项。
一阶线性微分方程组
考虑微分方程组: 写成矩阵形式就是 这个形式让人很不爽,因为每个式子里面都有两个变量 ,Gilbert 告诉我们要利用
的对角化来将其解耦
(Uncouple)。使用与上一节里相似的技巧,令 为 的特征向量矩阵,我们设出 使得 (假设 可对角化),然后作代换得到 同左乘 得
我觉得这个地方比较 magical。看懂是看懂了但是感觉很像是巧合。
于是有显然的解 换元为 (注意 ) 得到
[!NOTE] 我们引入了矩阵的指数函数。矩阵的指数函数用 定义,即:
将 带入定义式, 这也就是说,微分方程组的解可以表示为
[!NOTE] 根据定义不难注意到
是一个非常好的形式,其中对角线上的元素全部可以分离出来,变成互相独立的
个泰勒级数。于是,
高阶线性方程组
考虑 阶线性微分方程
设出向量 ,使得