【深度学习与大模型基础】第6章-对角矩阵,对称矩阵,正交矩阵
一、对角矩阵
对角矩阵(Diagonal Matrix)是一种特殊的方阵,其非对角线上的元素均为零,只有对角线上的元素可能非零。具体来说,对于一个 n×n的矩阵 A=[],如果满足
![]()
则 AA 称为对角矩阵。对角矩阵通常表示为:
![]()
例子
一个 3×3的对角矩阵可以写成:

性质
-
对角矩阵的加法和乘法:两个对角矩阵相加或相乘,结果仍是对角矩阵。
-
逆矩阵:如果对角矩阵的所有对角线元素均不为零,则其逆矩阵也是对角矩阵,且每个对角线元素为原矩阵对应元素的倒数。
-
行列式:对角矩阵的行列式等于其对角线元素的乘积。
应用
1. 高效存储与计算
-
存储优化:对角矩阵只需要存储对角线上的元素,而不是整个矩阵,这大大减少了存储空间。例如,一个 n×nn×n 的对角矩阵只需要存储 nn 个元素,而不是 n2n2 个。
-
快速运算:对角矩阵的加法、乘法和求逆等操作非常高效。例如,两个对角矩阵相乘只需要将对角线上的元素相乘,时间复杂度为 O(n)O(n)。
2. 线性代数与数值计算
-
特征值与特征向量:对角矩阵的特征值就是其对角线上的元素,特征向量是标准基向量。这在求解特征值问题时非常有用。
-
矩阵分解:在许多数值算法中,矩阵被分解为对角矩阵与其他矩阵的乘积(如奇异值分解、特征值分解等),以简化计算。
-
迭代法求解线性方程组:对角矩阵常用于预处理(Preconditioning),以加速迭代法的收敛速度。
3. 图像处理
-
图像滤波:对角矩阵可以用于表示某些线性滤波器,例如对图像的每个像素进行独立的缩放操作。
-
颜色变换:在图像处理中,对角矩阵可以表示颜色空间的线性变换(如 RGB 到 YUV 的转换)。
4. 机器学习与数据科学
-
协方差矩阵:在对数据进行标准化或降维时,协方差矩阵可能近似为对角矩阵,表示各特征之间相互独立。
-
正则化:在机器学习中,对角矩阵常用于正则化项(如 L2 正则化),以控制模型的复杂度。
-
优化算法:在梯度下降等优化算法中,对角矩阵可以用于调整学习率(如 AdaGrad、RMSProp 等自适应优化算法)。
5. 图论与网络分析
-
图的拉普拉斯矩阵:在图论中,拉普拉斯矩阵的对角部分表示节点的度数,用于分析图的结构和性质。
-
网络权重矩阵:在神经网络中,对角矩阵可以表示权重或激活函数的缩放因子。
6. 物理仿真与工程计算
-
有限元分析:在工程仿真中,对角矩阵可以表示材料的刚度矩阵或质量矩阵。
-
控制系统:在控制理论中,对角矩阵可以表示系统的状态转移矩阵或输入输出矩阵。
7. 稀疏矩阵计算
-
对角矩阵是稀疏矩阵的一种特例,许多稀疏矩阵算法会特别优化对角矩阵的处理,以提高计算效率。
python演示对角矩阵
import numpy as np
import matplotlib.pyplot as plt# 创建一个对角矩阵
diagonal_elements = [1, 2, 3, 4]
diagonal_matrix = np.diag(diagonal_elements)print("对角矩阵:")
print(diagonal_matrix)# 可视化对角矩阵
plt.matshow(diagonal_matrix, fignum=1)
plt.title('对角矩阵可视化')
plt.colorbar()
plt.show()
二、对称矩阵
对称矩阵(Symmetric Matrix)是指一个方阵 A满足 A=AT ,即矩阵与其转置矩阵相等。换句话说,对于矩阵 A=[aij],如果满足:
![]()
则 AA 称为对称矩阵。
例子
一个 3×3 的对称矩阵如下:

