矩阵的迹(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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/28190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

星期六-本周的学习内容全面复习和总结!

本周共学习以下的基础内容: 样本空间和事件的集合表示; 数列极限的定义 随机事件的概率 对于本周的学习内容进行全面复习和总结是一个重要的学习过程,这有助于巩固记忆和提高理解能力。以下是一些步骤和建议: 收集资料&#x…

【嵌入式DIY实例】-Nokia 5110显示DS3231 RTC数据

Nokia 5110显示DS3231 RTC数据 文章目录 Nokia 5110显示DS3231 RTC数据1、硬件准备与接线2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 板和 DS3231 RTC 模块制作一个简单的数字实时时钟,其中可以使用连接到 NodeMCU 的两个按钮设置时间和日期,并将它们打印在诺基亚 5110 …

STM32学习 BKP

BKP就是备份寄存器的意思,听名字就知道它的作用就是用来备份数据的。下面是手册当中的描述。备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。他们处在备份域 里,当VDD电源被切断,他们仍然由VBAT维持供电。当…

【JavaEE精炼宝库】多线程(6)线程池

目录 一、线程池的概念及优势 1.1 线程池的概念: 1.2 线程池的优势: 二、工厂模式 三、标准库中的线程池 3.1 标准库线程池参数解释: 3.1.1 corePoolSize | maximumPoolSize: 3.1.2 keepAliveTime | unit: 3.1…

原型模式--深复制/浅复制

原型模式用于克隆复杂对象,由于new一个实例对象会消耗大部分时间,所以原型模式可以节约大量时间 1 public class Sheep implements Cloneable{2 private String name;3 private Date birth;4 public Sheep(String name, Date birth) {5 …

记一次全设备通杀未授权RCE的挖掘经历

想来上一次挖洞还在一年前的大一下,然后就一直在忙活写论文,感觉挺枯燥的(可能是自己不太适合弄学术吧QAQ),所以年初1~2月的时候,有空的时候就又会挖一挖国内外各大知名厂商的设备,拿了几份思科…

【机器学习】基于Transformer架构的移动设备图像分类模型MobileViT

1.引言 1.1. MobileViT是什么? MobileViT是一种基于Transformer的轻量级视觉模型,专为移动端设备上的图像分类任务而设计。 背景与目的: MobileViT由Google在2021年提出,旨在解决移动设备上的实时图像分类需求。与传统的卷积神…

微信小程序的目录结构

微信小程序的目录结构主要包括以下几个部分,这些部分共同构成了小程序的基础框架和页面展示。以下是一个详细的目录结构介绍: 1. 根目录文件 app.js:小程序的主逻辑文件,用于监听并处理小程序的生命周期函数、全局变量等。这个文…

[leetcode] 双指针集锦(python实现)

在解题时,双指针的思想常常可以帮助我们优化解法的时间空间复杂度。接下来,我将通过两道LeetCode的题来给大家讲解双指针的使用方法。 文章目录 题目1:Two Sum题目2:Three Sum双指针思想的总结 题目1:Two Sum 题目描述…

Selenium 定位编辑框有span

当使用Selenium进行网页自动化测试时,定位一个包含span元素的编辑框可能会有些棘手,因为span通常用于对其他HTML元素进行分组或应用样式,而不一定是真正的可输入字段。不过,一旦我们确定了正确的策略,定位编辑框还是相…

AtomicInteger

1. 前言 AtomicInteger是Java中的一个原子整数类,它提供了一种在多线程环境下进行原子性操作的方法。所谓原子性操作是指不会被线程调度机制打断的操作;这些操作可以在可能被其他线程影响的情况下作为一个不可分割的整体执行。 在并发编程中&#xff0…

【Android面试八股文】Android中操作多线程的方式有哪些?

文章目录 1. 使用 `Thread` 和 `Runnable`2. `AsyncTask`3. `Handler` 和 `Looper`4. `HandlerThread`5. `ThreadPoolExecutor`6. `IntentService`7. `RxJava`8. `Coroutine`(协程)9. `WorkManager`在Android开发中,有多种方式可以进行多线程操作。以下是主要的几种方式: 1…

【日常记录】【vue】vite-plugin-inspect 插件的使用

文章目录 1、vite-plugin-inspect2、安装3、使用4、链接 1、vite-plugin-inspect vite-plugin-inspect 可以让开发者在浏览器端就可以看到vue文件编译后的代码、vue文件的相互依赖关系 2、安装 npm i -D vite-plugin-inspect// vite.config.ts import Inspect from vite-plugi…

LeetCode题练习与总结:最长连续序列--128

一、题目描述 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出&…

SpringBootWeb 篇-入门了解 Spring Cache 、Spring Task 与 WebSocket 框架

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Spring Cache 概述 1.1 Spring Cache 具体使用 1.1.1 引入依赖 1.1.2 Spring Cache 相关注解的介绍 2.0 Spring Task 概述 2.1 cron 表达式 2.2 Spring Task 使用…

基于微信公众号开发h5的前端流程

1.首先公众号进行配置,必须要https域名 还有个txt文件,有弹框提示需要下载放在服务器上 前端处理code的代码封装 // 微信公众号授权 export function wxAuthorize(calback) {// 非静默授权,第一次有弹框 这里的回调页面就是放在服务器上微信…

c语言连接两个字符串

在C语言中,连接两个字符串可以使用 strcat 函数。这个函数将一个字符串复制到另一个字符串的末尾。使用 strcat 函数之前,需要确保目标字符串有足够的空间来容纳源字符串,否则可能会导致缓冲区溢出。 下面是一个使用 strcat 函数连接两个字符…

外贸推广渠道有哪些

外贸推广渠道多种多样,每一种都有其特定的优势和适用场景。以下是一些常见的外贸推广渠道,它们被广泛用于吸引国际客户、增加品牌曝光度和促进销售。 外贸B2B平台推广: 阿里巴巴国际站:作为全球知名的B2B平台,汇聚了大…

MFC工控项目实例之五CFile类读写系统参数

承接专栏《MFC工控项目实例之四在调试目录下创建指定文件夹》 实时保存输入的iPlotX坐标轴最小值、最大值到CFG.PAR文件,打开界面从CFG.PAR文件中实时读取保存的最小值、最大值在编辑框中显示。 1、SEAL_PRESSURE.h中添加代码 class CSEAL_PRESSUREApp : public CW…

我主编的电子技术实验手册(07)——串联电路

本专栏是笔者主编教材(图0所示)的电子版,依托简易的元器件和仪表安排了30多个实验,主要面向经费不太充足的中高职院校。每个实验都安排了必不可少的【预习知识】,精心设计的【实验步骤】,全面丰富的【思考习…