我永远在沙岸上行走

MIT: Linear Algebra

Link: MIT Linear Algebra - Gilbert

矩阵乘法

左乘对行操作,右乘对列操作。也就是说, 的第 行,是根据 的第 行对 的各行线性组合的结果;同样地, 的第 列是根据 的第 列对 的各列线性组合的结果。

当然,第一个 是列向量,第二个是行向量。 同样显然地, 是对 每一列的线性组合, 是对 每一行的线性组合。

注意矩阵乘法对加法有分配律。

矩阵逆

一个系数矩阵的消元是线性变换,对于消元的每一步作出对应的变换矩阵就容易得到这一结论。 这里,总的 idea 就是 stacking together,矩阵乘法可以分成多个 block 然后再乘起来。

易证: 第二步是显然的,因为转置交换行列, 交换顺序乘法才得以成立。当然结果也要转置,而 。 当然,先有:

置换矩阵

example: 其实就是置换。有性质: 这是显然的,因为对 就是 ,而这与 的意义是相统一的。

消元的

对于矩阵消元,有 其中 是消元后的上三角矩阵。 是初等行变换之一对应的矩阵,其对角线元素均为 ,且都是下三角矩阵。

作变换: 这是因为,消元(即 )从上往下进行,而 从下往上进行,这就使得 中的每个非零元素恰好对应一次消元的初等行变化,其性质比 更好。

向量空间

即一些向量的线性组合能生成的所有向量组成的空间。其等价于所有的 ,使得存在 使 。生成的向量空间称为 列空间 (Colunmspace)。

当然 是一个向量空间。

把一个矩阵 消元成类似上三角阶梯型矩阵,得到的主元 (Pivot) 个数,也即行 / 列空间维数,称为矩阵的 (Rank)。

有结论行秩等于列秩,也即行向量,列向量空间维数相等。有简单证法,知乎说有根据对偶空间的高阶理解方法,但是没太懂。

零空间

我们定义零空间Nullspace)是 的解集 ,容易发现零空间是向量空间。注意解必定存在。

给出矩阵 ,试求其零空间的一组基向量 :对 消元为阶梯型矩阵,再回代使得每一主元列都只有一个元素不为零,且该元素为 。最后得到矩阵

不妨假设, 个主元列恰好位于前 列。于是有: 其等价于

根据定义, 中每一列向量 都满足 。于是有: 可解得:

更直观地说,我们要取 个特殊解作为 的列。不妨说,对于第 个特殊解,取第 个自由元为 ,其余为 ,容易证明它们线性无关。于是有: 也即 的第 列。

将其代入方程。容易发现,除去第 个自由元之外,所有自由元所处列均为 。将第 个自由元列移项到右侧,有: 堆叠即得 。不难发现,解集构成 维向量空间。

同时注意:矩阵的列空间是 维的向量空间。这是因为,零空间的基恰好给出了每一个自由元如何等于主元的线性组合。

方程

有解充要条件为 属于 的向量空间(根据定义, 各列的线性组合)。 或:各行任意线性组合生成的零行右侧系数也为 0。

消元得到 ,并令所有自由元为 以得到一个特解(不妨假设方程有解),称为 。设方程 的解为 ,则根据分配律, 也是 的一个解。此为充分性,但必要性也显然。

直观地说, 解集的向量空间是一个 维平面(用 代指秩),将此平面平移一个 ,即得到了 的解集平面。

考虑 列满秩的情况:此时没有自由元,解数量为 。 考虑行满秩的情况:此时解数量为 。 考虑满秩的方阵:此时没有自由元也没有零行,解数量为 。 考虑不满秩的矩阵:此时有自由元也有零行,解数量为

Four important subspaces

对于 矩阵 ,有:

  • 零空间:记作
  • 列空间:记作
  • 左零空间:记作 。被称作“左零空间”是因为 等价于
  • 行空间:记作

试讨论左零空间的基:首先左零空间是 维的。令 消元再回代后的标准形式矩阵。则有

注意到 中有 零行,这些零行对应的 中的行恰好给出了对主元行线性组合以得到零行的方案,换句话说也就是 的解 。即, 中这些行就构成了 左零空间的一组基。

正交

称两向量垂直或正交 (Orthogonal),如果 。 类似地,称两向量空间 正交,如果 中任意两向量都正交。

对于 矩阵 ,零空间与行空间正交,这一结论可以从定义 中看出。值得注意的是,零空间 与行空间 构成了空间 正交补,它们把这一空间分为了两部分。也就是说,,其中对向量空间做加法意味着构造一个新的向量空间,使得新空间包含了所有原来两个空间元素的线性组合。

矩阵

首先容易观察到的是,对于 矩阵 对称矩阵,这是因为其转置等于自身。

有定理: - -

投影

设列满秩的矩阵 ,其列空间 表示一个超平面。现在又有向量 ,称向量 上的投影 (Projection),如果存在 使 (即 )且 正交。

对于给定的 ,试求

首先有引理:如果矩阵 列满秩,则 可逆。考虑到可逆方阵的零空间一定只有零向量,我们即要证:方程 的解仅有

两边同时左乘 ,再应用结合律,等式可变形为 ,也即 ,这就说明 。考虑 列满秩,则 的解有且仅有 ,得证。

回到开始的问题,即求 。根据投影的定义有:,作各种带入之后变为 。移项得 。由引理得 可逆,即: 带入可得 这告诉我们投影是线性变换,即上式可以写成 我们称其中的 投影矩阵。有性质: - :带入表达式易证 - :考虑投影的几何意义易证

500

事实上, 上的投影,而同时 也是其在 上的投影。且 。看上去像是一种正交分解。

最小二乘法

考虑平面里的一些点 ,试用一条直线拟合。不妨设直线

考虑所有点共线的情况:令 , 此时有 记左侧矩阵为 ,右侧列向量为 ,则 。上式告诉我们 。进一步地,根据定义,对于任意 ,直线拟合值堆叠成的向量都在 中。

现在考虑一般情况:此时仍设 。共线的特殊情况启发我们,寻找最优的拟合直线就意味着在 中寻找一个 使其与 的距离最小,而此即投影的定义。也就是说:令 上的投影,此 即为拟合值,其对应的 )即给出了拟合直线的方程。

自然地,此时我们定义的损失函数就是 的距离,其平方为 即所谓最小二乘。利用投影矩阵容易计算出

正交基

正交基是一组基(当然,线性无关),使得其堆叠成的矩阵 满足 。也就是说,任意 均满足 在这基础上,如果所有 都是单位向量,即 ,则我们称这组正交基为标准正交基

使用标准正交基带使许多过程更容易。举例来说,如果在投影中使用标准正交基来描述超平面(即 ),投影矩阵即变为 。这就是说, 的每一个分量都满足

下面介绍将一组基 正交化的 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] 根据定义不难注意到 是一个非常好的形式,其中对角线上的元素全部可以分离出来,变成互相独立的 个泰勒级数。于是,

高阶线性方程组

考虑 阶线性微分方程

设出向量 ,使得