MIT 18.06 线性代数总结(Part II)

时间:2024-05-18 18:17:29

引言

终于到了课程的后半部分,它的主题是关于 determinants 和 eigenvalues 的。

Properties of Determinants

教授在整个 lecture 18 中介绍了 Determinants 的10个属性。The determinant is a number associated with any square matrix; we’ll write it as det A or |A|. 文章 summary 中已经把这10个属性整理地很清楚了,没有什么好补充的了。

Determinant Formulas and Cofactors

通过上个小节中介绍的属性 3(b),可以推导出求 2×2 矩阵的行列式的公式,如下图所示。从这个推导过程中可以看出,我们先拆分第一行,得到2个矩阵,然后再把得到的这个2个矩阵分别拆分得到4个矩阵。

MIT 18.06 线性代数总结(Part II)

从这个模式中,不难得到3×3矩阵的行列式的公式:我们先拆分第一行,会得到3个矩阵,然后再分别拆分这3个矩阵的第2行,就会得到9个矩阵,然后再分别拆分这9个矩阵的第3行,会得到27个矩阵。幸运的是,这27个矩阵中会得到很多的0,就像2×2 矩阵那样,问题是哪些矩阵会是0呢?从那个2×2 矩阵就可以看出来,同一列上存在超过1个非0元素的矩阵就会为0。因此,这个3×3的矩阵的非0项有 3!=6 个,因此对于 n×n 的矩阵来说,就有 n! 个非0项。这是因为,第1行有n种选择,由于它占了一列,第2行就只有 n-1 种选择了,以此类推,你动手试试马上就明白了。

MIT 18.06 线性代数总结(Part II)

Cofactor formula 实际上就是重写我们上面得到的 determinant Formulas,下图中是沿着 row 1 的 cofactor,你也沿着其它的 rows 计算,哪个 rows 更容易得到矩阵的 determinant 就用哪个。在下图可以看到,第1行的每个元素乘以括号中的 cofactors,不难发现,each cofactor is (plus or minus) the determinant of a 2×2 matrix. 那么如何决定是正的还是负的 determinant 呢?用 (1)i+j,比如下图中的例子,a11 的 cofactor 就是正的 determinant,由于i=1,j=1; 而对于a12 的 cofactor 就是负的 determinant,由于i=1,j=2,你可以做一下 Exercises on determinant formulas and cofactors 中的练习题来巩固一下公式。

MIT 18.06 线性代数总结(Part II)

在这个 lecture 中,教授用上面得到的公式计算了一下 Tridiagonal matrix 的行列式,we get a sequence which repeats every six terms. 计算过程也很简单,请参考:Tridiagonal matrix

无论是 Determinant Formulas and Cofactors 都是用来求一个矩阵的 determinant 的,对于一个矩阵来说,哪个简单就用哪个方法求解。

Cramer’s Rule, Inverse Matrix and Volume

在前面的小节中,我给出了一个求矩阵的逆的算法,即通过对 [A|I][I|A1] 消元转换的过程。至此,我们可以通过先前学过的知识来得出一个 formula for A1,下面公式中的 CT 是 cofactors

A1=1detACT

要想证明上述公式的正确性,只需要证明 (detA)I=ACT,如下图所示,矩阵的第1行 × CT 的第1列实际上就是求矩阵 A 的行列式的 Cofactors 公式,即 detA, 矩阵的第2行 × CT 的第2列也是求矩阵 A 的行列式的 Cofactors 公式,以此类推,ACT 得到的矩阵对角线上应该全部是 det A,接下来如何证明其它的元素都是0呢?其实也很简单,如果你让矩阵的第1行 × CT 的第2列实际上就是矩阵V的行列式,这里矩阵 V 就是把原来矩阵A的第2行用A的第1行取替掉,这就导致了 V 的第1行和第2行相等,因此V是一个 singular 的矩阵,所以 det V=0. 同样的道理,你让矩阵的第1行 × CT 的第3列实际上也是一个矩阵的行列式,这次只不过是把原来矩阵A的第3行用A的第1行取替掉,以此类推。这会导致对角线以外的元素都是0,因此公式可证。

MIT 18.06 线性代数总结(Part II)

如果你已经理解了 cofactors,Cramer’s Rule 也很好理解,实际的计算中它并没有多大作用,它只不过给了另一种角度去看待公式。计算 inverses 还是用消元来的更有效,这里就不多说它了。

