正定矩阵的四个重要性质(附例子)

目录

一. 写在前面

二. 正定矩阵的基本定义

三. 从正定矩阵 到 特征值

四. 从特征值 到 正定矩阵

五. 从正定矩阵 到 行列式

六. 从正定矩阵 到 矩阵的主元

七. 从矩阵的主元 到 正定矩阵

八. 简单的讨论

8.1 行列式检验

8.2 特征值检验

总结


一. 写在前面

在格密码的安全性归约证明中,有时要求格基是正定矩阵,本文章梳理正定矩阵的四个性质,也可以将其作为正定矩阵的判定方法。

需要用到几个线性代数的基础结论:

  1. 矩阵特征值的和等于对角线元素的和,求和的结果为矩阵的迹(trace)
  2. 矩阵特征值的积等于矩阵的行列式;
  3. 对称矩阵拥有标准正交的特征向量;
  4. 矩阵的主元等于相邻子矩阵行列式的比值;

二. 正定矩阵的基本定义

正定矩阵的前提要求是对称矩阵,要求对任意非零向量,满足:

x^TAx>0

先看一个简单的2行2列矩阵:

A=\begin{bmatrix} a &b \\ b&c \end{bmatrix}

正定矩阵在格密码中的应用(知识铺垫)-CSDN博客

这篇文章告诉我们,满足如下条件的矩阵A即可被称之为正定矩阵:

矩阵特征值的和等于对角线元素的和,也就是矩阵的迹,很明显:

a+c>0

矩阵特征值的积等于矩阵的行列式,2行2列的矩阵有2个特征值,所以可得:

\lambda_1\lambda_2=ac-b^2>0

综上可以初步感受到正定矩阵的特征值均为正数。

还有另外一个有用的参数,叫矩阵的主元(pivot)。如果将x^TAx的结果表示成完全平方差的结果,既可以得到矩阵的主元,如下:

第一个完全平方式的系数为a,第二个完全平方式的系数为(ac-b^2)/a,这两个元素的值即为矩阵的主元。

备注:2行2列矩阵的主元有两个。

很明显函数系数均为正数,即主元均为正数的话,就可以直接判定矩阵的正定性。

三. 从正定矩阵 到 特征值

证明:正定矩阵的特征值均为正数。

设特征值为\lambda,特征向量为x,由此可得:

Ax=\lambda x

两边同时乘以向量x的转置,可得:

正定矩阵的定义告诉我们,左边为正数。所以,右边为正数,也就是所有特征值为正数。

证明完毕

四. 从特征值 到 正定矩阵

证明:矩阵的特征值均为正数时,该矩阵为正定矩阵。

也就是已知:

\lambda_i>0

尝试证明:

x^TAx>0

注意此处的x要求对任意向量成立,而不仅仅是特征向量。

线性代数基础知识告诉我们,对称矩阵拥有标准正交的特征向量(orthonormal eigenvectors),将其表示为x_1,\cdots,x_n,所以给定任意向量x都可以表示成标准正交的特征向量,如下:

x=c_1x_1+\cdots+c_nx_n

由此,将矩阵A与向量x的运算,改写为:

第一个等号:将向量x直接改写,并将常数c提到最前面;

第二个等号:特征值与特征向量的关系;简单复习下标准正交的性质。正交性告诉我们:

x_i^Tx_j=0

标准性(normalization)告诉我们:

x_i^Tx_i=1

由此将刚才的等式两边同时乘以向量x的转置,可得:

第一个等号:将向量x的转置表示成标准正交特征向量的格式;

第二个等号:正交性与标准性质;

当所有的特征值大于0,也就是\lambda_i>0时,可得左边也为正数,也就是x^TAx>0

证明完毕。

五. 从正定矩阵 到 行列式

先看一个简单例子:

A=\begin{bmatrix} -1 &0 \\ 0&-1 \end{bmatrix}

很容易计算,该矩阵的行列式为1,detA=1。

但这个矩阵是负的单位阵:

A=-I

很明显不是正定矩阵,更准确来讲是负定矩阵(negative definite)。这也说明单纯看行列式的正负是不能反应矩阵的正定性。

那怎么办?

对于n维的矩阵来讲,从左上角开始,它的子矩阵,并且要求是方阵的情况,一共有n种,如下:

证明:正定矩阵的子矩阵行列式均为正的。

解:

任意矩阵A的行列式即为特征值的乘积。已经证明了,正定矩阵的特征值均为正数,那么说明矩阵A的行列式也肯定为正数,但现在,它的子矩阵怎么证明呢?

给出任意n维向量,我们考虑前k项任意,但要求后n-k项为0,那么可得:

x^T=\begin{bmatrix} x_k^T & 0 \end{bmatrix}

也就是:

x=\begin{bmatrix} x_k\\0 \end{bmatrix}

那么我们可以运算得到:

其中“*”代表原始矩阵A剩下的元素。

由此证明子矩阵A_k也是正定的。该子矩阵的特征值也是正的,也就可以推出该子矩阵的行列式肯定为正数。

证明完毕。

六. 从正定矩阵 到 矩阵的主元

证明:正定矩阵的主元均为正数

解:

将矩阵的第k个主元叫d_k,我们知道该值可以利用行列式求:

d_k=detA_k/detA_{k-1}

以上证明告诉我们,正定矩阵的行列式均为正数,子矩阵的行列式也为正数,所以可得矩阵的主元也为正数。

