1+1=10

记记笔记,放松一下...

矩阵知识小记

理一理矩阵的知识。The Art of Linear Algebra 对线性代数的知识做了很多很直观的图表,本文中图片全部基于它们(有修改)。

matrix world

矩阵类型

矩阵有很多类别:对称矩阵、正交矩阵、奇异矩阵、可逆矩阵、方形矩阵、可对角矩阵等等。

类别 描述 英文注解
矩阵 (Matrix) 所有矩阵ARm×nA \in \mathbb{R}^{m \times n} 均可进行 QR 分解或 SVD 分解。 MatricesARm×nA \in \mathbb{R}^{m \times n} can be decomposed using QR or SVD.
方阵 (Square Matrix) 方阵ARn×nA \in \mathbb{R}^{n \times n} 包括可逆矩阵或奇异矩阵。 Square matricesARn×nA \in \mathbb{R}^{n \times n} can be invertible or singular.
可逆矩阵 (Invertible Matrix) 可逆矩阵A1A^{-1} 存在,当且仅当 det(A)0\det(A) \neq 0 An invertible matrixA1A^{-1} exists if and only if det(A)0\det(A) \neq 0.
奇异矩阵 (Singular Matrix) 奇异矩阵A1A^{-1} 不存在,且 det(A)=0\det(A) = 0 A singular matrixA1A^{-1} does not exist, and det(A)=0\det(A) = 0.
可对角化矩阵 (Diagonalizable Matrix) 如果方阵AAnn 个线性无关的特征向量,则它是可对角化的,可以表示为 A=XΛX1A = X \Lambda X^{-1} If a square matrixAA has nn linearly independent eigenvectors, it is diagonalizable and can be written as A=XΛX1A = X \Lambda X^{-1}.
正规矩阵 (Normal Matrix) 满足ATA=AATA^T A = A A^T,可以通过正交矩阵对角化为 A=QΛQ1A = Q \Lambda Q^{-1} SatisfiesATA=AATA^T A = A A^T, and can be diagonalized by an orthogonal matrix as A=QΛQ1A = Q \Lambda Q^{-1}.
对称矩阵 (Symmetric Matrix) 对称矩阵A=ATA = A^T 是正规矩阵的子集,特征值为实数。 A symmetric matrixA=ATA = A^T is a subset of normal matrices, with real eigenvalues.
正定矩阵 (Positive Definite Matrix) 正定矩阵的所有特征值λ>0\lambda > 0 The eigenvalues of a positive definite matrix satisfyλ>0\lambda > 0.
正半定矩阵 (Positive Semi-Definite Matrix) 正半定矩阵的所有特征值λ0\lambda \geq 0 The eigenvalues of a positive semi-definite matrix satisfyλ0\lambda \geq 0.
投影矩阵 (Projection Matrix) 投影矩阵PP 满足 P2=P=PTP^2 = P = P^T,特征值为 0 或 1。 A projection matrixPP satisfies P2=P=PTP^2 = P = P^T, and its eigenvalues are 0 or 1.
正交矩阵 (Orthogonal Matrix) 正交矩阵A1=ATA^{-1} = A^T,特征值的模长为 1。 An orthogonal matrix satisfiesA1=ATA^{-1} = A^T, with eigenvalues of modulus 1.
置换矩阵 (Permutation Matrix) 置换矩阵PP是正交矩阵的子集,是通过重新排列单位矩阵的行或列生成的,且满足 P1=PTP^{-1} = P^T A permutation matrixPP is generated by rearranging the rows or columns of the identity matrix, and satisfies P1=PTP^{-1} = P^T.
反射矩阵 (Reflection Matrix) 反射矩阵是正交矩阵的一个子集,特征值为111-1 A reflection matrix is a subset of orthogonal matrices, with eigenvalues of11 or 1-1.
伪逆矩阵 (Pseudo-Inverse Matrix) 伪逆矩阵A+A^+ 可以通过奇异值分解表示为 A+=VΣ+UTA^+ = V \Sigma^+ U^T,即使 AA 不是可逆矩阵。 The pseudo-inverseA+A^+ can be represented via singular value decomposition as A+=VΣ+UTA^+ = V \Sigma^+ U^T, even if AA is not invertible.