可以看到,矩阵关于主对角线对称。
对称矩阵的性质
-
特征值为实数:对称矩阵的特征值都是实数。
-
特征向量正交:对称矩阵的特征向量是正交的。
-
可对角化:对称矩阵可以通过正交变换对角化,即 A=QΛQTA=QΛQT,其中 QQ 是正交矩阵,ΛΛ 是对角矩阵。
对称矩阵在计算机领域的应用
1. 机器学习与数据科学
-
协方差矩阵:在统计学和机器学习中,协方差矩阵是对称的,用于描述数据集中各特征之间的线性关系。
-
核函数矩阵:在支持向量机(SVM)等算法中,核函数矩阵是对称的,用于表示样本之间的相似性。
2. 图像处理
-
图像滤波:某些滤波器(如高斯滤波器)的权重矩阵是对称的。
-
结构张量:在图像分析中,结构张量是对称矩阵,用于描述图像的局部结构。
3. 图论与网络分析
-
邻接矩阵:无向图的邻接矩阵是对称的,表示节点之间的连接关系。
-
拉普拉斯矩阵:图的拉普拉斯矩阵是对称的,用于图分割和聚类分析。
4. 数值计算与优化
-
Hessian矩阵:在优化问题中,目标函数的 Hessian 矩阵是对称的,用于描述函数的二阶导数信息。
-
预处理矩阵:在求解线性方程组时,对称矩阵常用于构造预处理子(Preconditioner)。
5. 物理仿真与工程计算
-
刚度矩阵:在有限元分析中,刚度矩阵是对称的,用于描述结构的力学性质。
-
质量矩阵:在动力学仿真中,质量矩阵通常是对称的。
6. 计算机图形学
-
变换矩阵:在某些几何变换中,对称矩阵用于表示旋转、缩放等操作。
-
惯性张量:在刚体动力学中,惯性张量是对称矩阵,用于描述物体的转动惯量。
python演示对称矩阵
import numpy as np
import matplotlib.pyplot as plt# 创建一个对称矩阵
symmetric_matrix = np.array([[1, 2, 3],[2, 5, 6],[3, 6, 9]
])print("对称矩阵:")
print(symmetric_matrix)# 可视化对称矩阵
plt.matshow(symmetric_matrix, fignum=2)
plt.title('对称矩阵可视化')
plt.colorbar()
plt.show()
三、正交矩阵
正交矩阵(Orthogonal Matrix)是指一个方阵 Q满足 =
=I,其中
是 Q 的转置矩阵,I是单位矩阵。换句话说,正交矩阵的列向量(或行向量)是标准正交的,即:
-
列向量两两正交:任意两个列向量的点积为零。
-
列向量长度为1:每个列向量的范数为1。
正交矩阵的性质:
-
正交矩阵的逆矩阵等于其转置矩阵:
=
。
-
正交矩阵的行列式为 ±1。
-
正交矩阵保持向量的长度和夹角不变,因此表示旋转或反射变换。
例子
一个 2×2 的正交矩阵如下:

这是一个旋转矩阵,表示将向量旋转角度 θ。
正交矩阵在计算机领域的应用
1. 计算机图形学
-
旋转与反射:正交矩阵用于表示几何变换中的旋转和反射操作。例如,在3D图形中,旋转矩阵是正交矩阵。
-
坐标系变换:正交矩阵用于将物体从一个坐标系转换到另一个坐标系。
2. 机器学习与数据科学
-
主成分分析(PCA):在PCA中,数据的主成分是通过正交变换(特征向量)得到的,这些特征向量构成正交矩阵。
-
正交正则化:在深度学习中使用正交正则化(Orthogonal Regularization)来约束权重矩阵,以改善模型的泛化能力。
3. 数值计算
-
QR分解:正交矩阵在QR分解中用于将矩阵分解为正交矩阵和上三角矩阵的乘积,广泛应用于求解线性方程组和特征值问题。
-
奇异值分解(SVD):SVD将矩阵分解为两个正交矩阵和一个对角矩阵的乘积,用于降维和数据压缩。
4. 信号处理
-
傅里叶变换:离散傅里叶变换(DFT)的基函数构成正交矩阵,用于信号分析和滤波。
-
小波变换:小波变换中的滤波器组通常由正交矩阵表示。
5. 密码学
-
正交编码:正交矩阵用于设计纠错码和加密算法,利用其正交性质确保数据的完整性和安全性。
6. 物理仿真
-
刚体动力学:正交矩阵用于描述刚体的旋转和姿态变化。
-
量子计算:在量子计算中,量子门操作通常由酉矩阵(复数域的正交矩阵)表示。
7. 计算机视觉
-
相机标定:正交矩阵用于相机的内外参数标定,将3D世界坐标转换为2D图像坐标。
-
姿态估计:正交矩阵用于估计物体的姿态(位置和方向)。
python演示正交矩阵
import numpy as np
import matplotlib.pyplot as plt# 创建一个正交矩阵
orthogonal_matrix = np.array([[1/np.sqrt(2), 1/np.sqrt(2)],[-1/np.sqrt(2), 1/np.sqrt(2)]
])# 验证是否为正交矩阵
assert np.allclose(np.dot(orthogonal_matrix.T, orthogonal_matrix), np.eye(2)), "矩阵不是正交矩阵"print("正交矩阵:")
print(orthogonal_matrix)# 可视化正交矩阵
plt.matshow(orthogonal_matrix, fignum=2)
plt.title('正交矩阵可视化')
plt.colorbar()
plt.show()
相关文章:
【深度学习与大模型基础】第6章-对角矩阵,对称矩阵,正交矩阵
一、对角矩阵 对角矩阵(Diagonal Matrix)是一种特殊的方阵,其非对角线上的元素均为零,只有对角线上的元素可能非零。具体来说,对于一个 nn的矩阵 A[],如果满足 则 AA 称为对角矩阵。对角矩阵通常表示为&am…...
初识R语言饼状图
目录 基础饼图 标签个性化 边界修改 密度条纹 边框颜色 基础饼图 rm(list ls())# Create Data Prop <- c(3,7,9,1,2) # Make the default Pie Plot P1 <- pie(Prop) dev.off() 标签个性化 P2 <-pie(Prop , labels c("Gr-A","Gr-B","…...
计算机技术系列博客——目录页(持续更新)
1.1 博客目录专栏 1.1.1 博客文章导航 计算机技术系列博客——目录页 1.1.2 网页资源整理 2.1 计算机科学理论 2.2 软件工程技术 2.2.1.1 编程语言 Java Java语言基础 (1) Java基础知识总结01——Java基础篇 (2) Java基础知识总结02——集合框架篇 (3) Java基础知识总结03—…...
HTTP和RPC的区别
RPC和 HTTP是两种常见的通信方式,它们在设计目标、使用场景和技术实现上有显著区别。以下是它们的详细对比: 1. 定义与核心思想 特性RPCHTTPRemote Procedure Call远程过程调用HyperText Transfer Protocol超文本传输协议定义一种协议或框架࿰…...
Spring MVC 拦截器使用
javaweb过滤器和springmvc拦截器: 拦截器的概念 拦截器使用 1/创建拦截器类,类中实现 handler执行前,执行后与渲染视图后的具体实现方法 public class GlobalExceptionHandler implements HandlerInterceptor {// if( ! preHandler()){re…...
汽车机械钥匙升级一键启动的优点
汽车机械钥匙升级一键启动的优点主要包括: 便捷性:一键启动功能的引入极大地提升了用车便捷性。车主无需翻找钥匙,只需在车辆感应范围内轻触启动键,即可轻松发动汽车。 安全性:移动管家专车专用一键启动系统配备了防…...
中小企业如何低成本构建高效专属网络?
对于许多中小企业管理者而言,构建一套安全、灵活且可扩展的专网系统是数字化转型的“必修课”。本文将从实际业务场景出发,拆解企业组网的核心步骤,并提供可落地的实施方案建议,帮助您快速匹配适合自身需求的网络服务商。 一、组网…...
实用工具-Stirling-PDF
windows桌面版参考这个文档 Getting Started | Stirling-PDF 安装包推荐使用迅雷下载,先转存到迅雷网盘在使用迅雷下载速度嘎嘎快。 github:https://github.com/Stirling-Tools/Stirling-PDF Stirling-PDF 是一个强大的、基于 Web 的开源 PDF 处理工具,…...
【C++】 —— 笔试刷题day_6
刷题day_6,继续加油哇! 今天这三道题全是高精度算法 一、大数加法 题目链接:大数加法 题目解析与解题思路 OK,这道题题目描述很简单,就是给我们两个字符串形式的数字,让我们计算这两个数字的和 看题目我…...
pytorch 网络结构可视化Netron安装使用方法(已解决)
首先 要把保存的训练模型 转为onnx格式的文件,然后打开下面的链接,选择刚刚转的onnx文件。 下载 Netron: 您可以访问 Netron 的官方网站 在线使用,或者下载桌面版本。 mnist_cnn_model.onnx 确定后, 2、TensorRT学习…...
QEMU 中 x86_cpu_realizefn 到 ept_emulation_fault 的调用流程解析(macos)
QEMU 中 x86_cpu_realizefn 到 ept_emulation_fault 的调用流程解析 在 QEMU 的 x86 虚拟化实现中,CPU 的初始化与执行流程涉及多个关键函数,从 CPU 设备的最终初始化(x86_cpu_realizefn)到虚拟机监控程序(HVF&#x…...
第六:go 操作 redis-go
Redis 在项目开发中redis的使用也比较频繁,本文介绍了Go语言中go-redis库的基本使用。 Redis介绍 Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。除此之外&am…...
【蓝桥杯】每天一题,理解逻辑(4/90)【Leetcode 二进制求和】
题目描述 我们解析一下题目 我们可以理解到两个主要信息 给的是二进制的字符串返回他们的和 我们知道,十进制的加减法需要进位,例如:9716是因为91之后进了一位,二进制也是如此,只不过十进制是逢10进1,二…...
CentOS 7 更换 YUM 源为国内
**CentOS 7 更换 YUM 源为国内源 ** 背景说明 更换 YUM 源可加速软件下载,解决官方源访问慢的问题。国内推荐镜像源:阿里云、清华、网易、中科大。 一、备份原有 YUM 源 # 备份系统默认源(避免操作失误可恢复) sudo cp /etc/yum…...
快速入手-基于Django的mysql配置(三)
Django开发操作数据库更简单,内部提供了ORM框架。比如mysql,旧版本用pymysql对比较多,新的版本采用mysqlclient。 1、安装mysql模块 pip install mysqlclient 2、Django的ORM主要做了两件事 (1)CRUD数据库中的表&am…...
docker部署dify
1.安装docker 参考链接 https://ascendking.blog.csdn.net/article/details/136407383 设置docker源 vim /etc/docker/daemon.json {"registry-mirrors": ["https://docker.registry.cyou", "https://docker-cf.registry.cyou", "http…...
网络安全红蓝对抗实战演练,沉浸式对抗训练场上线!
在网络安全的世界里,没有永恒的盾牌,只有不断磨砺的利剑。近年来,某金融机构因系统漏洞导致千万级用户数据泄露,某制造企业因生产线遭遇勒索攻击被迫停产数日——这些真实案例揭示了一个残酷现实:传统的理论教学已无法…...
舞狮表演(dp)
#include <bits/stdc.h> using namespace std; const int N1e35; int main() {int t;cin>>t;while(t--){int n;cin>>n;int a[N][N];for(int i1;i<n;i){for(int j1;j<n;j){int x;cin>>x;if(x&1) a[i][j]1; // 如果金额是奇数,a[i]…...
【Qt】Qt + Modbus 服务端学习笔记
《Qt Modbus 服务端学习笔记》 1.因为项目的需要,要写一个modbus通信,csdn上感觉有些回答,代码是人工智能生成的,有些细节不对。我这个经过实测,是可以直接用的。 首先要包含Qt 的相关模块 Qt Modbus 模块主要包含以…...
squirrel语言全面介绍
Squirrel 是一种较新的程序设计语言,由意大利人 Alberto Demichelis 开发,其设计目标是成为一个强大的脚本工具,适用于游戏等对大小、内存带宽和实时性有要求的应用程序。以下是对 Squirrel 语言的全面介绍: 语言特性 动态类型&a…...
SpringBoot配置文件加载优先级
目录 示例 配置文件&编写配置类 在Spring Boot项目中,配置属性的优先级是一个重要的概念,它决定了当存在多个配置源时,哪个配置源的属性将被应用。以下是SpringBoot中配置属性的优先级,从最高到最低: 命令行参数…...
【详细解决】pycharm 终端出现报错:“Failed : 无法将“Failed”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
昨天在终端一顿操作后突然打开pycharm时就开始报错: 无法将“Failed”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 Failed to act…...
CXL协议之FM(Fabric Management)解释
CXL协议中的FM功能详解 1. FM的核心作用 FM是CXL(Compute Express Link)架构中的核心管理实体,负责协调和管理CXL设备之间的通信、资源分配及拓扑结构。其核心功能包括: 设备发现与枚举:识别CXL拓扑中的设备&#x…...
用Promise实现ajax的自动重试
有时候遇到网络错误,希望可以多试几次,可以利用Promise递归调用实现 以若依系统的登出举例 export function logout() {return request({url: /logout,method: post}) } 修改下原本的登出逻辑,遇到ERR_NETWORK错误,也就是网络问…...
Unity URP 实现场景和UI添加后处理
在更新到URP之后,之前内置的渲染管线的那一套后处理已经无法使用,接下来,我们使用URP的内置后处理实现对场景和UI的后处理。 设置UI 如果UI需要使用后处理,在Canvas里,我们要选择Screen Space - Camera,然…...
搭建ISCSI传输的配置与管理
前提是: windows server2019设置成桥接模式,因为要让虚拟机和主机设置成一个网段,才能通过网络进行新建虚拟磁盘。 1.添加ISCSI角色 安装位置 选择文件和存储服务----------文件和iscsl 服务------------iscsl目标服务器 2.右上角点击任务&a…...
华为参访预约,团队考察体验黑科技之旅
华为参观学习背景 全球第1,中国骄傲 成立于1987年的华为,早在2013年其销售收入就已超过爱立信,成为全球行业第1名。2019年福布斯世界500强排名第61位,全球唯1一家没有上市的民营企业。目前,华为5G技术已经走在世界前沿…...
Java 设计模式之享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern) 是一种 结构型设计模式,旨在通过共享对象来有效支持大量细粒度对象的复用,从而减少内存占用和提高性能。其核心是 分离内部状态(可共享)与外部状态(不可共享&#…...
C#入门学习记录(三)C#中的隐式和显示转换
C#类型转换:隐式与显式转换的机制与应用 在C#的强类型体系中,数据类型转换是实现数据交互和算法逻辑的基础操作。当数值类型范围存在包含关系,或对象类型存在继承层次时,系统通过预定义的转换规则实现类型兼容处理。隐式转换&…...
Rk3568驱动开发_设备树_9
什么是设备树? 以我目前的理解,设备树更像日常生活中用的地图,用户能根据地图去寻找到相应位置 设备树也是如此它描述了硬件设备的连接关系和配置信息,供 CPU(或者更准确地说,是操作系统内核)…...
