Linear Algebra in a Nutshell

Last updated on November 26, 2023 pm

Matrix

厄米特矩阵

埃尔米特矩阵等于自己的 共轭转置

  • 厄米特矩阵 $A^H = A$

    • 实对称矩阵 $A^T = A$
  • 反厄米特矩阵 $A^H = -A$

    • 实反对称矩阵 $A^T = -A$

正规矩阵

  • 酉矩阵 $A^H A = A A^H = I$
    • 正交矩阵 $A^T A = AA^T = I$
      • 特殊正交矩阵:$\det(A) = +1$,是一个旋转矩阵
        • Givens矩阵:$G(i,j,\theta)$
      • 瑕旋转矩阵:$\det(A) = -1$,瑕旋转是旋转加上镜射
        • Householder矩阵:$H = I - 2 uu^T$

正定与半正定矩阵

在线性代数里,正定矩阵(positive definite matrix)有时简称为 正定阵

对任意的非零向量 $\boldsymbol{x}$ 恒有 二次型

则称 $f$ 为 正定二次型,对应的矩阵为 正定矩阵;若 $f \ge 0$,则 对应的矩阵为 半正定矩阵

直观理解

令 $Y=MX$,则 $X^T Y > 0$,所以

因此,从另一个角度,正定矩阵代表一个向量经过它的变化后的向量与其本身的夹角 小于90度

判别对称矩阵A的正定性

  • 求出A的所有特征值
    • 若A的特征值均为正数,则A是正定的;若A的特征值均为负数,则A为负定的。
  • 计算A的各阶顺序主子式
    • 若A的各阶顺序主子式均大于零,则A是正定的;若A的各阶顺序主子式中,奇数阶主子式为负,偶数阶为正,则A为负定的。

伴随矩阵

余子式

在n阶行列式D中划去任意选定的k行、k列后,余下的元素按原来顺序组成的n-k阶行列式M,称为 行列式D的k阶子式A的余子式

A关于第i行第j列的余子式(记作 $M_{ij}$)是去掉A的第i行第j列之后得到的(n− 1)×(n− 1)矩阵的行列式。

代数余子式

如果k阶子式A在行列式D中的行和列的标号分别为i1,i2,…,ik和j1,j2,…,jk。则在A的余子式M前面添加符号 $(-1)^{\left(i{1}+i{2}+, \ldots,+i{k}\right)+\left(j{1}+j{2}+, \ldots,+j{k}\right)}$,所得到的n-k阶行列式,称为 行列式D的k阶子式A的代数余子式

A的 (代数)余子矩阵 是一个n×n的矩阵C,使得其第i行第j列的元素是A关于第i行第j列的代数余子式:

伴随矩阵(adjoint matrix)

A的 代数余子矩阵 的 转置矩阵,也就是说, A的伴随矩阵是一个n×n的矩阵(记作adj(A)),使得其第i 行第j 列的元素是A关于第j 行第i 列的代数余子式

自伴随矩阵

在数学里,作用于一个有限维的内积空间,一个自伴算子(self-adjoint operator)等于自己的伴随算子;等价地说,表达自伴算子的矩阵是埃尔米特矩阵。埃尔米特矩阵等于自己的共轭转置。

可逆矩阵(非奇异矩阵)

  • 矩阵乘以可逆矩阵 秩不变,因为可逆矩阵可以表示为初等矩阵的乘积,而初等变换不改变矩阵的秩(左乘-行变换,右乘-列变换)

其他

  • 对角阵:任意正规矩阵 都可以经过 正交变换 变成 对角矩阵

  • 上(下)三角阵

矩阵变换

初等变换

  • 初等变换只是不影响矩阵的秩,其他的特性都改变了。

  • 对于计算矩阵的行列式,不能进行初等变换,但是可以做行列的进加减,不能乘以系数。

正交变换

Givens rotation(吉文斯旋转)

在数值线性代数中,吉文斯旋转(Givens rotation)是在两个坐标轴所展开的平面中的旋转。

吉文斯旋转 矩阵:

当一个吉文斯旋转矩阵 $G(i, j, \theta)$ 从左侧乘另一个矩阵 $A$ 的时候,$GA$ 只作用于 $A$ 的第 $i$ 和 $j$ 行。

明确计算出 $\theta$ 是没有必要的。我们转而直接获取 c, s 和 r。一个明显的解是

  • Givens 旋转在数值线性代数中主要的用途是在向量或矩阵中介入零。例如,这种效果可用于计算矩阵的 QR分解

  • 超过 Householder变换 的一个好处是它们可以轻易的并行化,另一个好处是对于非常稀疏的矩阵计算量更小。
1
2
3
4
5
6
7
8
9
Eigen::Matrix<double, 5, 5> mat = Eigen::Matrix<double, 5, 5>::Random();
Eigen::JacobiRotation<double> temp_GR;
for (int n = 0; n < mat.cols(); ++n) {
for (int m = (int)mat.rows() - 1; m > n; m--) {
// Givens matrix G
temp_GR.makeGivens(mat(m - 1, n), mat(m, n));
(mat.block(m - 1, n, 2, mat.cols() - n)).applyOnTheLeft(0, 1, temp_GR.adjoint());
}
}