证明完毕。

七. 从矩阵的主元 到 正定矩阵

证明:当矩阵的主元均为正数时,该矩阵为正定矩阵。

解:

2行2列的矩阵肯定符合,这个我们在正定矩阵的定义中就证明过。

推广到任意n维矩阵时,需要将矩阵进行分解。分解成下三角矩阵和对称矩阵,如下:

A=LDL^T

接下来我们举个例子会更加清楚。

举一个三阶矩阵分解的例子,如下:

结合正定矩阵的要求,我们运算:

x^TAx=x^TLDL^Tx

三阶矩阵的对称三维向量,可以先做下三角矩阵与向量的运算:

紧接着我们可以把矩阵与向量运算的结果表示成函数的格式。在写之前,我们就知道了矩阵的主元是位于完全平方差系数的位置,由此可得:

很显然当矩阵主元均为正数时,该函数也肯定恒为正数,也就是x^TAx为正数,也就是A为正定矩阵。

证明完毕。

备注:特征值与矩阵的主元是两个完全不一样的元素。

八. 简单的讨论

还是以刚才三阶矩阵为例子。

8.1 行列式检验

我们可以首先用特征值对每个子矩阵进行判断下:

全为正数,再次说明A为正定矩阵。

8.2 特征值检验

三阶对称矩阵的特征值有三个数,可得:

全为正数,再次说明A为正定矩阵。

总结

正定矩阵拥有如下性质:

  • 正定矩阵的特征值均为正数。
  • 正定矩阵的子矩阵行列式均为正的。
  • 正定矩阵的主元均为正数
  • 正定矩阵对任意向量x,满足x^TAx>0

以上均为充分必要条件,也就是可以将这四个作为正定矩阵的判定条件,也是可以的。在格密码利用矩阵进行安全性分析时,以上性质会非常有用,比如格基矩阵怎么取等等。

内容概要:本文档《DeepSeek本地部署教程(非ollama)》详细介绍了DeepSeek大语言模型的本地部署流程。首先明确了环境要求,包括Python 3.8以上版本、CUDA 11.7(针对GPU用户)、至少16GB RAM以及推荐的操作系统。接着阐述了安装步骤,如克隆代码仓库、创建虚拟环境、安装依赖等。随后讲解了模型下载方式,支持从Hugging Face平台下载不同版本的DeepSeek模型,如DeepSeek-7B、DeepSeek-67B和DeepSeek-Coder。文档还提供了两种运行模型的方式:命令行运行和使用API服务。此外,针对常见的问题,如CUDA相关错误、内存不足和模型加载失败等,给出了详细的解决方案。最后,文档提出了性能优化建议,如使用量化技术减少内存占用、启用CUDA优化等,并强调了安全注意事项,包括定期更新模型和依赖包、注意API访问权限控制等方面。; 适合人群:对大语言模型感兴趣的研究人员、开发者,特别是希望在本地环境中部署和测试DeepSeek模型的技术人员。; 使用场景及目标:①帮助用户在本地环境中成功部署DeepSeek大语言模型;②解决部署过程中可能遇到的问题,如环境配置、模型下载和运行时的常见错误;③提供性能优化建议,确保模型在不同硬件条件下的最佳表现;④指导用户进行安全配置,保障模型和数据的安全性。; 阅读建议:在阅读本教程时,建议按照文档的步骤顺序逐步操作,同时结合实际情况调整环境配置和参数设置。对于遇到的问题,可以参考常见问题解决部分提供的解决方案。此外,性能优化部分的内容有助于提高模型的运行效率,值得深入研究。
Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目),该项目是个人大作业项目,答辩评审分达到98分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于SpringCloud架构的简易版个人网上银行系统源码(高分项目)Java基于S
内容概要:本文档详细介绍了基于JavaScript的俄罗斯方块游戏课程设计,旨在通过开发完整的俄罗斯方块游戏帮助学生掌握前端开发技术。课程设计分为课程背景目标、项目意义、预期成果、需求分析、系统设计、详细设计、界面设计、实现方案、测试方案、项目进度安排以及总结展望几个部分。系统设计采用模块化思想,包括游戏核心逻辑、界面渲染、用户交互和游戏状态管理四个主要模块。详细设计中定义了方块类、游戏类、渲染类和控制器类,明确了各组件的功能和交互方式。实现方案提供了HTML、CSS和JavaScript的具体代码示例,确保游戏在不同浏览器和设备上的兼容性。测试方案涵盖功能测试、边界测试、用户界面测试和兼容性测试,以保证游戏的质量。项目进度安排分为需求分析、编码实现、测试调试、文档编写和项目验收五个阶段,时跨度约为11周。 适合人群:具备一定编程基础,特别是对JavaScript有一定了解的学生或初学者。 使用场景及目标:①巩固JavaScript基础知识,包括变量、函数、对象、数组、循环等;②理解并掌握DOM操作方法;③学习如何处理用户事件和实现交互效果;④掌握动画原理和实现方式;⑤培养解决实际问题的能力和逻辑思维。 其他说明:此课程设计不仅注重代码编写,还强调需求分析和方案设计,建议学习者在实践中结合这些内容,调试代码并不断优化游戏体验。此外,文档还提出了未来的改进方向,如添加更多游戏模式、实现多人对战、增加音效和动画效果等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值