特征值

特征值(Eigenvalue)是一个与线性变换密切相关的重要概念。给定一个方阵 ARn×nA \in \mathbb{R}^{n \times n},特征值描述了矩阵作用在某些特殊向量(即特征向量)上时,仅改变这些向量长度而不改变方向的情况。

eigenvalues

特征值的定义

对于一个方阵 AA,如果存在一个非零向量 vRnv \in \mathbb{R}^n 和一个标量 λ\lambda,使得:

Av=λv A v = \lambda v

那么 λ\lambda 就被称为矩阵 AA特征值,而 vv 被称为与特征值 λ\lambda 对应的特征向量

几何意义

特征值在矩阵的几何变换中的物理意义。

考虑一个矩阵 AA 作用在空间中的向量 vv 上:

  • 如果 λ>1\lambda > 1,说明矩阵 AA 对向量 vv 进行了拉伸。
  • 如果 0<λ<10 < \lambda < 1,则矩阵 AA 对向量 vv 进行了压缩。
  • 如果 λ=1\lambda = 1,向量 vv 在矩阵 AA 作用下保持不变。
  • 如果 λ=1\lambda = -1,则矩阵 AA 将向量 vv 的方向反转。
  • 如果 λ=0\lambda = 0,则矩阵 AA 将向量 vv 压缩为零向量。

特征值性质

  • 数量:一个 n×nn \times n 的方阵 AA 通常有 nn 个特征值(包括复数特征值和重数)。
  • 重数
    • 代数重数:特征值在特征多项式中作为根的重数。
    • 几何重数:与特征值对应的线性无关特征向量的数量,即特征空间的维数。
  • 迹和行列式
    • 一个矩阵的是其所有特征值之和,即 tr(A)=i=1nλi\text{tr}(A) = \sum_{i=1}^{n} \lambda_i
    • 一个矩阵的行列式是其所有特征值的乘积,即 det(A)=i=1nλi\det(A) = \prod_{i=1}^{n} \lambda_i

矩阵分解

factorization

好端端的矩阵为什么要分解??

求解线性方程组

对于线性方程组 Ax=bAx = b,直接使用矩阵 AA 的逆矩阵 A1A^{-1} 来求解,即 x=A1bx = A^{-1}b,就可以了。但为什么在实际应用中,直接用矩阵的逆来解方程并不常见??

原因:

  1. 计算复杂度高:直接求逆矩阵的计算复杂度较高,尤其对于大规模矩阵,求逆操作的计算开销可能非常大。
  2. 数值不稳定性:求逆操作容易引入数值误差,尤其是当矩阵接近奇异时,逆矩阵的数值误差会非常明显。
  3. 效率低:相比于 LU 分解、QR 分解或 Cholesky 分解,直接求逆非常低效。通过分解矩阵,可利用三角矩阵的快速求解方法。

LU分解

LU 分解将矩阵 AA 分解为下三角矩阵 LL上三角矩阵 UU,即 A=LUA = LU。这样可以将原方程 Ax=bAx = b 转化为两个更容易求解的三角方程:

Ax=bLUx=b A x = b \quad \Rightarrow \quad LU x = b

优点:

  • 下三角和上三角矩阵的方程组可以通过前代回代方法快速求解
  • 如果需要针对不同的右边向量 bb 求解多个方程组 Ax=bAx = b,只需要对矩阵 AA 做一次 LU 分解

QR分解

QR 分解将矩阵 AA 分解为正交矩阵 QQ上三角矩阵 RR,即 A=QRA = QR。这样可以将原方程 Ax=bAx = b 转化为:

Ax=bQRx=b Ax = b \quad \Rightarrow \quad QRx = b

通过乘以 QTQ^T,将方程变为 Rx=QTbRx = Q^T b,即:

QRx=bRx=QTb QR x = b \quad \Rightarrow \quad R x = Q^T b

由于 RR 是上三角矩阵,使用回代法可以快速求解 xx