最后是行列式与体积之间的关系:|det A|=volume of box, box 的边是矩阵 A 的列向量。在前面,我已经总结了关于行列式的10个属性,后7个属性是前面3个属性衍生出来的,因此想证明它们的关系,我们只需要证明 volume of box 也满足前面3个属性,证明很简单,不多说了,看一下 lecture 20 马上就能明白了。给出三角形3个顶点的坐标,下图是用行列式计算其面积的公式,在某些情况下,用行列式计算面积要比直接算更为简单,这个公式也更容易记住。同时建议参考一下我总结的多变量微积分的小节:

MIT 18.06 线性代数总结(Part II)

Eigenvalues and Eigenvectors

从几何的角度看 eigenvectors:当矩阵 A 作用于向量 x 时,输出的结果平行 x. 写成代数的形式就是:Ax=λx,这里的 x 是矩阵 A 的特征向量; λ 是矩阵 A 的特征值。从这个公式不难看出,所有的向量都是 identity matrix 的特征向量,所有的特征值 = 1。注意:特征向量应该是 non-zero 向量。由于等式中有2个未知量(x 和 λ),我们需要点技巧来解等式。

首先,把等式变换成:Axλx=(AλI)x=0,现在很明显,我们要求的特征向量 x 就是 AλI 的 nullspace,因此要想 nullspace 有 non-zero 的解,AλI 必须是 singular. 即,det(AλI)=0, 求出 λ 以后,接着就可以求出特征向量 x 了。

接下来谈谈矩阵的对角化。If A has n linearly independent eigenvectors, we can put those vectors in the columns of a (square, invertible) matrix S. 如下图所示,我们可以得到:AS=SΛ,因此 A=SΛS1

MIT 18.06 线性代数总结(Part II)

接下来谈谈矩阵 A 的指数。一种角度是:如果 Ax=λx, 那么 A2x=λAx=λ2x. 另一种角度是:A2=SΛS1SΛS1=SΛ2S1. 因此可得结论: A 的 k 次幂,它的特征向量保持不变,而特征值也变成了 k 次幂。我们还可以得到另一个结论:就是当 |λ|<1,k 时, Ak0

从上面的推导过程可以看到,上面得到的所有结论依赖一个条件:A 要有 n 个 independent eigenvectors,否则结论都不成立。如果矩阵 A 的所有 eigenvalues 都不相同,那么它就保证有 n 个 independent eigenvectors. 幸运的是,大多数的矩阵都会有不同的 eigenvalues.

注意:Ax=λx 可以看出,有一个特征向量可以得到一个特征值,即一个特征向量对应一个特征值; 但是,多个特征向量有可能对应相同的特征值(比如单位矩阵或者 Finding Eigenvectors with repeated Eigenvalues 中的例子),反过来说是不成立的(多个特征值对应同一个特征向量)。

Eigenvalues 和 Eigenvectors 的重要属性

1、Eigenvectors with Distinct Eigenvalues are Linearly Independent

2、Singular Matrices have Zero Eigenvalues

3、假设矩阵A是一个大小为n,nonsingular 的方阵,那么它具有下面的性质:

  • A row-reduces to the identity matrix
  • The null space of A contains only the zero vector
  • The linear system has a unique solution for every possible choice of b
  • The columns of A are a linearly independent set
  • The rank of A is n
  • The determinant of A is nonzero
  • λ=0 is not an eigenvalue of A

4、Suppose A is a square matrix and λ is an eigenvalue of A, then αλ is an eigenvalue of αA

5、Suppose A is a square nonsingular matrix and λ is an eigenvalue of A, then 1λ is an eigenvalue of the matrix A1

6、Suppose A is a square matrix and λ is an eigenvalue of A, then λ is also an eigenvalue of the matrix AT

7、Suppose that A is a square matrix of size n, then A cannot have more than n distinct eigenvalues.

8、如果一个矩阵的特征值没有0存在(即它不是 Singular),那么它就有 full rank n; 反之,如果它的特征值有0,那么它的 rank=n-r,其中 r 是 nullsapce 的 dimension.

9、特征值的和 = trace

10、特征的乘积 = 行列式

关于每条属性的证明,有兴趣的同学请参考:Properties of Eigenvalues and Eigenvectors

Symmetric Matrices and Positive Definiteness