Jacobi rotation

Householder 变换

豪斯霍尔德变换(Householder transformation)或译“豪斯霍德转换”,又称初等反射(Elementary reflection),这一变换将一个向量变换为由一个超平面反射的镜像,是一种线性变换。其变换矩阵被称作豪斯霍尔德矩阵,在一般内积空间中的类比被称作豪斯霍尔德算子。超平面的法向量被称作豪斯霍尔德向量。

豪斯霍尔德变换可以将向量的某些元素置零,同时保持该向量的范数不变。例如,将非零列向量 $\mathbf{x}=\left[x{1}, \dots, x{n}\right]^{T}$ 变换为单位基向量 $\mathbf{e}=[1,0, \ldots, 0]^{T}$ 的豪斯霍尔德矩阵为

其中豪斯霍尔德向量 $\mathbf{v}$ 满足:

Matrix Decomposition

EVD (Eigen Decomposition)

  • $A$ 是 方阵;$D$ 是 对角阵,其 特征值从大到小排列;$V$ 的列向量为 特征向量
  • 若 $A$ 为 对称阵,则 $V$ 为 正交矩阵,其列向量为 $A$ 的 单位正交特征向量

SVD (Singular Value Decomposition)

  • $A$ 为 $m \times n$ 的矩阵;$D$ 是 非负对角阵,其 奇异值从大到小排列;$U$、$V$ 均为 正交矩阵

SVD分解十分强大且适用,因为任意一个矩阵都可以实现SVD分解,而特征值分解只能应用于方阵。

奇异值与特征值

  • $A^T A$ 的 特征向量 组成的是SVD中的 $V$ 矩阵
  • $A A^T$ 的 特征向量 组成的是SVD中的 $U$ 矩阵
  • $A^T A$ 或 $A A^T$ 的 特征值 $\lambda_i$ 与 $A$ 的 奇异值 $\sigma_i$ 满足 $\sigma_i = \sqrt{\lambda_i}$

PCA

奇异值减少得特别快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上,可以用 最大的 $k$ 个的奇异值和对应的左右奇异向量 来近似描述矩阵

LU Decomposition

  • $A$ 是 方阵;$L$ 是 下三角矩阵;$U$ 是 上三角矩阵

PLU 分解

事实上,PLU 分解有很高的数值稳定性,因此实用上是很好用的工具。

LDU 分解

Cholesky Decomposition

  • $A$ 是 方阵正定矩阵;$L$ 是 下三角矩阵

classic:

LDLT

QR Decomposition

  • $A$ 为 $m \times n$ 的矩阵;$Q$ 为 酉矩阵;$R$ 是 上三角矩阵

Four Fundamental Subspaces

  • 零空间 与 行空间 正交
  • 左零空间 与 列空间 正交

column space (the range or image) $C(A)$

In linear algebra, the column space (also called the range or image) of a matrix A is the span (set of all possible linear combinations) of its column vectors. The column space of a matrix is the image or range of the corresponding matrix transformation.

row space $C(A^T)$

nullspace $N(A)$

The nullity of a matrix is the dimension of the null space.

The rank and nullity of a matrix A with n columns are related by the equation:

left nullspace $N(A^T)$

左零空间 求解

已知

SVD

nullspace

left nullspace

column space or the range (????)

QR

left nullspace

线性方程组

非齐次线性方程组

在非齐次方程组中,A到底有没有解析解,可以由增广矩阵来判断:

  • r(A) > r(A | b) 不可能,因为增广矩阵的秩大于等于系数矩阵的秩
  • r(A) < r(A | b) 方程组无解;
  • r(A) = r(A | b) = n,方程组有唯一解;
  • r(A) = r(A | b) < n,方程组无穷解;

非齐次线性方程组的最小二乘问题

m个方程求解n个未知数,有三种情况:

  • m=n
    • 且A为非奇异,则有唯一解 $x=A^{-1}b$
  • m>n,超定问题(overdetermined)
    • $x=A^{+}b$
  • m<n,欠定问题(underdetermined)

齐次线性方程组

齐次线性方程 解空间维数=n-r(A)

  • r(A) = n
    • A 是方阵,该方程组有唯一的零解
    • A 不是方阵(m>n),解空间只含有零向量
  • r(A) < n
    • 该齐次线性方程组有非零解,而且不唯一(自由度为n-r(A))

齐次线性方程组的最小二乘问题

  • 最小二乘解为 矩阵 $A^TA$ 最小特征值所对应的特征向量
  • $\text{EVD}(A^{T}A)=[V,D]$,找最小特征值对应的V中的特征向量
  • $\text{SVD}(A)=[U,S,V]$,找S中最小奇异值对应的V的右奇异向量

Solver

直接法

  • Choleskey
  • QR

迭代法

CG (Conjugate Gradient, 共轭梯度法)

PCG (Preconditioned Conjugate Gradient)

梯度下降法 vs 共轭梯度法

with Eigen


Linear Algebra in a Nutshell
https://cgabc.xyz/posts/85b8a3ef/
Author
Gavin Gao
Posted on
January 28, 2019
Licensed under