优点:

  • 稳定性高:QR 分解在数值计算中比 LU 分解更稳定,尤其在处理病态矩阵(即条件数很大的矩阵)时,它能够更好地避免误差的积累。
  • 最小二乘法:QR 分解特别适合用于求解过定方程组(即方程的数量多于未知数的情况),这种情况下可以通过最小二乘法来求解,而 QR 分解是最常用的最小二乘法工具之一。

降维与压缩

在数据降维和压缩领域。通过矩阵分解技术,可以有效地减少数据的维度或存储空间,同时保留大部分信息。

奇异值分解 (SVD):

SVD 将矩阵 ARm×nA \in \mathbb{R}^{m \times n} 分解为三个矩阵的乘积:

A=UΣVT A = U \Sigma V^T

其中:

  • UUm×mm \times m 的正交矩阵,表示左奇异向量
  • Σ\Sigmam×nm \times n对角矩阵,包含矩阵的奇异值(按大小排序)。
  • VTV^Tn×nn \times n 的正交矩阵,表示右奇异向量

通过 SVD 分解矩阵,奇异值矩阵 Σ\Sigma 的对角元素(奇异值)按大小递减排列。较大的奇异值对应了数据中的重要信息,而较小的奇异值对应了噪声或冗余信息。通过截断较小的奇异值,可以减少矩阵的维度,但保留大部分原始数据的结构。

如果只保留前 kk 个最大的奇异值和对应的奇异向量,得到的矩阵 AkA_k 是原矩阵的低秩近似(降维):

Ak=UkΣkVkT A_k = U_k \Sigma_k V_k^T

其中 UkU_kVkV_k 只保留前 kk 列,Σk\Sigma_k 是前 kk 个奇异值构成的对角矩阵。

矩阵

Matrix 中文翻译成矩阵,日文翻译为行列(ぎょうれつ,gyōretsu),而 Determinant 在中文和日文中都是行列式。

Vector 在中文中翻译比较乱:

  • 数学:向量。向 表示方向;量 表示大小和数量
  • 物理:矢量。矢 表示箭头,暗示方向;量 表示大小和数量。
  • C++:动态数组

矩阵定义

一个 m×nm \times n 的矩阵 AA 是一个包含 mmnn 列的二维数组,可以表示为:

A=[a11a12a1na21a22a2nam1am2amn] A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix}

其中,aija_{ij} 表示矩阵 AA 的第 ii 行、第 jj 列的元素。AA维度大小m×nm \times n

向量定义

向量可用列向量行向量。但是 列向量更为常见:

v=[v1v2vn] \mathbf{v} = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix}

列向量相对于行向量的好处:

  • 线性代数的标准惯例:列向量是线性代数中的标准表示法,符合大多数教材和学术文献的习惯。
  • 矩阵运算的兼容性:在矩阵乘法中,矩阵通常是左乘列向量的,这使得矩阵运算更方便和直观。
  • 线性变换的表示:线性变换通常用矩阵作用在列向量上,列向量更符合这种变换的顺序。
  • 向量空间的表示:向量空间的基向量通常按列排列,列向量有助于更清晰地表达向量的线性组合。

视角!!

The Art of Linear Algebra 很大篇幅在以不同视角可视化矩阵的运算。

1个 (mxn) 的矩阵,可以视为:

  • 1个矩阵
  • mn个数
  • n个列
  • m个行

1个向量通常用列向量表示,行向量可以用列向量的转置表示。

基本运算

  • 矩阵加法 (Matrix Addition):两个相同大小矩阵的元素对应相加。
  • 矩阵乘法 (Matrix Multiplication):两个矩阵相乘,按行列对应的内积计算。
  • 标量乘法 (Scalar Multiplication):矩阵的每个元素乘以一个标量。
  • 矩阵转置 (Matrix Transposition):将矩阵的行和列互换。
  • 矩阵的逆 (Matrix Inversion):对于可逆矩阵 AA,找到 A1A^{-1},使得 A×A1=IA \times A^{-1} = I
  • 迹 (Trace):方阵主对角线元素的和。
  • 行列式 (Determinant):方阵的一个标量值,用于判断矩阵是否可逆。【行列式是一个值】

参考

  • https://github.com/kenjihiranabe/The-Art-of-Linear-Algebra
  • https://en.wikipedia.org/wiki/Matrix_(mathematics)

Science