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)。
现在考虑数列线性齐次递推。假设有向量递推公式 ,显然通项是 。如果 能被对角化,我们就能得到一个不用搞很多矩阵乘法的形式 。如果我们取 的各列为一组基来分解 ,就有 ,即 。展开出来: 这一形式避免了求逆,并可以直接写出通项公式。
考虑斐波那契数列。非常熟悉地: 求 的特征值得到 。代入 就容易得出 的通项。
一阶线性微分方程组
考虑微分方程组: 写成矩阵形式就是