如果一个矩阵有特殊的属性,那么它的特征值和特征向量很有可能有特征的属性。对于 Symmetric Matrices 的特征值和特征向量来说,它有以下2个特殊属性:

  • A symmetric matrix has only real eigenvalues
  • The eigenvectors can be chosen orthonormal

教授在课上给出了属性1的证明,很简单,这里就不总结了,属性2教授的书中也给出了证明。有了上面的这2个属性,我们就可以把上面得到的对角化公式,A=SΛS1,改写成 A=QΛQ1=QΛQT,接着我们可以得到下图中的推导。如果你忘记了矩阵的乘法,参看一下 Perspective 4: columns × rows

MIT 18.06 线性代数总结(Part II)

通过上图的结果可以总结出:The matrix qkqTk is the projection matrix onto qk, so every symmetric matrix is a combination of perpendicular projection matrices. 关于为什么是映射矩阵,参考我先前的总结 Orthogonal Matrices and Gram-Schmidt

对于一个大的矩阵来说,用 det(AλI) 来求解特征值是不现实的,然而计算 pivots 是容易的,the signs of the pivots of a symmetric matrix are the same as the signs of the eigenvalues,因此可以得出:

number of positive pivots = number of positive eigenvalues

Positive Definite Matrix 有以下3个特殊的属性:

  • 是一个 symmetric matrix
  • 它所有的 pivots 和 eigenvalues 是正的
  • 它所有的 subdeterminants(即从矩阵的左上角开始,1×1,2×2,….,n×n 的矩阵的行列式) 是正的

不难发现,这3个属性是可以相互推导出来的。上面已经说过了如果一个矩阵为 symmetric,那么 pivots 和 eigenvalues 的正负的个数是一样的。因此,如果 pivots 都是正的,那么它的 eigenvalues 也一定都是正的; 如果它的 eigenvalues 都是正的,那么 subdeterminants 也都是正的,因为行列式=特征值的乘积。

我们有以下4种方法来测试来测试一个 symmetric matrix 是否为 positive definite?如下图所示:

MIT 18.06 线性代数总结(Part II)

上面的4种方式中,通常 determinants test 给以我们最快的速度来得到结果。第4种方法可以让我得到一个 quadratic form 的多项式,比如下图中的例子,其实有一个更简单的方法可以直接得到函数,不需要像下图那样用矩阵的乘法去计算,这个方法就是:对角线上的元素直接就是每个变量平方前面的系数,非对角线上的不同变量之间组合前面的系数,吉佬在 lecture 27 中的 42:55 就用的这个方法直接写出来的。

MIT 18.06 线性代数总结(Part II)

得到了函数,那么如何判断它是否始终大于0呢?一种是用完全平方的方法,这种方法也有个技巧:平方项前面的系数就是矩阵消元过后的 pivot,其它的系数是消元过程中的乘子,Positive definite matrices and minima 中的第3页中有一个2×2矩阵的例子,recitation video 中有3×3矩阵的例子; 另一种方法就是用导数了。

记得我先前总结的 second derivative 测试判断 可以用 Positive Definite Matrix 来联系一下。一个二元变量的函数的二阶导矩阵可以写成 Hessian matrix 的形式:[fxxfyxfxyfyy],如果这个函数有 minimum,那么这个矩阵一定是 Positive Definite 的,因为正定意味着这个矩阵的行列式是正的,即 fxxfyy>f2xy,这与我们在微积分课程中学到的是一致的。

Similar matrices and Jordan form

1、Given a symmetric positive definite matrix A, is its inverse also symmetric and positive definite? The answer is YES!

证明:Ax=λx,两边同时乘以 A1 得:A1Ax=λA1x,因此 x=λA1x,两边同时除以 λ 得:A1x=1λx,因此可以得到 A 与 A1 之间的特征值的关系是互为倒数。那么,如果 A 的特征值是正的,A1 就也是正的,所以 A1 是 positive definite. 题外话:如果 A 有一个特征值是0,这会导致 10,因此这种情况下,A1 不存在,即如果 A 有一个特征值是0,那么它是 singular 的,与我们先前所学一致。

2、If A and B are positive definite, is A + B positive definite?

证明:由于 A 和 B 都是 positive definite,那么 xTAx>0xTBx>0,因此 xT(A+B)x>0,所以 A + B 是 positive definite.

