本文主要是介绍矩阵的迹(Trace),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
矩阵的迹(Trace)
flyfish
矩阵的迹(Trace)是指一个方阵(即行数和列数相同的矩阵)对角线元素之和。就是在一个正方形的数字表格里,沿着从左上角到右下角的对角线,把这条线上所有的数字加起来,得到的和就是这个矩阵的迹。
简单例子
假设我们有一个3x3的矩阵:
( 1 2 3 4 5 6 7 8 9 ) \begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} 147258369
矩阵的迹就是对角线上的元素之和,也就是1、5和9的和:
Tr ( A ) = 1 + 5 + 9 = 15 \text{Tr}(A) = 1 + 5 + 9 = 15 Tr(A)=1+5+9=15
矩阵的迹等于其特征值之和
计算矩阵的迹
假设我们有一个2x2的矩阵:
( 4 1 2 3 ) \begin{pmatrix}4 & 1 \\ 2 & 3 \end{pmatrix} (4213)
import numpy as np
# 定义矩阵
A = np.array([[4, 1], [2, 3]])
# 计算矩阵的迹
trace_A = np.trace(A)
# 计算矩阵的特征值
eigenvalues_A = np.linalg.eigvals(A)
# 计算特征值之和
sum_eigenvalues = np.sum(eigenvalues_A)
print(trace_A, eigenvalues_A, sum_eigenvalues)
7 [5. 2.] 7.0
矩阵 A A A 的特征值通过解矩阵的特征多项式得到。具体步骤如下:
步骤:
- 特征多项式:定义特征值 λ \lambda λ 为矩阵 A A A 的特征值,如果存在非零向量 v \mathbf{v} v 使得 A v = λ v A \mathbf{v} = \lambda \mathbf{v} Av=λv。这可以转换为以下方程:
( A − λ I ) v = 0 (A - \lambda I) \mathbf{v} = 0 (A−λI)v=0
其中, I I I 是单位矩阵。 - 行列式:为了有非零解,矩阵 ( A − λ I ) (A - \lambda I) (A−λI) 的行列式必须为零,即:
det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det(A−λI)=0 - 解多项式:上面的行列式是一个关于 λ \lambda λ 的多项式方程,称为特征多项式。解这个多项式方程可以得到矩阵的特征值。
具体例子
对矩阵 A = ( 4 1 2 3 ) A = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix} A=(4213),我们来计算特征值:
- 特征多项式:
A − λ I = ( 4 1 2 3 ) − λ ( 1 0 0 1 ) = ( 4 − λ 1 2 3 − λ ) A - \lambda I = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix} - \lambda \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 4 - \lambda & 1 \\ 2 & 3 - \lambda \end{pmatrix} A−λI=(4213)−λ(1001)=(4−λ213−λ) - 行列式:
det ( A − λ I ) = det ( 4 − λ 1 2 3 − λ ) = ( 4 − λ ) ( 3 − λ ) − 2 ⋅ 1 \det(A - \lambda I) = \det \begin{pmatrix} 4 - \lambda & 1 \\ 2 & 3 - \lambda \end{pmatrix} = (4 - \lambda)(3 - \lambda) - 2 \cdot 1 det(A−λI)=det(4−λ213−λ)=(4−λ)(3−λ)−2⋅1 - 展开多项式:
( 4 − λ ) ( 3 − λ ) − 2 = 12 − 4 λ − 3 λ + λ 2 − 2 = λ 2 − 7 λ + 10 (4 - \lambda)(3 - \lambda) - 2 = 12 - 4\lambda - 3\lambda + \lambda^2 - 2 = \lambda^2 - 7\lambda + 10 (4−λ)(3−λ)−2=12−4λ−3λ+λ2−2=λ2−7λ+10 - 求根:
λ 2 − 7 λ + 10 = 0 \lambda^2 - 7\lambda + 10 = 0 λ2−7λ+10=0
求解这个二次方程可以得到特征值:
λ = 7 ± 49 − 40 2 = 7 ± 9 2 = 7 ± 3 2 \lambda = \frac{7 \pm \sqrt{49 - 40}}{2} = \frac{7 \pm \sqrt{9}}{2} = \frac{7 \pm 3}{2} λ=27±49−40=27±9=27±3
所以特征值是:
λ 1 = 5 , λ 2 = 2 \lambda_1 = 5, \lambda_2 = 2 λ1=5,λ2=2
- 线性变换的固有尺度:特征值描述了线性变换在某些方向上的缩放因子。如果 λ \lambda λ 是矩阵 A A A 的特征值,意味着存在一个向量 v \mathbf{v} v 使得 A v = λ v A \mathbf{v} = \lambda \mathbf{v} Av=λv。向量 v \mathbf{v} v 在变换 A A A 下只会被拉伸或压缩,而不会改变方向。
- 对角化:特征值可以用来对矩阵进行对角化。如果矩阵 A A A 可以对角化,那么 A = P D P − 1 A = PDP^{-1} A=PDP−1,其中 D D D 是对角矩阵,对角线上的元素是 A A A 的特征值。对角化在简化矩阵的高次幂和指数矩阵计算中非常有用。
特征值提供了缩放因子的信息,而特征向量提供了变换方向的信息。也可以从特征向量的角度看特征值。
使用特征值和特征向量对矩阵进行对角化
假设我们有以下矩阵 A A A:
( 4 1 2 3 ) \begin{pmatrix}4 & 1 \\ 2 & 3 \end{pmatrix} (4213)
步骤:
- 计算矩阵 ( A ) 的特征值。
- 计算与特征值对应的特征向量。
- 组成矩阵 ( P ) 和对角矩阵 ( D )。
- 验证 A = P D P − 1 A = PDP^{-1} A=PDP−1。
1. 计算特征值
特征值 (\lambda) 满足:
det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det(A−λI)=0
其中 ( I ) 是单位矩阵:
det ( 4 − λ 1 2 3 − λ ) = ( 4 − λ ) ( 3 − λ ) − 2 ⋅ 1 = λ 2 − 7 λ + 10 \det \begin{pmatrix} 4 - \lambda & 1 \\ 2 & 3 - \lambda \end{pmatrix} = (4 - \lambda)(3 - \lambda) - 2 \cdot 1 = \lambda^2 - 7\lambda + 10 det(4−λ213−λ)=(4−λ)(3−λ)−2⋅1=λ2−7λ+10
解得特征值 λ 1 = 5 \lambda_1 = 5 λ1=5 和 λ 2 = 2 \lambda_2 = 2 λ2=2。
2. 计算特征向量
对于 λ 1 = 5 \lambda_1 = 5 λ1=5:
( A − 5 I ) v = 0 (A - 5I)\mathbf{v} = 0 (A−5I)v=0
( 4 − 5 1 2 3 − 5 ) ( v 1 v 2 ) = ( − 1 1 2 − 2 ) ( v 1 v 2 ) = 0 \begin{pmatrix} 4 - 5 & 1 \\ 2 & 3 - 5 \end{pmatrix} \begin{pmatrix} v_1 \\ v_2 \end{pmatrix} = \begin{pmatrix} -1 & 1 \\ 2 & -2 \end{pmatrix} \begin{pmatrix} v_1 \\ v_2 \end{pmatrix} = 0 (4−5213−5)(v1v2)=(−121−2)(v1v2)=0
解得特征向量:
v 1 = ( 1 1 ) \mathbf{v}_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix} v1=(11)
对于 λ 2 = 2 \lambda_2 = 2 λ2=2:
( A − 2 I ) v = 0 (A - 2I)\mathbf{v} = 0 (A−2I)v=0
( 4 − 2 1 2 3 − 2 ) ( v 1 v 2 ) = ( 2 1 2 1 ) ( v 1 v 2 ) = 0 \begin{pmatrix} 4 - 2 & 1 \\ 2 & 3 - 2 \end{pmatrix} \begin{pmatrix} v_1 \\ v_2 \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ 2 & 1 \end{pmatrix} \begin{pmatrix} v_1 \\ v_2 \end{pmatrix} = 0 (4−2213−2)(v1v2)=(2211)(v1v2)=0
解得特征向量:
v 2 = ( − 1 2 ) \mathbf{v}_2 = \begin{pmatrix} -1 \\ 2 \end{pmatrix} v2=(−12)
3. 组成矩阵 ( P ) 和对角矩阵 ( D )
特征向量组成矩阵 ( P ):
P = ( 1 − 1 1 2 ) P = \begin{pmatrix} 1 & -1 \\ 1 & 2 \end{pmatrix} P=(11−12)
特征值组成对角矩阵 ( D ):
D = ( 5 0 0 2 ) D = \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix} D=(5002)
4. 验证 A = P D P − 1 A = PDP^{-1} A=PDP−1
我们计算 ( P^{-1} ):
P − 1 = 1 det ( P ) ( 2 1 − 1 1 ) = 1 ( 1 ⋅ 2 − ( − 1 ) ⋅ 1 ) ( 2 1 − 1 1 ) = ( 2 / 3 1 / 3 − 1 / 3 1 / 3 ) P^{-1} = \frac{1}{\det(P)} \begin{pmatrix} 2 & 1 \\ -1 & 1 \end{pmatrix} = \frac{1}{(1 \cdot 2 - (-1) \cdot 1)} \begin{pmatrix} 2 & 1 \\ -1 & 1 \end{pmatrix} = \begin{pmatrix} 2/3 & 1/3 \\ -1/3 & 1/3 \end{pmatrix} P−1=det(P)1(2−111)=(1⋅2−(−1)⋅1)1(2−111)=(2/3−1/31/31/3)
现在我们验证 A = P D P − 1 A = PDP^{-1} A=PDP−1:
P D P − 1 = ( 1 − 1 1 2 ) ( 5 0 0 2 ) ( 2 / 3 1 / 3 − 1 / 3 1 / 3 ) PDP^{-1} = \begin{pmatrix} 1 & -1 \\ 1 & 2 \end{pmatrix} \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix} \begin{pmatrix} 2/3 & 1/3 \\ -1/3 & 1/3 \end{pmatrix} PDP−1=(11−12)(5002)(2/3−1/31/31/3)
首先计算 ( PD ):
P D = ( 1 − 1 1 2 ) ( 5 0 0 2 ) = ( 5 − 2 5 4 ) PD = \begin{pmatrix} 1 & -1 \\ 1 & 2 \end{pmatrix} \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix} = \begin{pmatrix} 5 & -2 \\ 5 & 4 \end{pmatrix} PD=(11−12)(5002)=(55−24)
然后计算 P D ⋅ P − 1 PD \cdot P^{-1} PD⋅P−1:
P D ⋅ P − 1 = ( 5 − 2 5 4 ) ( 2 / 3 1 / 3 − 1 / 3 1 / 3 ) = ( ( 5 ⋅ 2 / 3 + ( − 2 ) ⋅ ( − 1 / 3 ) ) ( 5 ⋅ 1 / 3 + ( − 2 ) ⋅ 1 / 3 ) ( 5 ⋅ 2 / 3 + 4 ⋅ ( − 1 / 3 ) ) ( 5 ⋅ 1 / 3 + 4 ⋅ 1 / 3 ) ) = ( 4 1 2 3 ) PD \cdot P^{-1} = \begin{pmatrix} 5 & -2 \\ 5 & 4 \end{pmatrix} \begin{pmatrix} 2/3 & 1/3 \\ -1/3 & 1/3 \end{pmatrix} = \begin{pmatrix} (5 \cdot 2/3 + (-2) \cdot (-1/3)) & (5 \cdot 1/3 + (-2) \cdot 1/3) \\ (5 \cdot 2/3 + 4 \cdot (-1/3)) & (5 \cdot 1/3 + 4 \cdot 1/3) \end{pmatrix} = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix} PD⋅P−1=(55−24)(2/3−1/31/31/3)=((5⋅2/3+(−2)⋅(−1/3))(5⋅2/3+4⋅(−1/3))(5⋅1/3+(−2)⋅1/3)(5⋅1/3+4⋅1/3))=(4213)
验证得 P D P − 1 = A PDP^{-1} = A PDP−1=A。
这篇关于矩阵的迹(Trace)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!