当前位置: 首页 > news >正文

矩阵的迹(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 的特征值通过解矩阵的特征多项式得到。具体步骤如下:

步骤:

  1. 特征多项式:定义特征值 λ \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 是单位矩阵。
  2. 行列式:为了有非零解,矩阵 ( A − λ I ) (A - \lambda I) (AλI) 的行列式必须为零,即:
    det ⁡ ( A − λ I ) = 0 \det(A - \lambda I) = 0 det(AλI)=0
  3. 解多项式:上面的行列式是一个关于 λ \lambda λ 的多项式方程,称为特征多项式。解这个多项式方程可以得到矩阵的特征值。

具体例子

对矩阵 A = ( 4 1 2 3 ) A = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix} A=(4213),我们来计算特征值:

  1. 特征多项式
    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λ)
  2. 行列式
    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λ)21
  3. 展开多项式
    ( 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=124λ3λ+λ22=λ27λ+10
  4. 求根
    λ 2 − 7 λ + 10 = 0 \lambda^2 - 7\lambda + 10 = 0 λ27λ+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±4940 =27±9 =27±3

所以特征值是:
λ 1 = 5 , λ 2 = 2 \lambda_1 = 5, \lambda_2 = 2 λ1=5,λ2=2

  1. 线性变换的固有尺度:特征值描述了线性变换在某些方向上的缩放因子。如果 λ \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 下只会被拉伸或压缩,而不会改变方向。
  2. 对角化:特征值可以用来对矩阵进行对角化。如果矩阵 A A A 可以对角化,那么 A = P D P − 1 A = PDP^{-1} A=PDP1,其中 D D D 是对角矩阵,对角线上的元素是 A A A 的特征值。对角化在简化矩阵的高次幂和指数矩阵计算中非常有用。

特征值提供了缩放因子的信息,而特征向量提供了变换方向的信息。也可以从特征向量的角度看特征值。

使用特征值和特征向量对矩阵进行对角化

假设我们有以下矩阵 A A A
( 4 1 2 3 ) \begin{pmatrix}4 & 1 \\ 2 & 3 \end{pmatrix} (4213)

步骤:

  1. 计算矩阵 ( A ) 的特征值。
  2. 计算与特征值对应的特征向量。
  3. 组成矩阵 ( P ) 和对角矩阵 ( D )。
  4. 验证 A = P D P − 1 A = PDP^{-1} A=PDP1

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λ)21=λ27λ+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 (A5I)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 (452135)(v1v2)=(1212)(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 (A2I)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 (422132)(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=(1112)
特征值组成对角矩阵 ( 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=PDP1

我们计算 ( 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} P1=det(P)1(2111)=(12(1)1)1(2111)=(2/31/31/31/3)
现在我们验证 A = P D P − 1 A = PDP^{-1} A=PDP1
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} PDP1=(1112)(5002)(2/31/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=(1112)(5002)=(5524)
然后计算 P D ⋅ P − 1 PD \cdot P^{-1} PDP1
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} PDP1=(5524)(2/31/31/31/3)=((52/3+(2)(1/3))(52/3+4(1/3))(51/3+(2)1/3)(51/3+41/3))=(4213)
验证得 P D P − 1 = A PDP^{-1} = A PDP1=A

相关文章:

  • 基于ChatGPT的大型语言模型试用心得
  • 【日记】第一次养植物,没什么经验……(781 字)
  • AI时代新爬虫:网站自动转LLM数据,firecrawl深度玩法解读
  • Footer组件在home 、search 显示,在登录、注册隐藏
  • 课设--学生成绩管理系统(一)
  • Nexus搭建maven私有仓库
  • 把本机的bash构建到docker镜像里面
  • 【源码】16国语言交易所源码/币币交易+期权交易+秒合约交易+永续合约+交割合约+新币申购+投资理财/手机端uniapp纯源码+PC纯源码+后端PHP
  • 显示数据库信息及发送Ajax请求
  • 【iOS】JSONModel源码阅读笔记
  • 【线性代数】第七章-二次型
  • Python闯LeetCode--第3题:无重复字符的最长子串
  • Node.js和npm的安装及配置
  • Centos系统yum安装mysql数据库
  • 将自己md文件发布到自己的博客园实现文件的持久化存储
  • HomeBrew常规使用教程
  • isset在php5.6-和php7.0+的一些差异
  • leetcode386. Lexicographical Numbers
  • magento2项目上线注意事项
  • Phpstorm怎样批量删除空行?
  • storm drpc实例
  • webpack入门学习手记(二)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 每天10道Java面试题,跟我走,offer有!
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 详解NodeJs流之一
  • 一些css基础学习笔记
  • 追踪解析 FutureTask 源码
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • ​MySQL主从复制一致性检测
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​学习一下,什么是预包装食品?​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #1014 : Trie树
  • (1)常见O(n^2)排序算法解析
  • (3)(3.5) 遥测无线电区域条例
  • (SERIES12)DM性能优化
  • (SpringBoot)第七章:SpringBoot日志文件
  • (web自动化测试+python)1
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (八)c52学习之旅-中断实验
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (含答案)C++笔试题你可以答对多少?
  • (计算机网络)物理层
  • (十三)MipMap
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)Scala的“=”符号简介
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)