3、假设 A 是 rectangular(m×n) 的矩阵,那么 ATA 是 square and symmetric,这个我在 Projections onto Subspaces 已经给出了证过了。这里我想问的是:ATA 是 positive definite 的吗?

证明:Ax is a vector, so xT(ATA)x=(xTAT)(Ax)=(Ax)T(Ax)=|Ax|20. The only remaining question is whether Ax = 0. If A has rank n (independent columns), then xT(ATA)x=0 only if x = 0 and A is positive definite. 如果 rank 小于 n 的话,它也是个 positive semi-definite.

Another nice feature of positive definite matrices is that you never have to do row exchanges when row reducing – there are never 0’s or unsuitably small numbers in their pivot positions.

接下来总结一下相似矩阵(Similar matrix)。Two square matrices A and B are similar if B=M1AM for some matrix M. This allows us to put matrices into families in which all the matrices in a family are similar to each other.

If A has a full set of eigenvectors we can create its eigenvector matrix S and write S1AS=Λ. So A is similar to Λ (choosing M to be this S). 相似矩阵家族有一个非常重要的特性:它们之间相互相似,并且有相同的特征值,这个家族中最杰出的成员就是特征值矩阵了。通过 Ax=λx, B=M1AM 以及下图的推导,我们就可以证明为什么相似矩阵有相同的特征值。从下图的结果可以看出 M1x 是矩阵 B 的特征向量,特征值依然是 λ,与 A 的特征值相同。根据 Ax=λx 可知,相似矩阵虽然有相同的特征值,但是特征向量并不相同,如果特征向量也相同,那么就是同一个矩阵了。

MIT 18.06 线性代数总结(Part II)

When we diagonalize A(S1AS=Λ), we’re finding a diagonal matrix Λ that is similar to A. If two matrices have the same n distinct eigenvalues, they’ll be similar to the same diagonal matrix. 如果特征值不存在重复的情况,那么矩阵一定可以对角化; 反之,如果存在重复,能否对角化就取决于特征向量了。

Jordan form

Singular Value Decomposition

最初我们把一个矩阵 A 分解成 A=S1ΛS,但是这个特征向量组成的矩阵不一定是 orthogonal 的,因此这不是我们想要的。接着,由于 symmetric 矩阵特殊的性质,我们可以把这个分解转换成 A=QΛQT,这符合我们的要求,这个分解实际上就是 SVD 的特例。但是,并不是每个矩阵都是 symmetric 的,对于没有特殊性质的矩阵,我们应该如何分解它呢?答案是 SVD,它的分解形式如下,其中 U 是 orthogonal, Σ is diagonal, and V is orthogonal.

A=UΣVT

如果2个向量是相互垂直的,那么经过 linear transformation 以后它们也一定是垂直的,虽然是垂直的,但是如果是任意的向量,你不能保证它被线性变换到哪个空间。因此,这里我们设置2个特殊的子空间,它们分别是矩阵的 row space 和 column space. 我们的目标是:把 row space 上的 orthonormal 的 basis 线性变换到 column space 上。当然了,给定的 basis 并不一定是 orthonormal 的,但是通过 Gram-Schmidt 把它转换成 orthonormal 的。如下图所示,通过 Gram-Schmidt,v1vr 组成的矩阵已经变成了 orthonormal 的,线性变换过后的 u1ur 在 column space 上,它们也是相互垂直的,但是不一定是单位长度的,因此我们把转换成单位长度以后,会有乘子 σ1σr. 现在,下图中 u1urv1vr 组成的矩阵都是 orthonormal 的了。用矩阵的语言可以写成:AV=UΣ,由于 V 是 orthogonal 的,V1=VT,因此我们可以把公式改写成:A=UΣVT. The columns of U and V are bases for the row and column spaces,respectively. Usually UV, but if A is positive definite we can use the same basis for its row and column space!

MIT 18.06 线性代数总结(Part II)

有了公式,现在的问题是如何求出 U,Σ,VT 呢?如下图所示就可以求出 V 和 Σ 了。

MIT 18.06 线性代数总结(Part II)

参考资料

Repeated Eigenvalues and Symmetric Matrices

Some Facts on Symmetric Matrices

For given n × n matrix A singular matrix, prove that rank(adj A) 1

Is adjoint of singular matrix singular? What would be its rank?

Matrix A is regular iff its adjugate matrix is regular