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

news2024/10/5 16:24:02

目录

一. 写在前面

二. 正定矩阵的基本定义

三. 从正定矩阵 到 特征值

四. 从特征值 到 正定矩阵

五. 从正定矩阵 到 行列式

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

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

八. 简单的讨论

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

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

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

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

相关文章

springboot + vue3实现增删改查分页操作

springboot vue3实现增删改查分页操作 环境最终实现效果实现功能主要框架代码实现数据库后端前端 注意事项 环境 jdk17 vue3 最终实现效果 实现功能 添加用户,禁用,启用,删除,编辑,分页查询 主要框架 后端 spri…

【机器学习:余弦相似度 】机器学习中余弦相似度的理解和应用

【机器学习:余弦相似度 】机器学习中余弦相似度的理解和应用 定义余弦距离角距离和相似度 L 2 L_2 L2​归一化欧几里得距离Otsuka–Ochiai 系数属性余弦相似度的三角不等式软余弦测量应用示例扩展GPT图像示例 在数据分析领域,余弦相似度用于度量内积空间…

残疾大学生找工作好难

有点肢体残疾且普通话不太标准的大学生好难找工作啊,怎么办?难道得去捡垃圾了?求学多年,好容易读了个大学(省内一本),我咋这么命苦,找了800多家,面试好几家,都没一个要我的。

《剑指 Offer》专项突破版 - 面试题 3 :前 n 个数字二进制形式中 1 的个数(C++ 实现)

目录 前言 方法一 方法二 方法三 前言 题目链接:338. 比特位计数 - 力扣(LeetCode) 题目: 输入一个非负数 n,请计算 0 到 n 之间每个数字的二进制形式中 1 的个数,并输出一个数组。例如&#xff0…

【python爬虫开发实战 情感分析】利用爬虫爬取城市评论并对其进行情感分析

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏: python网络爬虫从基础到实战 带你学习爬虫从基础到实战 深度学习带你感受AI的魅力 💡往期推荐: ⭐️前面比较重要的基础内容: 【Py…

日常测试工作中哪些是必须知道的 SQL 语句?

SQL 简介 SQL(Structured Query Language,结构化查询语言)是一套用于管理关系数据库管理系统(RDBMS),基于 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,比较重要的版本是 SQL92…

2023 最火的是什么? 超维计算 + 神经网络

从chatgpt开始,人工智能进步的步伐似乎势不可挡,但支撑这些程序的人工神经网络遇到了一些重大限制,其他的很难推理但是人类的大脑能够通过类比进行推理,当我们看到新事物时,我们不必生长新的神经元,我们可以…

飞凌全志T113-i开发板视频编码测试

前言 本文测试OK113i-S开发板-视频编解码的功能 OK113i-S开发板是支持视频的编解码的,下面是官方介绍的编解码功能 T113-i 是一种为多媒体解码平台设计的高级应用处理器。T113-i 集成了64位玄铁C906 RISC-V CPU, 双核 Cortex - A7 CPU 和 HiFi4 DSP&a…

Java反射篇----第三篇

系列文章目录 文章目录 系列文章目录前言一、反射使用步骤(获取 Class 对象、调用对象方法)二、获取 Class 对象有几种方法三、利用反射动态创建对象实例前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章…

所有单片机使用的汇编语言是统一的吗?

所有单片机使用的汇编语言是统一的吗? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!&…

跑通大模型领域的 hello world

跑通书生浦语大模型的 3 个趣味 demo(InternLM-Chat-7B 智能对话、Lagent工具调用解简单数学题、浦语灵笔多模态图文创作和理解)视频和文档。 1、两个框架 InternLM 是⼀个开源的轻量级训练框架,旨在⽀持⼤模型训练⽽⽆需⼤量的依赖。 Lage…

TSINGSEE青犀智能分析网关V4在智慧园区车辆违停检测场景中的应用

一、背景与需求 园区作为企业办公、生产制造的重要场所,主要道路车辆违停等违规行为会对园区的安全造成隐患,并且在上下班高峰期内,由于发现不及时,车辆违停行为会造成出入口拥堵现象,这也成为园区管理的棘手问题。为了…

提升软件质量与效率:UI自动化测试的重要性

在软件开发领域,UI自动化测试工具被广泛应用,其意义不仅仅体现在节省时间和资源上,更关系到软件质量的提升、团队效率的增加,以及用户体验的改善。本文将探讨使用UI自动化测试工具的重要性,以及它在软件开发生命周期中…

JVM知识总结(简单且高效)

1. JVM内存与本地内存 JVM内存:受虚拟机内存大小的参数控制,当大小超过参数设置的大小时会报OOM。本地内存:本地内存不受虚拟机内存参数的限制,只受物理内存容量的限制;虽然不受参数的限制,如果所占内存超过…

C语言学习NO.13-字符函数(三)-strncpy,strncat,strncmp长度受限制的字符串函数

长度受限制的字符串函数介绍 一、strncpy函数的使用 &#xff08;一&#xff09;strncpy使用 #include <stdio.h> #include <string.h>int main() {char arr1[20] "asdfgdfv";char arr2[7] "zxcvbn";strncpy(arr1, arr2, 4);printf("…

Origin无法使用主题管理器相关功能或报错:Err, Save Theme dialog error!

问题描述 在使用origin绘图时&#xff0c;往往需要进行大批量绘制同样类型的图。如果每个图都不断地去修改相关设置&#xff0c;无疑是浪费了许多宝贵的时间。为了提高绘图效率&#xff0c;了解到了主题管理器&#xff0c;可在“工具–主题管理器”找到。 然而&#xff0c;当我…

计算机毕业设计-----SSM宠物商城带后台管理系统

项目介绍 该项目为前后台项目&#xff0c;分为普通用户与管理员两种角色&#xff0c;前台普通用户登录&#xff0c;后台管理员登录&#xff1b; 用户角色包含以下功能&#xff1a; 加入购物车,发表留言,提交订单,查看订单信息,会员注册,登录页面等功能。 管理员角色包含以下…

静态网页设计——极乐迪斯科(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV11k4y1X7mH/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

C++补充内容--EasyX-UI界面

esay x 其他 地图打印(利用二维数组) 双缓冲 当我们绘制一张图 然后另一张图盖住前一张图的某个部分的时候 由于while的存在 会导致 两张图不停的闪烁 所以加入双缓冲可以解决这个问题 开启双缓冲 之后等待Flush或者End 才会进行图片的绘制 不然不会进行图片的绘制,这样就可…

Python学习之路——文件部分【文件的读取】

目录 先解释一下引文的答案 一、open()打开函数 二、mode常用的三种基础访问模式 三、读-操作相关方法 &#xff08;一&#xff09;read方法 &#xff08;二&#xff09;readlines方法 &#xff08;三&#xff09;with open 语法 &#xff08;四&#xff09;操作汇总 …