关于正定矩阵和非正定矩阵

整理在网上找的各种对这个概念的理解…

1.首先半正定矩阵定义为: X^TMX \geq 0

其中X 是向量,M 是变换矩阵

我们换一个思路看这个问题,矩阵变换中,MX代表对向量 X进行变换,我们假设变换后的向量为Y,记做Y=MX。于是半正定矩阵可以写成:
X^TY \geq 0

这个是不是很熟悉呢? 他是两个向量的内积。 同时我们也有公式:

cos(\theta) = \frac{X^TY}{||X||* ||Y||}

||X||, ||Y||代表向量 X,Y的长度,\theta是他们之间的夹角。 于是半正定矩阵意味着cos(\theta)\geq 0, 这下明白了么?

正定、半正定矩阵的直觉代表一个向量经过它的变化后的向量与其本身的夹角小于等于90度。

作者:cwaar

2.考虑矩阵的特征值。
若所有特征值均不小于零,则称为半正定。
若所有特征值均大于零,则称为正定。

作者:qfzklm

3.


### 正定矩阵与半正定矩阵的定义及判断方法 #### 定义 正定矩阵正定矩阵是线性代数中重要的特殊对称矩阵类别。具体来说: - **正定矩阵**是指一个大小为 \( n \times n \) 的实对称矩阵 \( A \),对于任意长度为 \( n \) 的零向量 \( x \),都有 \( x^T A x > 0 \) 恒成立[^2]。 - **半正定矩阵**则是指类似的条件下,\( x^T A x \geq 0 \) 对于所有零向量 \( x \) 成立[^4]。 这意味着,在正定矩阵的情况下,二次型始终严格大于零;而在半正定矩阵的情况下,允许存在某些向量使得二次型等于零。 #### 判断方法 以下是几种常见的用于判断矩阵是否为正定或半正定的方法: 1. **特征值法** 如果一个对称矩阵的所有特征值都为正,则该矩阵正定的。如果所有特征值均是负(可以为零),那么这个矩阵就是半正定的。 2. **主子行列式法** 对于一个 \( n \times n \) 阶的对称矩阵 \( A \),可以通过检查它的顺序主子式的符号来决定其正定性: - 若所有的顺序主子式皆为正值,则矩阵正定; - 若所有顺序主子式都不小于零,则矩阵为半正定[^3]。 3. **Cholesky 分解法** 只有当矩阵能够通过 Cholesky 分解表示成下三角矩阵与其转置相乘的形式时,此矩阵才是正定的。这种方法不仅提供了分解的可能性验证,还常被用来解决实际计算中的问题[^1]。 ```python import numpy as np def is_positive_definite(matrix): try: _ = np.linalg.cholesky(matrix) return True except np.linalg.LinAlgError: return False A = np.array([[2, -1], [-1, 2]]) print(is_positive_definite(A)) # 输出应为True ``` 上述代码片段展示了如何利用 Python NumPy 库实现基于 Cholesky 分解的正定性检测函数。 #### 总结 正定矩阵正定矩阵的主要区别在于它们所对应的二次型取值范围的不同——前者仅限于严格的正区间,后者则扩展到了包括零在内的负区域。这些特性决定了两者在线性规划、最优化等领域内的不同应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值