矩阵求导 Ref 0
注:本文来自 Dwzb, 因 csdn 篇幅合并超限分篇连载,本篇为 Ref 0。
略作重排,如有内容异常,请看原文。
线性代数总结
Dwzb 2020-01-10
本文目标
-
读者在阅读完 “理解部分” 后,能够对矩阵的各种操作有透彻的理解,对于一些性质无需证明即可直观地判断其正确性。
-
“性质与方法部分” 有助于读者进行习题解答,并检验对 “理解部分” 的掌握程度。
-
“概念总结部分” 可作为快速查阅的手册,在前两部分中提及的一些容易遗忘的概念,大多能在此部分找到。
本文内容不仅涵盖《线性代数》的知识,还包含部分《矩阵论》的内容,主要是为满足机器学习和深度学习的需求而编写。
理解
首先,将矩阵视为一种运动或线性变换。例如,矩阵 [ 0 − 1 1 0 ] \left [\begin {array}{rr} 0&-1\\1&0 \end {array}\right] [01−10] 表示逆时针旋转 90 度。
-
矩阵与向量相乘,意味着对该向量进行相应的线性变换。例如, [ 0 − 1 1 0 ] [ 1 1 ] = [ − 1 1 ] \left [\begin {array}{rr} 0&-1\\1&0 \end {array}\right] \left [\begin {array}{r} 1\\1 \end {array}\right]=\left [\begin {array}{r} -1\\1 \end {array}\right] [01−10][11]=[−11] 。
-
两个矩阵相乘(以 2 × 2 2\times2 2×2 矩阵为例),表示两种变换的叠加。 A B AB AB 表示先进行 B B B 变换,再进行 A A A 变换。也可以理解为 A A A 对 B B B 的两个列向量分别进行变换。
-
矩阵的线性变换本质上是对基的变换。原来的基是 [ 1 0 ] \left [\begin {array}{r} 1\\0 \end {array}\right] [10] 和 [ 0 1 ] \left [\begin {array}{r} 0\\1 \end {array}\right] [01] ,经过变换 [ 0 − 1 1 0 ] [ 1 0 0 1 ] \left [\begin {array}{rr} 0&-1\\1&0 \end {array}\right] \left [\begin {array}{rr} 1&0\\0&1 \end {array}\right] [01−10][1001] 后,得到新的基是 [ 0 1 ] \left [\begin {array}{r} 0 \\1 \end {array}\right] [01] 和 [ − 1 0 ] \left [\begin {array}{r} -1\\0 \end {array}\right] [−10] 。通过新基与原基的关系,可以判断出这个矩阵表示逆时针旋转 90 度。在第一条中对向量 [ 1 1 ] \left [\begin {array}{r} 1 \\1 \end {array}\right] [11] 的变换,从新基的角度看,这个向量仍然是 [ 1 1 ] \left [\begin {array}{r} 1\\1 \end {array}\right] [11] ,但在原来基的视角下,向量变为 [ − 1 1 ] \left [\begin {array}{r} -1\\1 \end {array}\right] [−11] 。
-
可逆矩阵表示进行相反的变换,即将变换后的向量和基恢复到原来的状态。
-
非方阵表示变换前后空间维度发生了变化。仍然可以将每一列看作新的基,例如一个 3 × 2 3\times 2 3×2 的矩阵,表示从二维空间变换到三维空间(有两列,新基的三个元素表示三个维度)。
-
一个矩阵可以表示的变换包括伸缩、旋转、翻转和投影。
-
三种初等变换都对应一个矩阵(对单位矩阵进行相应变换得到),可以思考这些矩阵单独表示的变换形式。
-
一个 m × n m\times n m×n 的矩阵总是与 [ E r O O O ] \left [\begin {array}{rr} \mathbf {E_r}&\mathbf {O}\\\mathbf {O}&\mathbf {O} \end {array}\right] [ErOOO] 相抵,这表明矩阵可以看作初等矩阵的乘积,矩阵的变换可视为多个初等变换的叠加。
-
-
变换是本质,矩阵只是其在某一坐标系下的表现形式。两个相似矩阵表示同一种变换,但由于视角不同,得到的矩阵也不同。
-
例如,有一个变换:横轴扩大 2 倍,纵轴扩大 3 倍。
-
在 [ 1 0 0 1 ] \left [\begin {array}{rr} 1&0\\0&1 \end {array}\right] [1001] 坐标系下进行此变换,用矩阵 A = [ 2 0 0 3 ] A=\left [\begin {array}{rr} 2&0\\0&3 \end {array}\right] A=[2003] 表示。
-
在 P = [ − 1 1 1 0 ] P=\left [\begin {array}{rr} -1&1\\1&0 \end {array}\right] P=[−1110] 坐标系下进行此变换,则用矩阵 B = P A P − 1 = [ 3 1 0 2 ] B=PAP^{-1}=\left [\begin {array}{rr} 3&1\\0&2 \end {array}\right] B=PAP−1=[3012] 表示。
-
举例:在 P = [ − 1 1 1 0 ] P=\left [\begin {array}{rr} -1&1\\1&0 \end {array}\right] P=[−1110] 坐标系下的伸缩变换,将 [ 1 1 ] \left [\begin {array}{r} 1\\1 \end {array}\right] [11] 变成 [ 2 3 ] \left [\begin {array}{r} 2\\3 \end {array}\right] [23] 。从直角坐标视角来看,就是将 [ 0 1 ] \left [\begin {array}{r} 0\\1 \end {array}\right] [01] 变成 [ 1 2 ] \left [\begin {array}{r} 1\\2 \end {array}\right] [12] ,即 [ 1 2 ] = [ 3 1 0 2 ] [ 0 1 ] \left [\begin {array}{r} 1\\2 \end {array}\right]=\left [\begin {array}{rr} 3&1\\0&2 \end {array}\right]\left [\begin {array}{r} 0\\1 \end {array}\right] [12]=[3012][01] 。
-
-
使用这两个矩阵对向量 x \mathbf {x} x 进行变换时:
-
如果使用 A A A ,则计算 A x A\mathbf {x} Ax ,即直接将第一个元素乘 2,第二个元素乘 3。
-
如果使用 B B B ,则计算 B x = P A P − 1 x B\mathbf {x}=PAP^{-1}\mathbf {x} Bx=PAP−1x ,这表示先将 x \mathbf {x} x 转换为在 P P P 坐标系下的形式,在该坐标系下将第一个元素乘 2,第二个元素乘 3,然后再转换回原来的坐标系。
-
注意 P x P\mathbf {x} Px 与 P − 1 x P^{-1}\mathbf {x} P−1x 的区别:
-
已知直角坐标系中的向量 x \mathbf {x} x ,进行 P P P 变换得到 P x P\mathbf {x} Px ,这个结果仍然是从直角坐标系的视角去观察的。
-
已知直角坐标系中的向量 x \mathbf {x} x ,若要确定该向量在 P P P 坐标系中的表示,则为 P − 1 x P^{-1}\mathbf {x} P−1x 。 P P P 坐标系中的向量 y \mathbf {y} y 在直角坐标系中的表示为 P y P\mathbf {y} Py 。
-
-
-
这个例子说明,一个变换在不同坐标系下表现为不同的矩阵;同理,一个矩阵所表示的变换也取决于坐标系。例如,在 P P P 坐标系下, A A A 不再表示横轴扩大 2 倍,纵轴扩大 3 倍。为一个矩阵找到一组坐标系,使得在该坐标系下矩阵表示的只是简单的伸缩变换,这个过程就是计算特征值和特征向量的过程。
-
矩阵 A A A 的特征值和特征向量满足 A x = λ x A\mathbf {x}=\lambda \mathbf {x} Ax=λx 。
-
几何理解:一般情况下,一个变换 A A A 作用于向量 x \mathbf {x} x 会导致向量的旋转。若能找到一个向量 x \mathbf {x} x ,使得 A A A 作用后仅发生伸缩而不发生旋转(若特征值为负数,则表示方向相反),则 x \mathbf {x} x 就是 A A A 的特征向量,伸缩的量即为特征值。从前面的公式可以直观地理解这一几何意义。
-
特征向量表示变换中不发生旋转的方向。若以特征向量的方向建立坐标系,则该矩阵表示的变换仅为简单的伸缩变换。因此,可以将一个表示复杂变换的矩阵拆解为选定坐标系和伸缩变换两个过程,这就是矩阵的对角化,即 Λ = P − 1 A P \Lambda=P^{-1} AP Λ=P−1AP ,这与前面提到的相似概念相关联。
-
例如,矩阵 [ 3 1 0 2 ] \left [\begin {array}{rr} 3&1\\0&2 \end {array}\right] [3012] 在 [ ( 1 , 0 ) , ( 0 , 1 ) ] [(1, 0), (0, 1)] [(1,0),(0,1)] 坐标系下表示的变换包含一定的扭曲和旋转,而在 [ ( − 1 , 1 ) , ( 1 , 0 ) ] [(-1, 1), (1, 0)] [(−1,1),(1,0)] 坐标系下则仅为伸缩过程,因为这是该矩阵两个特征向量的方向。
-
矩阵的对角化可以简化一些问题,例如求 A 100 A^{100} A100 ,可以转化为求 ( P Λ P − 1 ) 100 (P\Lambda P^{-1})^{100} (PΛP−1)100 。
-
矩阵 A A A 与任意向量 x \mathbf {x} x 相乘的结果都可以分解到特征向量的方向。以二维为例, A x = A ( a v 1 + b v 2 ) = a λ 1 v 1 + b λ 2 v 2 A\mathbf {x}=A (a\mathbf {v}_1+b\mathbf {v}_2)=a\lambda_1\mathbf {v}_1+b\lambda_2\mathbf {v}_2 Ax=A(av1+bv2)=aλ1v1+bλ2v2 ,则 A k x = a λ 1 k v 1 + b λ 2 k v 2 A^k\mathbf {x}=a\lambda_1^k\mathbf {v}_1+b\lambda_2^k\mathbf {v}_2 Akx=aλ1kv1+bλ2kv2 。例如,当 λ 1 < 1 , λ 2 > 1 \lambda_1<1, \lambda_2>1 λ1<1,λ2>1 时,随着 k k k 的增大,第一项会趋近于 0。这表明矩阵作用于任意向量 x \mathbf {x} x 多次后,结果主要沿 v 2 \mathbf {v}_2 v2 方向变化。这一原理在状态转移中具有应用价值,可参考
- Eigenvectors and Eigenvalues explained visually
https://setosa.io/ev/eigenvectors-and-eigenvalues/
- Eigenvectors and Eigenvalues explained visually
-
由上一条的分解方式可以推出,矩阵的最大特征值是否大于 1 决定了一个向量多次左乘该矩阵后,得到的向量是趋近于 0 还是趋近于无穷。
行列式
-
几何理解:矩阵的行或列向量所构成的超平行多面体的有向体积,例如二维矩阵的行列式是两个列向量组成的平行四边形的面积。它表示该变换对空间体积的变化倍数。
-
行列式等于所有特征值的乘积,且相似矩阵的行列式相等(特征值也相等)。这两条性质表明,同一变换在不同坐标系下虽然表现为不同的矩阵,但它们对空间的伸缩量是相同的。因此,要求行列式,只需观察特征向量构建的坐标系中的伸缩量(特征值)即可。
秩
-
对于不满秩矩阵,具有线性相关、不可逆、行列式为 0、特征值存在 0 等性质。现在可以从几何角度理解这些性质。
-
不满秩矩阵对应的变换会导致新空间维度的降低。前面提到的矩阵变换形式之一 —— 投影,就体现了这一点。例如,二维矩阵 [ 1 − 1 − 1 1 ] \left [\begin {array}{rr} 1&-1\\-1&1 \end {array}\right] [1−1−11] ,原来的两个基向量在映射后变为同一方向,新的空间将局限于一条直线上。同理,三维不满秩矩阵变换后,新空间局限于一个平面上。一个矩阵的秩表示该变换产生的新空间的维度。此外,还可以利用这种几何意义来理解秩的其他性质。
-
对上述几条性质的解释:
-
线性相关:以三维为例,第三个向量落在前两个向量组成的平面内,未能扩展出第三个维度,从而导致维度降低。
-
不可逆:新空间少了一个维度,无法变回原空间。
-
行列式为 0:一个方向被压缩到 0,计算体积时结果必然为 0。
-
特征值存在 0:在特征向量坐标系下,变换完全是各个基向量的伸缩,要表示维度降低,至少有一个方向被压缩到 0。
-
-
n n n 阶方阵中,秩与非零特征根的关系:
-
秩为 r r r ,说明 λ = 0 \lambda=0 λ=0 的几何重数是 n − r n-r n−r 。代数重数更高,表明非零特征值的个数不超过 r r r 。
-
几何重数的解释:因为此时 A x = λ x = 0 A\mathbf {x}=\lambda \mathbf {x}=0 Ax=λx=0 ,求解该方程时,基础解系的个数与 A A A 的秩直接相关。
-
如果矩阵 A A A 可对角化,则代数重数等于几何重数,非零特征值的个数与秩相等。
-
投影
-
求向量 b \mathbf {b} b 在向量 a \mathbf {a} a 上的投影,记为 p \mathbf {p} p 。设 p = x a \mathbf {p}=x\mathbf {a} p=xa ,则有 0 = p T ( p − b ) = x a T ( x a − b ) 0=\mathbf {p}^{\mathrm {T}}(\mathbf {p}-\mathbf {b})=x\mathbf {a}^{\mathrm {T}}(x\mathbf {a}-\mathbf {b}) 0=pT(p−b)=xaT(xa−b) ,所以 p = a x = a a T b a T a \mathbf {p}=\mathbf {a} x=\mathbf {a}\frac {\mathbf {a}^{\mathrm {T}}\mathbf {b}}{\mathbf {a}^{\mathrm {T}}\mathbf {a}} p=ax=aaTaaTb 。现在希望得到一个投影矩阵,使得 b \mathbf {b} b 经过该矩阵变换后直接得到 p \mathbf {p} p 。从上式可以看出,这个矩阵是 a a T a T a \frac {\mathbf {a}\mathbf {a}^{\mathrm {T}}}{\mathbf {a}^{\mathrm {T}}\mathbf {a}} aTaaaT ,称为投影矩阵。
-
投影矩阵是幂等矩阵,其几何含义是投影一次和投影多次的结果相同。除单位阵外,投影矩阵都不可逆,因为投影过程涉及降维,原来空间中各个方向的向量变换后都集中在一条直线上(以向量投影为例)。
-
在更高维的情况下,当三维向量投影到一个平面时,一个二维平面可以由两个线性无关、长度为 3 的向量确定,即由一个 3 × 2 3\times 2 3×2 的矩阵确定。所以,向量 b \mathbf {b} b 向矩阵 A A A 表示的空间投影时对应的矩阵为 A ( A T A ) − 1 A T A (A^{\mathrm {T}} A)^{-1} A^{\mathrm {T}} A(ATA)−1AT ,其中 A A A 的行数大于列数。根据前面的结论,如果 A A A 是 3 × 1 3\times 1 3×1 ,则还是向向量投影,降低了两个维度;如果 A A A 是 3 × 3 3\times 3 3×3 ,则是向整个空间投影,结果还是向量本身,反映在投影矩阵上,即 A A A 为方阵时,中间的可逆项展开后,投影矩阵就是单位矩阵。
-
投影矩阵是对称矩阵,一定可以对角化,与之相似的矩阵仍然是一个投影矩阵,只是在新的坐标系下投影向量的表示不同。
-
应用:多元线性回归的最小二乘结果求出的 Y ^ \hat Y Y^ 就是 Y Y Y 向量在 X X X 张成的空间上的投影,用公式表示为 Y ^ = X ( X T X ) − 1 X T Y \hat Y=X (X^{\mathrm {T}} X)^{-1} X^{\mathrm {T}} Y Y^=X(XTX)−1XTY 。其目标是用 X X X 列向量的线性组合找到一个与 Y Y Y 最接近的向量 Y ^ \hat Y Y^ 。
-
投影矩阵是幂等矩阵,因此特征值只能取 0 或 1,且为半正定矩阵;同时又可对角化,则非零特征值的个数与秩相等。由此得出结论:投影矩阵的迹和秩相等。令 P = X ( X T X ) − 1 X T P=X (X^{\mathrm {T}} X)^{-1} X^{\mathrm {T}} P=X(XTX)−1XT ,即 tr ( P ) = rank ( P ) \operatorname {tr}(P)=\operatorname {rank}(P) tr(P)=rank(P) 。
- 同理, M = I − P M=I-P M=I−P 也是对称矩阵,可对角化,也是幂等矩阵,则其迹也和秩相等。
n n n 阶方阵 A A A 可对角化
-
等价于 A A A 有 n n n 个线性无关的特征向量,这意味着每个特征值的几何重数等于代数重数。
-
首先要明确, A A A “有代表性”(不考虑特征向量的线性组合)的特征向量总是线性无关的,这是因为不同特征值的特征向量线性无关,一个特征值对应的基础解系向量之间也线性无关。那么,一个方阵不可对角化,是因为无法找到 n n n 个线性无关的特征向量。出现这种情况的原因是几何重数小于代数重数。
-
重数 (multiplicity) 的定义: A A A 的特征多项式 f A ( λ ) f_A (\lambda) fA(λ) 可以因式分解为类似 ( λ − λ 1 ) n 1 . . . ( λ − λ t ) n t (\lambda-\lambda_1)^{n_1}...(\lambda-\lambda_t)^{n_t} (λ−λ1)n1...(λ−λt)nt 的形式, λ 1 \lambda_1 λ1 是 f A ( λ ) f_A (\lambda) fA(λ) 的 n 1 n_1 n1 重根,即代数重数为 n 1 n_1 n1 。但用 λ 1 \lambda_1 λ1 计算特征向量时,不一定能得到 n 1 n_1 n1 个,例如得到 s 1 s_1 s1 个,几何重数就是 s 1 s_1 s1 ,且总有 s 1 ≤ n 1 s_1\leq n_1 s1≤n1 。几何重数取决于基础解系,与求解方程的矩阵的秩有关。
-
例如,矩阵 [ 1 1 0 1 ] \left [\begin {array}{rr} 1&1\\0 &1 \end {array}\right] [1011] 不可对角化,它只能找到一个方向不受变换影响,即 ( 1 , 0 ) (1, 0) (1,0) 。
-
甚至有些矩阵找不到变换后不发生旋转的向量,例如矩阵 [ 0 − 1 1 0 ] \left [\begin {array}{rr} 0&-1\\1&0 \end {array}\right] [01−10] 表示逆时针旋转 90 度,计算特征值时会发现没有实根。
-
因此,可对角化是矩阵的一种特性,具有这种特性的变换可以简化一些计算。不可对角化的矩阵表示该变换无法在某一坐标系下单纯地看作伸缩变换。
-
有些矩阵无法对角化,但都相似于 Jordan 标准型,对角矩阵是 Jordan 标准型的一种特例。Jordan 标准型的对角线上是一些 Jordan 块,每个块对应一个特征值,对角线元素相等且都等于该特征值,对角线上方的元素可能是 1,其他元素都是 0。
-
所以,每个矩阵都相似于一个对角矩阵与幂零矩阵的和。这种表示方式也可以简化矩阵的乘方运算。
-
如果 Jordan 块的维度都是 1,则矩阵是对角矩阵。一个特征值的 Jordan 块个数是它的几何重数,一个特征值的 Jordan 块阶数之和是它的代数重数。Jordan 块的个数是线性无关特征向量的个数。
-
-
矩阵对角化的过程,即寻找特征向量的过程,也是寻找不变子空间的过程。一个矩阵不可对角化表示它存在 2 维以上的不可进一步拆分的不变子空间,这表现为 Jordan 块的维度。
对称矩阵
-
对于一个可对角化的矩阵,能够找到一组基,使得在该坐标系下的变换仅为伸缩变换;若找到的这组基是正交的,则更为理想。
- 需注意,线性无关与正交是不同的概念。通常建立的三维坐标系是正交的,三个方向两两垂直;而正四面体一个角连接的三条边,它们线性无关,但并非正交。
-
实对称矩阵必定可以对角化,并且找到的基是正交的。即 Λ = P − 1 A P \Lambda = P^{-1} AP Λ=P−1AP 中, P P P 是一个正交矩阵,也可写成 Λ = P T A P \Lambda = P^{\mathrm {T}} AP Λ=PTAP 。
-
对称矩阵表示的变换称为对称变换,具有 ⟨ ϕ ( α ) , β ⟩ = ⟨ α , ϕ ( β ) ⟩ \langle \phi (\mathbf {\alpha}), \mathbf {\beta}\rangle = \langle\mathbf {\alpha}, \phi (\mathbf {\beta})\rangle ⟨ϕ(α),β⟩=⟨α,ϕ(β)⟩ 的性质。直观上看,在正交坐标系下的伸缩变换能够满足这一性质。而对称矩阵的正交对角化表明,该矩阵确实表示在某一正交坐标系下的伸缩变换。
二次型
-
举例:
-
对于 f ( x 1 , x 2 ) = 2 x 1 2 + 6 x 1 x 2 + 5 x 2 2 f (x_1, x_2) = 2x_1^2 + 6x_1x_2 + 5x_2^2 f(x1,x2)=2x12+6x1x2+5x22 ,这是一个代数式,通过配方可得到 = y 1 2 + y 2 2 =y_1^2 + y_2^2 =y12+y22 ,其中 y 1 = x 1 + x 2 y_1 = x_1 + x_2 y1=x1+x2 , y 2 = x 1 + 2 x 2 y_2 = x_1 + 2x_2 y2=x1+2x2 。
-
将上式用矩阵表示为 f ( x ) = X T A X f (x) = X^{\mathrm {T}} AX f(x)=XTAX ,其中 A = [ 2 3 3 5 ] A = \left [\begin {array}{rr} 2&3\\3 &5 \end {array}\right] A=[2335] , X = [ x 1 x 2 ] X = \left [\begin {array}{r} x_1\\x_2 \end {array}\right] X=[x1x2] 。通过变换 X = C Y X = CY X=CY ,其中 C = [ 2 − 1 − 1 1 ] C = \left [\begin {array}{rr} 2&-1\\-1 &1 \end {array}\right] C=[2−1−11] ,可得 f ( x ) = Y T C T A C Y = Y T B Y = y 1 2 + y 2 2 f (x) = Y^{\mathrm {T}} C^{\mathrm {T}} ACY = Y^{\mathrm {T}} BY = y_1^2 + y_2^2 f(x)=YTCTACY=YTBY=y12+y22 ,其中 B = [ 1 0 0 1 ] B = \left [\begin {array}{rr} 1&0\\0 &1 \end {array}\right] B=[1001] 。
-
若表示为矩阵形式时, A A A 不是对称矩阵,而是 A = [ 2 0 6 5 ] A = \left [\begin {array}{rr} 2&0\\6 &5 \end {array}\right] A=[2605] ,使用相同的变换仍可达到配方的效果,只是 B = [ 1 − 3 3 1 ] B = \left [\begin {array}{rr} 1&-3\\3 &1 \end {array}\right] B=[13−31] ,交叉项一正一负也会消掉。
-
-
上述例子表明,将系数视为矩阵,可将代数配方问题转化为矩阵合同问题。一般将系数视为对称矩阵,则一定可以对角化,且 P P P 是正交矩阵,也满足合同条件,此时 B B B 对角线上的元素就是系数矩阵的特征值。需注意,上面的 B B B 并非用这种方法得到。
-
在将二次型化为标准型时,只需进行对角化,此时相似与合同等价。但合同还可进一步化为规范型,即 B B B 对角线元素仅为 1 1 1 或 − 1 -1 −1 。
-
二次型的应用:
-
圆锥曲线:对于椭圆方程 2 x 2 + 6 x y + 5 y 2 = 1 2x^2 + 6xy + 5y^2 = 1 2x2+6xy+5y2=1 ,若想知道椭圆的长轴、短轴大小和方向,可通过计算矩阵 [ 2 3 3 5 ] \left [\begin {array}{rr} 2&3\\3 &5 \end {array}\right] [2335] 的特征值和特征向量来获取。特征向量方向即为两轴方向,特征值是半轴长平方的倒数。需注意,这里的椭圆不涉及平移,其中心始终在原点,因此没有类似 2 x + 3 y 2x + 3y 2x+3y 这样的一次项。
-
优化问题:可通过研究矩阵的性质来研究该函数。例如,正定矩阵对应严格的凸函数。
-
注:
-
本文不考虑复数。
-
本文尽可能从几何角度理解矩阵,但并非所有的矩阵操作都能用几何来解释。矩阵作为一个代数概念,其具有比几何意义更广泛的内涵。了解几何意义后,在遇到问题时可尝试从这一角度进行思考。
-
如华罗庚所言:“数缺形时少直观,形少数时难入微。”
-
例如,矩阵转置就难以从几何角度进行理解。
-
性质与方法
行列式计算方法
-
(仅方阵可计算行列式)
-
任意选择一行,将元素与它的代数余子式相乘后再相加,即 ∣ A ∣ = a 11 A 11 + a 21 A 21 + ⋯ + a i 1 A i 1 + ⋯ + a n 1 A n 1 |A| = a_{11} A_{11} + a_{21} A_{21} + \cdots + a_{i1} A_{i1} + \cdots + a_{n1} A_{n1} ∣A∣=a11A11+a21A21+⋯+ai1Ai1+⋯+an1An1 。
-
行列式展开式的每一项是不同行不同列元素相乘后再乘一个符号项。
-
初等变换的影响:
-
互换矩阵两行,行列式变号。
-
行列式的一行乘一个常数加到另一行上,行列式的值不变。
-
矩阵 A A A 的某一列乘一个常数 c c c 得到 B B B ,则 ∣ B ∣ = c ∣ A ∣ |B| = c|A| ∣B∣=c∣A∣ 。
-
-
一般计算方法:使用初等变换将某一行 / 列化为只有一个非零元素,再使用第一条的公式进行计算,逐步求解。
-
上三角矩阵的行列式等于对角元的乘积。
-
矩阵两列相同,则行列式为 0;转置不改变行列式的值;逆矩阵的行列式变为原矩阵行列式的倒数。
-
若 A , B A, B A,B 是 n n n 阶方阵,则 ∣ A B ∣ = ∣ A ∣ ∣ B ∣ |AB| = |A||B| ∣AB∣=∣A∣∣B∣ 。
-
若 A A A 是 n n n 阶方阵, B B B 是 m m m 阶方阵,则 ∣ A O C B ∣ = ∣ A ∣ ∣ B ∣ \left|\begin {array}{rr} A&O\\C &B \end {array}\right| = |A||B| ACOB =∣A∣∣B∣ 。
求逆矩阵的方法
-
对 ( A , E ) (A, E) (A,E) 进行行初等变换,使其变为 ( E , A − 1 ) (E, A^{-1}) (E,A−1) 。另外,若已知 A , B A, B A,B ,要计算 B − 1 A B^{-1} A B−1A 时,也可用 ( B , A ) (B, A) (B,A) 进行行初等变换。
-
A − 1 = 1 ∣ A ∣ A # A^{-1} = \frac {1}{|A|} A^\# A−1=∣A∣1A# ,其中 A # A^\# A# 为伴随矩阵。这种方法可快速写出 2 × 2 2\times 2 2×2 矩阵的逆矩阵,对于 3 × 3 3\times 3 3×3 的矩阵也可使用该方式求逆。
秩的性质
-
rank ( A B ) ≤ min ( rank A , rank B ) \operatorname {rank}(AB) \leq \min (\operatorname {rank} A, \operatorname {rank} B) rank(AB)≤min(rankA,rankB) 。
-
rank ( A ) + rank ( B ) − n ≤ rank ( A B ) \operatorname {rank}(A) + \operatorname {rank}(B) - n \leq \operatorname {rank}(AB) rank(A)+rank(B)−n≤rank(AB) 。
-
rank ( A B ) + rank ( B C ) ≤ rank ( B ) + rank ( A B C ) \operatorname {rank}(AB) + \operatorname {rank}(BC) \leq \operatorname {rank}(B) + \operatorname {rank}(ABC) rank(AB)+rank(BC)≤rank(B)+rank(ABC) ,上面一条是这条的特例,令 B B B 为单位阵即可得到。
-
rank ( A T A ) = rank ( A A T ) = rank ( A ) = rank ( A T ) \operatorname {rank}(A^{\mathrm {T}} A) = \operatorname {rank}(AA^{\mathrm {T}}) = \operatorname {rank}(A) = \operatorname {rank}(A^{\mathrm {T}}) rank(ATA)=rank(AAT)=rank(A)=rank(AT) 。
-
需注意, rank ( A B ) \operatorname {rank}(AB) rank(AB) 不一定等于 rank ( B A ) \operatorname {rank}(BA) rank(BA) ,例如: A = [ 0 1 0 0 ] A = \left [\begin {array}{rr} 0&1\\0 &0 \end {array}\right] A=[0010] , B = [ 1 0 0 0 ] B = \left [\begin {array}{rr} 1&0\\0 &0 \end {array}\right] B=[1000] 。
-
rank ( A ) = n − nullity ( A ) \operatorname {rank}(A) = n - \operatorname {nullity}(A) rank(A)=n−nullity(A) ,这就是 rank-nullity theorem。
- 应用:例如, B x = 0 B\mathbf {x} = 0 Bx=0 的解空间一定能满足 A B x = 0 AB\mathbf {x} = 0 ABx=0 ,所以 A B AB AB 的零空间更大(不小于),维度也就更大,秩就更小。第一四条性质可利用这一点并结合下面一条性质进行证明。
-
rank ( A ) = rank ( A T ) \operatorname {rank}(A) = \operatorname {rank}(A^{\mathrm {T}}) rank(A)=rank(AT) 。
- 应用:比如已经证出 rank ( A B ) ≤ rank ( B ) \operatorname {rank}(AB) \leq \operatorname {rank}(B) rank(AB)≤rank(B) ,同理可知 rank ( A B ) = rank ( B T A T ) ≤ rank ( A T ) = rank ( A ) \operatorname {rank}(AB) = \operatorname {rank}(B^{\mathrm {T}} A^{\mathrm {T}}) \leq \operatorname {rank}(A^{\mathrm {T}}) = \operatorname {rank}(A) rank(AB)=rank(BTAT)≤rank(AT)=rank(A) 。
-
行(列)初等变换不影响矩阵的秩。
-
扩展:左乘或右乘一个可逆矩阵不改变矩阵的秩。因为可逆矩阵可看作初等矩阵的乘积。
-
扩展:对分块矩阵的 “初等变换” 也不影响矩阵的秩。因为进行一次初等变换相当于左(右)乘一个可逆矩阵。下面用此方法证明第三条性质:
rank ( A B C ) + rank ( B ) = rank ( A B C O O B ) = rank ( A B C A B O B ) = rank ( O A B − B C B ) = rank ( A B O B B C ) ≥ rank ( A B O O B C ) = rank ( A B ) + rank ( B C ) \begin {align} \operatorname {rank}(ABC) + \operatorname {rank}(B) &= \operatorname {rank} \left (\begin {array}{rr} ABC&\mathrm {O}\\\mathrm {O} & B \end {array}\right) &=& \operatorname {rank} \left (\begin {array}{rr} ABC&AB\\\mathrm {O} & B \end {array}\right)\\ &= \operatorname {rank} \left (\begin {array}{rr} \mathrm {O}&AB\\-BC & B \end {array}\right) &=& \operatorname {rank} \left (\begin {array}{rr} AB&\mathrm {O}\\B & BC \end {array}\right)\\ &\geq \operatorname {rank} \left (\begin {array}{rr} AB&\mathrm {O}\\\mathrm {O} & BC \end {array}\right) &=& \operatorname {rank}(AB) + \operatorname {rank}(BC) \end {align} rank(ABC)+rank(B)=rank(ABCOOB)=rank(O−BCABB)≥rank(ABOOBC)===rank(ABCOABB)rank(ABBOBC)rank(AB)+rank(BC)
将变换写成矩阵相乘的形式: ( I A O I ) ( A B C O O B ) = ( A B C A B O B ) \left (\begin {array}{rr} \mathrm {I}&A\\\mathrm {O} & \mathrm {I} \end {array}\right) \left (\begin {array}{rr} ABC&\mathrm {O}\\\mathrm {O} & B \end {array}\right)= \left (\begin {array}{rr} ABC&AB\\\mathrm {O} & B \end {array}\right) (IOAI)(ABCOOB)=(ABCOABB) ,左乘的矩阵可逆,因为其行列式为 1。
这里要注意,第一步变换不能变成 ( A B C B C O B ) \left (\begin {array}{rr} ABC&BC\\\mathrm {O} & B \end {array}\right) (ABCOBCB) ,因为将第二行乘一个矩阵加到第一行是行变换,应左乘矩阵,所以不能得到像 B C BC BC 这种在右边乘矩阵的结果。
-
迹的性质
-
标量的迹等于自身: tr ( a ) = a \operatorname {tr}(a) = a tr(a)=a 。
-
转置: tr ( A T ) = tr ( A ) \operatorname {tr}(A^{\mathrm {T}}) = \operatorname {tr}(A) tr(AT)=tr(A) 。
-
线性: tr ( A ± B ) = tr ( A ) ± tr ( B ) \operatorname {tr}(A \pm B) = \operatorname {tr}(A) \pm \operatorname {tr}(B) tr(A±B)=tr(A)±tr(B) 。
-
交换: tr ( A T B ) = tr ( B T A ) \operatorname {tr}(A^{\mathrm {T}} B) = \operatorname {tr}(B^{\mathrm {T}} A) tr(ATB)=tr(BTA) ,其中 A A A 与 B B B 维度相同,迹的结果等于 ∑ i , j A i j B i j \sum_{i, j} A_{ij} B_{ij} ∑i,jAijBij 。
-
常见应用场景:将 X X X 与 X − 1 X^{-1} X−1 凑到一起约掉,将两个 Σ 1 2 \Sigma^{\frac {1}{2}} Σ21 凑在一起。
-
当有很多项相乘时,不可随意交换顺序 ,需保证维度对应,使矩阵相乘有意义;多项相乘常见的交换方式是从中间切一刀,将右边整体移到左边。
-
类似地有: tr ( A T ( B ⊙ C ) ) = tr ( ( A ⊙ B ) T C ) \operatorname {tr}\left (A^{T}(B \odot C)\right) = \operatorname {tr}\left ((A \odot B)^{T} C\right) tr(AT(B⊙C))=tr((A⊙B)TC) ,其中 A , B , C A, B, C A,B,C 维度相同,迹的结果为 ∑ i , j A i j B i j C i j \sum_{i, j} A_{ij} B_{ij} C_{ij} ∑i,jAijBijCij 。
-
深度学习中的卷积计算可写成矩阵相乘取迹的形式。
-
tr ( A A T ) = ∑ i = 1 n ∑ j = 1 n a i j 2 \operatorname {tr}(AA^{\mathrm {T}}) = \sum_{i = 1}^n\sum_{j = 1}^n a_{ij}^2 tr(AAT)=∑i=1n∑j=1naij2 。
- 应用:比如判断两个矩阵 A A A 与 B B B 是否相近,可计算 ∑ i = 1 m ∑ j = 1 n ( a i j − b i j ) 2 \sum_{i = 1}^m\sum_{j = 1}^n (a_{ij} - b_{ij})^2 ∑i=1m∑j=1n(aij−bij)2 是否足够小,其实就是看 tr [ ( A − B ) ( A − B ) T ] \operatorname {tr}\left [(A - B)(A - B)^{\mathrm {T}}\right] tr[(A−B)(A−B)T] 。
-
矩阵正定判断方法
-
(首先矩阵必须是对称的,因为只有对称矩阵才会讨论是否正定的问题)
-
x T A x > 0 x^{\mathrm {T}} Ax > 0 xTAx>0 (当且仅当)。
-
所有特征值都是正的 (当且仅当)。
-
所有顺序主子式都是正的 (当且仅当)(但顺序主子式都非负不能推出半正定)。
-
二次型是凸函数 (当且仅当)。
-
矩阵可以写成 A T A A^{\mathrm {T}} A ATA 的形式, A A A 可以是可逆矩阵,或秩为 n n n 的 m × n m\times n m×n 矩阵,或对角线元素都是正的上三角矩阵。
-
对称的严格对角占优矩阵,且对角元都为正,则矩阵正定。
正定矩阵的性质
-
矩阵 A A A 正定可写成 A > 0 A > 0 A>0 ;矩阵为对称矩阵;上面标 (当且仅当) 的性质在此不再赘述。
-
正定矩阵可逆,且逆矩阵也是正定的。因为其特征值的倒数也是正的。
-
两个正定矩阵的和是正定矩阵(由定义可得)。
-
可对角化,可求 A 1 2 A^{\frac {1}{2}} A21 等。
-
如果 A A A 和 B B B 都是正定矩阵:
-
则 A B A ABA ABA 也是正定矩阵。
-
如果 A B = B A AB = BA AB=BA ,则 A B AB AB 是正定矩阵。
-
-
如果 A A A 正定,则对任一列满秩矩阵 Q Q Q ,有 Q T A Q Q^{\mathrm {T}} AQ QTAQ 正定。
- 如果 A A A 半正定,则对任意矩阵 Q Q Q 有 Q T A Q Q^{\mathrm {T}} AQ QTAQ 半正定。
-
矩阵 A A A 正定,则 A A A 的所有主子矩阵全正定。
-
正定矩阵的对角线元素都为正。
-
半正定矩阵的对角线元素都非负。
-
更一般地,最大的对角元素不超过最大特征值,最小的对角元素不小于最小特征值,参考
- linear algebra - Prove diagonal entries of positive definite matrices cannot be smaller than the eigenvalues - Mathematics Stack Exchange
https://math.stackexchange.com/questions/2553378/prove-diagonal-entries-of-positive-definite-matrices-cannot-be-smaller-than-the
- linear algebra - Prove diagonal entries of positive definite matrices cannot be smaller than the eigenvalues - Mathematics Stack Exchange
-
矩阵分解
-
Spectral Decomposition(特征值分解、谱分解):对于一个对称方阵 A A A ,它有成对的特征值和特征向量 ( λ i , x i ) (\lambda_i, \mathbf {x}_i) (λi,xi) ,则 A A A 可以进行如下分解: A = C D C T = ∑ i = 1 n λ i x i x i T A = CDC^{\mathrm {T}} = \sum_{i = 1}^n \lambda_i \mathbf {x}_i \mathbf {x}_i^{\mathrm {T}} A=CDCT=∑i=1nλixixiT ,其中 C C C 是正交矩阵,每一列都是特征向量(标准化后的), D D D 是特征值对角矩阵。
-
注意:与 Λ = P T A P \Lambda = P^{\mathrm {T}} AP Λ=PTAP 不同,要注意转置项在前在后的问题,一个是将矩阵分解,一个是对矩阵进行变换,需要移项。
-
此外,通过计算特征值和特征向量的方式来求 C , D C, D C,D 时, C C C 必须标准化为正交矩阵,这样才能保证 C − 1 = C T C^{-1} = C^{\mathrm {T}} C−1=CT 。
-
谱分解使矩阵的次方运算更为简便, A k = C D k C T A^k = CD^kC^{\mathrm {T}} Ak=CDkCT ,例如当 k = 1 2 , 2 , − 1 k = \frac {1}{2}, 2, -1 k=21,2,−1 时。
-
但这些次方对矩阵有要求,即可对角化且特征值满足相应条件。例如,当 k = 1 2 k = \frac {1}{2} k=21 时,要求矩阵正定(对称);当 k = 2 k = 2 k=2 时,只要求是方阵;当 k = − 1 k = -1 k=−1 时,要求可逆。
-
应用:正定矩阵就可以拆开写,如 A = A 1 2 A 1 2 A = A^{\frac {1}{2}} A^{\frac {1}{2}} A=A21A21 ,便于一些需要将矩阵拆成两项的证明。
-
-
补充一条性质: x i T A x = λ i \mathbf {x}_i^{\mathrm {T}} A \mathbf {x} = \lambda_i xiTAx=λi 。
-
-
Cholesky Decomposition:半正定且对称的方阵 A A A 可以分解为 L L T LL^{\mathrm {T}} LLT ,其中 L L L 为下三角矩阵。
-
如果矩阵正定,则分解是唯一的,否则不一定唯一。
-
更多内容参考下面:特殊矩阵 A T A A^{\mathrm {T}} A ATA 。
-
-
Singular Value Decomposition(SVD, 奇异值分解): A A A 是一个 m × n m\times n m×n 的矩阵,可以分解为 U Σ V T U\Sigma V^{\mathrm {T}} UΣVT ,其中 U U U 是 m × m m\times m m×m 的正交矩阵, V V V 是 n × n n\times n n×n 的正交矩阵, Σ \Sigma Σ 是非负实对角矩阵,对角元素称为 A A A 的奇异值。
-
计算方法: U U U 由 A A T AA^{\mathrm {T}} AAT 的特征向量组成, V V V 由 A T A A^{\mathrm {T}} A ATA 的特征向量组成。奇异值是 A T A A^{\mathrm {T}} A ATA 正的特征值的开方,即下面的 λ i \lambda_i λi ,注意到 A T A A^{\mathrm {T}} A ATA 与 A A T AA^{\mathrm {T}} AAT 的非零特征值相同(零特征值数量不同)。
-
A = ∑ i = 1 r λ i u i v i T = U r Λ r V r T A = \sum_{i = 1}^r \lambda_i \mathbf {u}_i \mathbf {v}^{\mathrm {T}}_i = U_r\Lambda_r V_r^{\mathrm {T}} A=∑i=1rλiuiviT=UrΛrVrT ,其中 r r r 为矩阵 A A A 的秩,奇异值的个数为 r r r (算重复的)。
-
Λ r \Lambda_r Λr 是 r × r r\times r r×r 的对角矩阵, U r U_r Ur 维度为 m × r m\times r m×r , V r V_r Vr 维度为 n × r n\times r n×r 。 U r U_r Ur 的每一列都是特征向量,线性无关; V r V_r Vr 也是。
-
奇异值个数是 r r r 的原因:即考虑 A T A A^{\mathrm {T}} A ATA 为什么有 r r r 个非 0 0 0 特征值,也就是特征多项式展开有几项 ( λ − c ) (\lambda - c) (λ−c) 相乘。首先 A A A 的秩是 r r r 则 A T A A^{\mathrm {T}} A ATA 的秩也是 r r r ;其次 A T A A^{\mathrm {T}} A ATA 可对角化则代数重数等于几何重数。所以 A T A A^{\mathrm {T}} A ATA 的秩为 r r r 表示 0 0 0 特征值的几何重数为 n − r n - r n−r ,则代数重数也是 n − r n - r n−r ,所以就有 r r r 个非 0 0 0 特征值。
-
也是因为 A T A A^{\mathrm {T}} A ATA 和 A A T AA^{\mathrm {T}} AAT 代数重数等于几何重数,所以 r r r 个非零特征值会对应 r r r 个线性无关的特征向量,从而组成 U r U_r Ur 和 V r V_r Vr 。
-
-
逆矩阵相关
-
( A T ) − 1 = ( A − 1 ) T (A^{\mathrm {T}})^{-1} = (A^{-1})^{\mathrm {T}} (AT)−1=(A−1)T 。
-
如果矩阵 A A A 各列线性无关,则 A T A A^{\mathrm {T}} A ATA 可逆。
-
下面两句话等价: A x = 0 A\mathbf {x} = \mathbf {0} Ax=0 可推出 x = 0 \mathbf {x} = \mathbf {0} x=0 、 A A A 可逆。
-
A = [ a b c d ] A = \left [\begin {array}{rr} a&b\\c&d \end {array}\right] A=[acbd] ,则 A − 1 = 1 ∣ A ∣ [ d − b − c a ] A^{-1} = \frac {1}{|A|}\left [\begin {array}{rr} d&-b\\-c&a \end {array}\right] A−1=∣A∣1[d−c−ba] 。
-
A = [ A 11 A 12 A 21 A 22 ] A = \left [\begin {array}{rr} A_{11}&A_{12}\\A_{21}&A_{22} \end {array}\right] A=[A11A21A12A22] ,则通过 A A − 1 = I AA^{-1} = \mathrm {I} AA−1=I 与 A − 1 A = I A^{-1} A = \mathrm {I} A−1A=I 两种方式推导,可以得到下面两种形式的逆:
A − 1 = ( ( A 11 − A 12 A 22 − 1 A 21 ) − 1 − A 11 − 1 A 12 ( A 22 − A 21 A 11 − 1 A 12 ) − 1 − A 22 − 1 A 21 ( A 11 − A 12 A 22 − 1 A 21 ) − 1 ( A 22 − A 21 A 11 − 1 A 12 ) − 1 ) A^{-1} = \left (\begin {array}{lr}{\left (A_{11}-A_{12} A_{22}^{-1} A_{21}\right)^{-1}} & {-A_{11}^{-1} A_{12}\left (A_{22}-A_{21} A_{11}^{-1} A_{12}\right)^{-1}} \\ {-A_{22}^{-1} A_{21}\left (A_{11}-A_{12} A_{22}^{-1} A_{21}\right)^{-1}} & {\left (A_{22}-A_{21} A_{11}^{-1} A_{12}\right)^{-1}}\end {array}\right) A−1=((A11−A12A22−1A21)−1−A22−1A21(A11−A12A22−1A21)−1−A11−1A12(A22−A21A11−1A12)−1(A22−A21A11−1A12)−1)
A − 1 = ( ( A 11 − A 12 A 22 − 1 A 21 ) − 1 − ( A 11 − A 12 A 22 − 1 A 21 ) − 1 A 12 A 22 − 1 − ( A 22 − A 21 A 11 − 1 A 12 ) − 1 A 21 A 11 − 1 ( A 22 − A 21 A 11 − 1 A 12 ) − 1 ) A^{-1} = \left (\begin {array}{lr} {\left (A_{11}-A_{12} A_{22}^{-1} A_{21}\right)^{-1}} & -\left (A_{11}-A_{12} A_{22}^{-1} A_{21}\right)^{-1} A_{12} A_{22}^{-1}\\ -\left (A_{22}-A_{21} A_{11}^{-1} A_{12}\right)^{-1} A_{21} A_{11}^{-1} & {\left (A_{22}-A_{21} A_{11}^{-1} A_{12}\right)^{-1}}\end {array}\right) A−1=((A11−A12A22−1A21)−1−(A22−A21A11−1A12)−1A21A11−1−(A11−A12A22−1A21)−1A12A22−1(A22−A21A11−1A12)−1)
其他性质
-
A 2 = I A^2 = I A2=I , A A A 不一定是 I I I ,有可能是对称正交矩阵,例如 [ 2 2 2 2 2 2 − 2 2 ] \left [\begin {array}{rr} \frac {\sqrt {2}}{2}&\frac {\sqrt {2}}{2}\\\frac {\sqrt {2}}{2} &-\frac {\sqrt {2}}{2} \end {array}\right] [222222−22] 。
-
矩阵旋转 [ cos ( θ ) − sin ( θ ) sin ( θ ) cos ( θ ) ] \left [\begin {array}{rr} \cos (\theta)&-\sin (\theta)\\\sin (\theta)&\cos (\theta) \end {array}\right] [cos(θ)sin(θ)−sin(θ)cos(θ)] ,表示逆时针旋转 θ \theta θ 度。
-
对角块矩阵 L L L 由 L 1 , L 2 , ⋯ , L k L_1, L_2, \cdots, L_k L1,L2,⋯,Lk 组成,则 L i L_i Li 的特征值也是 L L L 的特征值,对应特征向量就是将其他部分填成 0 0 0 。
概念总结
余子式和伴随矩阵
-
余子式 M i j M_{ij} Mij:给定一个矩阵 A = ( a i j ) m × n A = (a_{ij})_{m\times n} A=(aij)m×n ,元 a i j a_{ij} aij 的余子式是去掉第 i i i 行第 j j j 列的矩阵的行列式值。
-
代数余子式:在余子式上加一个正负号, C i j = ( − 1 ) i + j M i j C_{ij} = (-1)^{i + j} M_{ij} Cij=(−1)i+jMij 。
-
伴随矩阵 (Adjoint matrix):对一个方阵,将所有元素换成这个元素的代数余子式,再转置形成的矩阵。用 adj ( A ) \operatorname {adj}(A) adj(A) 表示,或 A # A^\# A# 。其中 A i j # = C j i A^\#_{ij} = C_{ji} Aij#=Cji 。
初等变换
-
行初等变换(列同理):
-
互换变换 E ( i , j ) E (i, j) E(i,j):交换矩阵的两行。
-
倍法变换 E ( i ( c ) ) E (i (c)) E(i(c)):用某一非零常数 c c c 乘矩阵某一行。
-
消元变换 E ( i , j ( c ) ) E (i, j (c)) E(i,j(c)):将矩阵某一行乘 c c c 加到另一行。
-
-
初等矩阵 (elementary matrix):对单位矩阵进行一次初等变换得到的矩阵,初等矩阵都可逆。
-
行初等变换相当于左乘一个初等矩阵;列初等变换相当于右乘一个初等矩阵。
-
可逆矩阵与单位阵行(列)等价,即可以拆成多个初等矩阵相乘。
主子式
-
一个 n n n 阶矩阵的 k k k 阶主子式表示选 k k k 行,同时选与行数相同的那 k k k 列,形成一个矩阵,计算其行列式的值。一个 n n n 阶矩阵的 k k k 阶主子式可以有很多个,因为选 k k k 行的方式有很多。
-
一个 n n n 阶矩阵的 k k k 阶顺序主子式 ( leading principal minors ),表示选 1 1 1 到 k k k 行的这种主子式。
-
如果不取行列式,则称为主子矩阵 (principal submatrix) 。
相抵、相似、合同
-
相抵:不要求方阵,两个矩阵可以通过有限次初等变换相互转化。一个矩阵总是和 ( E r O O O ) \left (\begin {array}{rr} \mathbf {E_r}&\mathbf {O}\\\mathbf {O} &\mathbf {O} \end {array}\right) (ErOOO) 相抵。
-
相似:针对方阵, B = P − 1 A P B = P^{-1} A P B=P−1AP ,其中 P P P 为可逆矩阵。
-
相似矩阵有相同的秩、行列式、迹、特征值。
-
两个相似矩阵是同一线性变换在不同基下的表现。
-
-
合同:针对方阵, B = P T A P B = P^{\mathrm {T}} A P B=PTAP ,其中 P P P 为可逆矩阵。合同必相抵,合同矩阵有相同的秩。
空间
-
子空间:类似三维空间中的一个平面,平面中两向量加减仍在平面内。
-
交空间:类似两个平面的交集是一条线。
-
和空间:两个空间中向量做和形成的空间。
-
零空间:矩阵 A A A 的零空间表示 A x = O Ax = O Ax=O 的所有 x x x 的解的集合。
-
直和分解: V = V 1 ⊕ V 2 V = V_1\oplus V_2 V=V1⊕V2 。将一个空间分成 2 个不相交的子空间。
-
一个 V V V 空间中的向量由 V 1 , V 2 V_1, V_2 V1,V2 中向量相加表示,只有一种表示方式。
-
例如三维空间分为直角坐标系的 x y xy xy , z z z 两个空间, ( 1 , 1 , 1 ) = ( 1 , 1 , 0 ) + ( 0 , 0 , 1 ) (1,1,1)=(1,1,0)+(0, 0, 1) (1,1,1)=(1,1,0)+(0,0,1) 。
-
反例:分为 x y xy xy , x z xz xz 两个空间,则 ( 1 , 1 , 1 ) = ( 1 , 1 , 0 ) + ( 0 , 0 , 1 ) = ( 0 , 1 , 0 ) + ( 1 , 0 , 1 ) (1,1,1)=(1,1,0)+(0,0,1)=(0,1,0)+(1,0,1) (1,1,1)=(1,1,0)+(0,0,1)=(0,1,0)+(1,0,1) ,这就有了两种表示方式。
-
映射
-
线性映射:(1) 若 α , β ∈ V \alpha, \beta \in V α,β∈V ,则 ϕ ( α + β ) = ϕ ( α ) + ϕ ( β ) \phi (\alpha + \beta) = \phi (\alpha) + \phi (\beta) ϕ(α+β)=ϕ(α)+ϕ(β) ;(2) 若 α ∈ V \alpha\in V α∈V ,则 ϕ ( c α ) = c ϕ ( α ) \phi (c\alpha) = c\phi (\alpha) ϕ(cα)=cϕ(α) 。
-
投影映射: V = V 1 ⊕ V 2 V = V_1\oplus V_2 V=V1⊕V2 , V → V 1 V\rightarrow V_1 V→V1 ,也是线性映射。
-
嵌入映射: V = V 1 ⊕ V 2 V = V_1\oplus V_2 V=V1⊕V2 , V 1 → V V_1\rightarrow V V1→V ,也是线性映射。
-
同构映射:两个线性空间 U , V U, V U,V 之间的一一映射。
-
线性变换:线性空间 V V V 到 V V V 本身的映射。
-
不变子空间:对于线性变换 ϕ \phi ϕ ,若 ϕ ( V ) ⊆ V \phi (V)\subseteq V ϕ(V)⊆V ,且对 V V V 的子空间 U U U 仍有 ϕ ( U ) ⊆ U \phi (U)\subseteq U ϕ(U)⊆U ,则 U U U 是 ϕ − \phi- ϕ− 不变子空间。
- 举例:从某一坐标系视角下,矩阵可以看做伸缩变换,则坐标轴方向就是一个不变子空间,因为坐标轴方向的向量经过这个变换只是在伸缩仍然在坐标轴直线上。
特殊矩阵
-
对称矩阵:
-
两个对称矩阵相加仍是对称矩阵。
-
两个对称矩阵相乘不一定是对称矩阵。假设有对称矩阵 A A A 和 B B B , A B AB AB 对称等价于 A B = B A AB = BA AB=BA 。
-
对称矩阵的幂仍是对称矩阵。
-
对称矩阵的逆(如果存在)仍是对称矩阵。证明:伴随矩阵求逆,即 A − 1 = 1 ∣ A ∣ A # A^{-1} = \frac {1}{|A|} A^\# A−1=∣A∣1A# 。
-
若 X X X 对称,则对任意 A A A 有 A X A T AXA^{\mathrm {T}} AXAT 对称。
-
若 A A A 为对称矩阵,对两个向量 x , y \mathbf {x}, \mathbf {y} x,y ,有 x T A y = y T A x \mathbf {x}^{\mathrm {T}} A\mathbf {y} = \mathbf {y}^{\mathrm {T}} A\mathbf {x} xTAy=yTAx 。证明:转置一下,注意到 A = A T A = A^{\mathrm {T}} A=AT 即可。应用: ( x + y ) T A ( x − y ) = x T A x − y T A y (\mathbf {x} + \mathbf {y})^{\mathrm {T}} A (\mathbf {x} - \mathbf {y}) = \mathbf {x}^{\mathrm {T}} A\mathbf {x} - \mathbf {y}^{\mathrm {T}} A\mathbf {y} (x+y)TA(x−y)=xTAx−yTAy 。
-
-
正规矩阵 A A A:方阵,满足 A A T = A T A AA^{\mathrm {T}} = A^{\mathrm {T}} A AAT=ATA 。
-
A A A 是正规矩阵等价于可写成 A = P T Λ P A = P^{\mathrm {T}}\Lambda P A=PTΛP 形式,对应特征值特征向量,而且 P T P = I P^{\mathrm {T}} P = I PTP=I ,就相当于正交对角化了。
-
所有正交矩阵、对称矩阵、反对称矩阵( A T = − A A^{\mathrm {T}} = -A AT=−A )都是正规矩阵。
-
-
正交矩阵 A A A:方阵, A A T = A T A = I AA^{\mathrm {T}} = A^{\mathrm {T}} A = I AAT=ATA=I 。
-
A T = A − 1 A^{\mathrm {T}} = A^{-1} AT=A−1 ,行列式为 1 1 1 或 − 1 -1 −1 。
-
将原来的直角坐标系进行这样的变换,结果坐标系还是正交的,就好像只是将原来的坐标系进行了旋转。而实际上也是,行列式为 1 1 1 的正交矩阵就是一个旋转矩阵。
-
正交变换的特点:
-
⟨ ϕ ( α ) , ϕ ( β ) ⟩ = ⟨ α , β ⟩ \langle \phi (\alpha), \phi (\beta)\rangle = \langle\alpha, \beta\rangle ⟨ϕ(α),ϕ(β)⟩=⟨α,β⟩ 。
-
向量变换后长度不变。
-
两向量变换前后夹角不变。
-
标准正交基变换后仍为标准正交基。
-
变换在标准正交基下是正交矩阵。
-
-
-
A T A A^{\mathrm {T}} A ATA 矩阵的性质:
-
对称矩阵,可对角化。
-
rank ( A T A ) = rank ( A A T ) = rank ( A ) = rank ( A T ) \operatorname {rank}(A^{\mathrm {T}} A) = \operatorname {rank}(AA^{\mathrm {T}}) = \operatorname {rank}(A) = \operatorname {rank}(A^{\mathrm {T}}) rank(ATA)=rank(AAT)=rank(A)=rank(AT) ,证明见
- linear algebra - Prove
rank
A
T
A
=
rank
A
\operatorname{rank}A^TA=\operatorname{rank}A
rankATA=rankA for any
A
∈
M
m
×
n
A\in M_{m \times n}
A∈Mm×n
https://math.stackexchange.com/questions/349738/prove-operatornamerankata-operatornameranka-for-any-a-in-m-m-times-n
- linear algebra - Prove
rank
A
T
A
=
rank
A
\operatorname{rank}A^TA=\operatorname{rank}A
rankATA=rankA for any
A
∈
M
m
×
n
A\in M_{m \times n}
A∈Mm×n
-
A T A A^{\mathrm {T}} A ATA 与 A A T AA^{\mathrm {T}} AAT 的非零特征值相同;更一般地, A B AB AB 与 B A BA BA 的非零特征值相同。考虑 A B x = λ x AB\mathbf {x} = \lambda \mathbf {x} ABx=λx ,左乘 B B B 得 B A ( B x ) = λ ( B x ) BA (B\mathbf {x}) = \lambda (B\mathbf {x}) BA(Bx)=λ(Bx) 。
-
半正定,因为 x T A T A x = ( A x ) T A x ≥ 0 \mathbf {x}^{\mathrm {T}} A^{\mathrm {T}} A\mathbf {x} = (A\mathbf {x})^{\mathrm {T}} A\mathbf {x}\geq 0 xTATAx=(Ax)TAx≥0 ,其中 x \mathbf {x} x 是非零向量。如果 A A A 列满秩,则 A T A A^{\mathrm {T}} A ATA 是正定的。证明:考虑到上面二次型取等号的条件是 A x = 0 A\mathbf {x} = \mathbf {0} Ax=0 ,所以只需要考虑是否有非零解。如果 A T A A^{\mathrm {T}} A ATA 正定,则 A T A A^{\mathrm {T}} A ATA 可逆。因为特征值都是正的,不会是 0 0 0 。半正定即所有特征值非负。
-
Gram matrix:存在一组向量 v 1 , v 2 , ⋯ , v n v_1, v_2, \cdots, v_n v1,v2,⋯,vn ,矩阵的每个元素是向量内积,即 G i j = ⟨ v i , v j ⟩ G_{ij} = \langle v_i, v_j\rangle Gij=⟨vi,vj⟩ 。Gram 矩阵是半正定的,如果向量线性无关则正定,理由参考 A T A A^{\mathrm {T}} A ATA 部分。半正定矩阵(对称)一定是某些向量的 Gram 矩阵,说明可以写成 A T A A^{\mathrm {T}} A ATA 形式,即 Cholesky 分解。
-
-
幂等矩阵:方阵, A 2 = A A^2 = A A2=A 。
-
特征值只能是 0 0 0 或 1 1 1 ,可对角化,迹和秩相等,半正定。
-
除非是单位阵(特征值全为 1 1 1 ),幂等矩阵不可逆。
-
常见的幂等矩阵:投影矩阵 P P P , M = I − P M = I - P M=I−P 。
-
-
幂零矩阵:方阵,存在正整数 k k k 使得 A k = O A^k = O Ak=O 。
-
转移矩阵:方阵,矩阵各元素都是非负的,并且各行元素之和等于 1 1 1 。
-
奇异矩阵:非满秩方阵。
-
对角占优矩阵(Diagonally dominant matrix):对每行来说,对角线元素的绝对值大于或等于其他所有元素绝对值的加和。即 ∣ a i i ∣ ≥ ∑ j ≠ i ∣ a i j ∣ for all i \left|a_{i i}\right| \geq \sum_{j \neq i}\left|a_{i j}\right| \quad \text { for all } i ∣aii∣≥∑j=i∣aij∣ for all i 。
-
更多概念:
-
上面的定义是用行来定义,因此叫 row diagonal dominance,其实也可以用列来定义。
-
如果大于等于改成严格大于,则是 strict (SDD) 版本,上面的版本叫 weak diagonal dominance (WDD) 。
-
-
SDD 可逆,WDD 不一定可逆。
-
WDD 如果是对称矩阵,且对角元都非负,则半正定,证明见 Wiki。
-
SDD 如果是对称矩阵,且对角元都为正,则正定。
-
广义逆矩阵 A − A^- A− ,目的:使更多矩阵可以拥有 “逆矩阵”。
-
定义:满足 A A − A = A AA^-A = A AA−A=A 。若 A A A 维度是 m × n m\times n m×n ,则 A − A^- A− 维度是 n × m n\times m n×m 。其实更原始的定义是 A G b = b AGb = b AGb=b ,满足这个的 G G G 称为广义逆,记为 A − A^- A− 。而存在广义逆的充要条件是存在 G G G 满足 A G A = A AGA = A AGA=A 。
-
如果一个矩阵存在逆矩阵,则 A − 1 A^{-1} A−1 是它的唯一广义逆矩阵;如果矩阵不可逆,则有无穷多矩阵满足上面关系。
-
自反广义逆:同时满足 A G A = A AGA = A AGA=A 和 G A G = G GAG = G GAG=G ,记为 A r − A_r^- Ar− 。
-
单边逆:以左逆为例
-
A A A 的维度是 m × n m\times n m×n ,且 rank ( A ) = n \operatorname {rank}(A) = n rank(A)=n 即列满秩,则存在维度为 n × m n\times m n×m 的 A L − 1 A^{-1}_L AL−1 满足 A L − 1 A = I n A^{-1}_LA = I_n AL−1A=In 。
-
应用:有 A X = B AX = B AX=B 想表示出 X X X ,而 A A A 不可逆,但列满秩,则可以 X = A L − 1 B X = A^{-1}_LB X=AL−1B 。
-
右逆同理, A A R − 1 = I m AA^{-1}_R = I_m AAR−1=Im ,应用时即 X A = B XA = B XA=B ,则 X = B A R − 1 X = BA^{-1}_R X=BAR−1 。
-
-
满秩分解 (Rank factorization):对于 m × n m\times n m×n 的矩阵 A A A ,秩为 r r r ,则可以进行这样的分解 A = B C A = BC A=BC ,其中 B B B 是 m × r m\times r m×r , C C C 是 r × n r\times n r×n 。
-
任意有限维的矩阵都可以进行这种分解,但分解方式不唯一。
-
可以看到,这样分解出来的矩阵,就会存在左逆或右逆,然后简化一些式子,举一个 例子。
-
-
M-P 广义逆(伪逆):同时满足下面几个条件,记为 A + A^+ A+ 。
-
A G A = A AGA = A AGA=A , G A G = G GAG = G GAG=G , ( A G ) T = A G (AG)^{\mathrm {T}} = AG (AG)T=AG , ( G A ) T = G A (GA)^{\mathrm {T}} = GA (GA)T=GA 。
-
M-P 广义逆唯一。
-
一些形式,熟悉这些,方便将一些数值计算改成矩阵形式
-
x T y = ∑ i = 1 n x i y i \mathbf {x}^{\mathrm {T}} \mathbf {y} = \sum_{i = 1}^n x_iy_i xTy=∑i=1nxiyi ,其中 x \mathbf {x} x 和 y \mathbf {y} y 都是向量。
-
x T A x = ∑ i = 1 n ∑ j = 1 n a i j x i x j \mathbf {x}^{\mathrm {T}} A \mathbf {x} = \sum_{i = 1}^n\sum_{j = 1}^n a_{ij} x_ix_j xTAx=∑i=1n∑j=1naijxixj ,其中 x \mathbf {x} x 是向量。
-
特例: A A A 为单位阵: x T x = ∑ i = 1 n x i 2 \mathbf {x}^{\mathrm {T}} \mathbf {x} = \sum_{i = 1}^n x_i^2 xTx=∑i=1nxi2 。
-
特例: Λ \Lambda Λ 为对角阵: x T Λ x = ∑ i = 1 n λ i x i 2 \mathbf {x}^{\mathrm {T}}\Lambda \mathbf {x} = \sum_{i = 1}^n \lambda_i x_i^2 xTΛx=∑i=1nλixi2 。
-
特例: x = 1 \mathbf {x} = \mathbf {1} x=1 ,矩阵 A A A 的所有元素求和: x T A x = ∑ i = 1 n ∑ j = 1 n a i j \mathbf {x}^{\mathrm {T}} A \mathbf {x} = \sum_{i = 1}^n\sum_{j = 1}^n a_{ij} xTAx=∑i=1n∑j=1naij 。
-
-
谱分解 A = P Λ P T = ∑ i = 1 n [ x 1 , ⋯ , x n ] Λ [ x 1 T , ⋯ , x n T ] T = ∑ i = 1 n λ i x i x i T A = P\Lambda P^{\mathrm {T}} = \sum_{i = 1}^n [\mathbf {x}_1,\cdots, \mathbf {x}_n]\Lambda [\mathbf {x}_1^{\mathrm {T}},\cdots, \mathbf {x}_n^{\mathrm {T}}]^{\mathrm {T}} = \sum_{i = 1}^n\lambda_i \mathbf {x}_i \mathbf {x}_i^{\mathrm {T}} A=PΛPT=∑i=1n[x1,⋯,xn]Λ[x1T,⋯,xnT]T=∑i=1nλixixiT 。
-
矩阵 A A A 的所有元素平方和: tr ( A A T ) = ∑ i = 1 n ∑ j = 1 n a i j 2 \operatorname {tr}(AA^{\mathrm {T}}) = \sum_{i = 1}^n\sum_{j = 1}^n a_{ij}^2 tr(AAT)=∑i=1n∑j=1naij2 。
-
tr ( A T B ) = tr ( A B T ) = ∑ i = 1 n ∑ j = 1 n a i j b i j = ∑ i = 1 n a i T b i \operatorname {tr}(A^{\mathrm {T}} B) = \operatorname {tr}(AB^{\mathrm {T}}) = \sum_{i = 1}^n\sum_{j = 1}^n a_{ij} b_{ij} = \sum_{i = 1}^n \mathbf {a}_i^T \mathbf {b}_i tr(ATB)=tr(ABT)=∑i=1n∑j=1naijbij=∑i=1naiTbi 。
-
类似地有: tr ( A T ( B ⊙ C ) ) = tr ( ( A ⊙ B ) T C ) \operatorname {tr}\left (A^{T}(B \odot C)\right) = \operatorname {tr}\left ((A \odot B)^{T} C\right) tr(AT(B⊙C))=tr((A⊙B)TC) ,其中 A , B , C A, B, C A,B,C 维度相同,迹结果为 ∑ i , j A i j B i j C i j \sum_{i, j} A_{ij} B_{ij} C_{ij} ∑i,jAijBijCij 。
-
t r ( X A X T ) = ∑ i = 1 n x i T A x i \mathrm {tr}(XAX^T) = \sum_{i = 1}^n \mathbf {x}_i^T A \mathbf {x}_i tr(XAXT)=∑i=1nxiTAxi 。
- 例如 ∑ i = 1 N ( x i − x ‾ ) T Σ − 1 ( x i − x ‾ ) \sum_{i = 1}^{N}\left (\mathbf {x}_{i}-\overline {\mathbf {x}}\right)^T \Sigma^{-1}\left (\mathbf {x}_{i}-\overline {\mathbf {x}}\right) ∑i=1N(xi−x)TΣ−1(xi−x) 可以写成 t r ( X Σ − 1 X T ) \mathrm {tr}(X\Sigma^{-1} X^T) tr(XΣ−1XT) ,考虑矩阵维度可以帮助思考这个转化过程, n × p , p × p , p × n n\times p, p\times p, p\times n n×p,p×p,p×n 。
-
-
对矩阵进行三种初等变换,都能写成矩阵相乘的形式。
-
例子:左乘对角矩阵,是进行行变换,每行乘个系数;右乘对角矩阵,是进行列变换,每列乘个系数。
- 例子:相关系数矩阵与协方差矩阵的关系。
-
例子:一个行向量左乘矩阵,这个行向量只有一个位置为 1 1 1 ,其他位置为 0 0 0 ,相当于对这个矩阵的行进行提取。多个这样的行向量左乘该矩阵,表示多次提取行组成一个新矩阵。
- 例子:用矩阵乘法实现索引,只需构造这样的 0 − 1 0 - 1 0−1 向量。
-
-
若 A i j = x i y j A_{ij} = x_iy_j Aij=xiyj ,则 A = x y T A = \mathbf {x}\mathbf {y}^\mathrm {T} A=xyT 。
其他概念
-
上三角矩阵是左下角都是 0 0 0 。
-
Kernel: Ker ( A ) \operatorname {Ker}(A) Ker(A) 是 A x = 0 A\mathbf {x} = 0 Ax=0 的解空间,也叫矩阵的零空间 (null space)。 Null ( A ) \operatorname {Null}(A) Null(A) 表示矩阵 A A A 的零空间, nullity ( A ) = dim Null ( A ) \operatorname {nullity}(A) = \operatorname {dim} \operatorname {Null}(A) nullity(A)=dimNull(A) 表示矩阵 A A A 的零空间维度。
-
image: Im ( A ) \operatorname {Im}(A) Im(A) 表示 A x A\mathbf {x} Ax 的所有取值空间,与 rank 的关系: dim ( Im ( A ) ) = rank ( A ) \operatorname {dim}(\operatorname {Im}(A)) = \operatorname {rank}(A) dim(Im(A))=rank(A) 。
-
entry: 矩阵的元素。
Ref 1 / 2
-
矩阵求导 Ref 1-CSDN 博客
https://blog.csdn.net/u013669912/article/details/146126347 -
矩阵求导 Ref 2-CSDN 博客
https://blog.csdn.net/u013669912/article/details/146126405
via:
- 线性代数总结 | Dwzb’s Blog
https://wzbtech.com/tech/Linear-algebra.html