一、定义
正定矩阵是指所有特征值都为正数的方阵。特征值是方阵在特征向量上的投影(即特征向量是矩阵进行线性变换后仍在原方向上的向量),而特征值的正负决定了矩阵进行变换后是否改变向量的方向。正定矩阵的定义可以简化为:矩阵所有正交向量的内积都是正数。
二、性质1:正定矩阵的二次型
正定矩阵在数学中有很多应用,其中之一就是它们与二次型有关。二次型是一个二次多项式,表示为 $x^T A x$,其中 $x$ 是一个 $n$ 维向量,$A$ 是一个 $n\times n$ 的矩阵。正定矩阵定义了一个正定的二次型,他的值在极值处为正。更具体地,一个二次型 $x^T A x$ 在 $x=0$ 处取得最小值0,而在其他地方的取值为正。
三、性质2:正定矩阵的逆矩阵
正定矩阵的逆矩阵依然是正定矩阵,具有同样的特征值。
import numpy as np # 构造一个正定矩阵 A = np.array([[1, 2, 3], [2, 5, 6], [3, 6, 10]]) # 求矩阵的逆矩阵 A_inv = np.linalg.inv(A) # 判断逆矩阵是否是正定矩阵 if np.all(np.linalg.eigvals(A_inv) > 0): print("A的逆矩阵是正定矩阵") else: print("A的逆矩阵不是正定矩阵")
四、性质3:正定矩阵的实对称矩阵分解
任何一个正定矩阵 $A$ 均能表示为 $A=LL^T$,其中 $L$ 是一个下三角矩阵并且所有主对角线上的元素为正。这个分解的过程也被称为 Cholesky 分解。
import numpy as np # 构造一个正定矩阵 A = np.array([[1, 2, 3], [2, 5, 6], [3, 6, 10]]) # 进行Cholesky分解 L = np.linalg.cholesky(A) # 验证分解是否正确 assert np.allclose(np.dot(L, L.T), A)
五、性质4:正定矩阵的行列式
正定矩阵的行列式值是所有特征值的乘积,因此它是正数。换句话说,如果矩阵的行列式为零,则它不是正定矩阵。
import numpy as np # 构造一个正定矩阵 A = np.array([[1, 2, 3], [2, 5, 6], [3, 6, 10]]) # 计算行列式 det_A = np.linalg.det(A) if det_A > 0: print("A 是正定矩阵") else: print("A 不是正定矩阵")
六、性质5:正定矩阵的特征分解
正定矩阵具有正交对角线化的性质,可以进行特征分解为 $A = Q \Lambda Q^{T}$,其中 $Q$ 是一个正交矩阵,$\Lambda$ 是一个对角矩阵,包含矩阵 $A$ 的特征值。
import numpy as np # 构造一个正定矩阵 A = np.array([[1, 2, 3], [2, 5, 6], [3, 6, 10]]) # 进行特征分解 Q, L, Qt = np.linalg.svd(A) eigvals = L**2 # 验证分解是否正确 assert np.allclose(np.dot(np.dot(Q, np.diag(eigvals)), Qt), A)
七、小结
正定矩阵是数学中一个非常重要的概念,在数值计算和优化等领域有广泛的应用。本文从正定矩阵的定义出发,逐步阐述了正定矩阵的几个重要性质,包括与二次型的关系、逆矩阵的性质、Cholesky 分解、行列式、特征分解等等。这些性质不仅有助于加深我们对正定矩阵的认识,而且也为我们解决实际问题提供了实用的工具。