半正定矩阵

在矩阵分析和线性代数中,半正定矩阵(Positive Semi-Definite Matrix,简称PSD矩阵)是一类重要的矩阵。一个矩阵被称为半正定矩阵有以下几种等价的定义和性质:

定义

一个对称矩阵 M \mathbf{M} M被称为半正定矩阵,如果对于所有的非零向量 x \mathbf{x} x,都有:

x ⊤ M x ≥ 0 \mathbf{x}^\top \mathbf{M} \mathbf{x} \geq 0 x⊤Mx≥0

性质

  1. 特征值 :一个对称矩阵 M \mathbf{M} M是半正定的,当且仅当其所有特征值都是非负的。
  2. 奇异值分解 :一个矩阵 M \mathbf{M} M是半正定的,当且仅当它可以表示为 M = A ⊤ A \mathbf{M} = \mathbf{A}^\top \mathbf{A} M=A⊤A的形式,其中 A \mathbf{A} A是任意矩阵。
  3. 内积空间:在内积空间中,半正定矩阵对应的二次型不会改变向量的非负性质。

符号

符号 M ⪰ 0 \mathbf{M} \succeq 0 M⪰0表示矩阵 M \mathbf{M} M是半正定的。这意味着 M \mathbf{M} M满足上述条件。

示例

考虑一个 2 × 2 2 \times 2 2×2的对称矩阵:

M = ( 2 − 1 − 1 2 ) \mathbf{M} = \begin{pmatrix} 2 & -1 \\ -1 & 2 \end{pmatrix} M=(2−1−12)

验证这个矩阵是否为半正定:

  1. 检查特征值:

    计算特征方程的特征值:

det ⁡ ( M − λ I ) = 0 \det(\mathbf{M} - \lambda \mathbf{I}) = 0 det(M−λI)=0

det ⁡ ( 2 − λ − 1 − 1 2 − λ ) = 0 \det\begin{pmatrix} 2 - \lambda & -1 \\ -1 & 2 - \lambda \end{pmatrix} = 0 det(2−λ−1−12−λ)=0

计算行列式:

( 2 − λ ) 2 − ( − 1 ) 2 = 0 (2 - \lambda)^2 - (-1)^2 = 0 (2−λ)2−(−1)2=0

λ 2 − 4 λ + 3 = 0 \lambda^2 - 4\lambda + 3 = 0 λ2−4λ+3=0

解这个二次方程:

λ = 3 或 λ = 1 \lambda = 3 \quad \text{或} \quad \lambda = 1 λ=3或λ=1

由于所有特征值都是非负的,因此矩阵 M \mathbf{M} M是半正定的。

  1. 检查二次型:

    对于任意向量 x = ( x 1 x 2 ) \mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} x=(x1x2),

x ⊤ M x = ( x 1 x 2 ) ( 2 − 1 − 1 2 ) ( x 1 x 2 ) \mathbf{x}^\top \mathbf{M} \mathbf{x} = \begin{pmatrix} x_1 & x_2 \end{pmatrix} \begin{pmatrix} 2 & -1 \\ -1 & 2 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} x⊤Mx=(x1x2)(2−1−12)(x1x2)

= 2 x 1 2 − 2 x 1 x 2 + 2 x 2 2 = 2x_1^2 - 2x_1 x_2 + 2x_2^2 =2x12−2x1x2+2x22

可以验证,对于任意向量 x \mathbf{x} x,这个二次型的值都是非负的。

应用

半正定矩阵在许多应用中都非常重要,包括但不限于:

  1. 优化理论:半正定矩阵在凸优化中非常重要,尤其是在二次规划问题中。
  2. 统计学:在协方差矩阵中,半正定性确保了协方差矩阵是有效的。
  3. 机器学习:在核方法中,核矩阵通常需要是半正定的,以确保其定义有效的内积空间。
  4. 控制理论:在控制系统中,半正定矩阵用于描述系统的稳定性和性能指标。

通过以上解释,希望能帮助你更好地理解半正定矩阵的概念、性质及其应用。

相关推荐
专注仿真7 小时前
ACM算法
算法·深度优先
明志数科7 小时前
具身智能数据供给的分层:分布式采集与入厂采集的工程边界分析
人工智能·机器学习·机器人
Jmyd01238 小时前
手持激光三维扫描仪技术解析:三角测量数据链路、材质适配矩阵与点云处理流程
数码相机·矩阵·材质·三维数字化
傻啦嘿哟8 小时前
Python的默认参数把我坑惨了,原来写[]和写None的区别这么大
开发语言·python·机器学习
顺顺 尼9 小时前
linux 进程信号(上)
linux·c++·算法
罗西的思考9 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(5)--- GRPO
人工智能·算法·机器学习
richard_yuu9 小时前
动态规划:强化学习的「数学基础」,从 MDP 到值迭代
深度学习·神经网络·算法·yolo·机器学习·动态规划
搞科研的小刘选手9 小时前
【计算机方向 | IEEE出版 | 杭州站】第七届机器学习与计算机应用国际学术会议(ICMLCA 2026)
机器学习·学术会议·计算机应用·会议推荐·浙江工业大学
mmmmath_310 小时前
LeetCode.225.用队列实现栈
算法
Elaine33610 小时前
数据结构与算法-程序
数据结构·python·算法·计算机基础·编程基础