Skip to main content

好的!用最通俗的话把这两个概念讲清楚,并告诉你怎么判断、它们有啥用。

正交矩阵(Orthogonal)

一句话:正交矩阵就是“只旋转/翻折,不拉伸”的变换矩阵。

  • 定义:QQ=IQ^\top Q = I(转置=逆:Q1=QQ^{-1}=Q^\top

  • 直观:把坐标轴换个方向,但长度和角度都不变。像把整张网格“搬动/转向/镜像”,不揉不拉。

  • 2D 里:要么是旋转,要么是关于某条轴的镜像。

  • 关键性质:

    • det(Q)=±1\det(Q) = \pm 1(面积/体积不变,1-1 代表翻转过)
    • 特征值在单位圆上(实数情况下可能是 ±1\pm1 或成对的复数在单位圆上)
    • 条件数 = 1(最稳的线性变换,不放大也不缩小向量的长度)
  • 怎么判定:

    • 直接算 QQQ^\top Q 看是不是 II
    • 列(或行)向量两两正交且每个都是单位长度

工程里为什么重要?

  • 数值稳定(不会放大误差)
  • 正交初始化/正交正则,有助于深网训练
  • PCA/QR/SVD 里都会遇到正交矩阵(例如 A=UΣVA = U\Sigma V^\top 里的 U,VU,V

正定矩阵(Positive Definite,通常指“对称正定”SPD)

一句话:正定矩阵就是“把任何非零向量的平方形式都变成正数”的矩阵;它代表“没有方向是负能量/塌缩”的内在度量。

  • 定义(实对称情形):对任意 x0x\neq 0xAx>0x^\top A x > 0,且 A=AA=A^\top

  • 直观:用 AA 定义的“长度”

    xA=xAx|x|_A = \sqrt{x^\top A x}

    对所有 xx 都是正的 → 像一把“方向相关”的尺子(马氏距离)。

  • 关键性质:

    • 所有特征值都 > 0
    • Cholesky 分解存在:A=RRA = R^\top RRR 上三角、对角正)
    • 可把二次型看成“椭圆”而非“马鞍”,因此
    • SPD \Rightarrow 可逆,且 A1A^{-1} 也是 SPD
  • 怎么判定(等价条件,满足任意一条都行):

    • xAx>0, x0x^\top A x > 0,\ \forall x\neq 0
    • 特征值全正
    • 主子式全正(所有左上角 k×kk\times k 行列式 >0>0
    • 能做 Cholesky:数值上用 chol(A) 成功就说明是 SPD
  • 与“半正定”PSD区别:PSD 只要求 0\ge 0,可以有零特征值(不可逆)。协方差矩阵一般是 PSD;满秩时就是 SPD。

工程里为什么重要?

  • 最优化:二次目标 12xAxbx\frac12 x^\top A x - b^\top x 的 Hessian 是 SPD → 目标严格凸、解唯一
  • 统计/机器学习:协方差矩阵(PSD/有时 SPD)、核矩阵(PSD)、高斯分布需要 SPD 协方差
  • 距离度量:马氏距离、自适应度量学习

二者的联系与区别

  • 联系

    • 正交矩阵不会改变“普通”欧式长度;
    • AA 是 SPD,做正交相似变换仍是 SPD:QAQQ^\top A Q(这就是为什么 SPD 可以被正交矩阵对角化:A=QΛQ, Λ>0A = Q\Lambda Q^\top,\ \Lambda>0)。
  • 区别

    • 正交矩阵描述的是“不失真的刚体变换”(旋转/反射);
    • 正定矩阵描述的是“一个方向相关的度量/能量”(把单位球拉成椭球)。

记忆卡

  • 正交QQ=IQ^\top Q = I,不改变长度角度,det=±1\det=\pm1,条件数=1。
  • 正定(SPD):xAx>0x^\top A x > 0,特征值>0>0,Cholesky 存在,表示“良性度量/能量”。

小例子

  • Q=[cosθsinθ sinθcosθ]Q = \begin{bmatrix}\cos\theta & -\sin\theta \\\ \sin\theta & \cos\theta\end{bmatrix} 是正交:旋转 θ\theta
  • A=[2003]A = \begin{bmatrix}2 & 0 \\ 0 & 3\end{bmatrix} 是 SPD:把单位圆拉成半轴 2\sqrt{2}3\sqrt{3} 的椭圆;马氏“长度”变成 2x12+3x22\sqrt{2x_1^2+3x_2^2}

需要我给一段 PyTorch/Numpy 代码,演示如何检查正交/正定并做一次 Cholesky 分解、正交化(QR)吗?