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

目录

一. 写在前面

二. 最小值点

三. 二次型结构

四. 正定与非正定讨论

4.1 对参数a的要求

4.2 对参数c的要求

4.3 对参数b的要求

五. 最小值,最大值与奇异值

5.1 正定型(positive definite)

5.2 负定型(negative definite)

5.3 奇异型

六. 鞍点(saddle point)

七. 矩阵二次型

7.1 介绍

7.2 举例

例题1

例题2

例题3

八. 正定矩阵与格密码


一. 写在前面

格密码中有时要求格基矩阵是正定的,本文章将从方程和矩阵角度来解释正定性,辅助格密码的理解。

推荐可以先看下这篇文章:

格密码与线性代数-CSDN博客

对称矩阵一定有实数特征值(real eigenvalue),本文章尝试在不计算矩阵特征值的情况下,快速判断矩阵特征值是否全为正数,其中涉及三个矩阵的基本概念:矩阵的主元(pivot),行列式,特征值。

二. 最小值点

在微分方程中,如果特征值为负数,那么以下函数单调递减:

e^{\lambda t}

在密码学或计算机领域的优化问题(optimization)经常需要判断N维情况下的最小值,数学知识告诉我们这与二阶导(second derivative test)相关,举两个例子:

尝试求这两个二维函数F(x,y),f(x,y)的最小值。

首先可计算:

F(0,0)=7,\quad f(0,0)=0

很明显,最小值肯定要求一阶导数为0,也就是所谓的关注linear term,发现(0,0)该点符合要求,如下:

也就是(0,0)为这两个函数的极值点(stationary point)。

第一个平面z=F(x,y)与水平面z=7相切;

第二个平面z=f(x,y)与水平面z=0相切;

一阶导分析完毕来看下在(0,0)位置的二阶导,如下:

这两个二维函数的二阶导值一样,说明两个函数的性质相同。实际上F(x,y)的最高次幂为-x^3,所以其最小值为-\infty,接下来我们把重心放在f(x,y)。

三. 二次型结构

以上讨论中f(x,y)的形式为二次型:

f=ax^2+2bxy+cy^2

易得在(0,0)处,该类函数的一阶微分:

\frac{\partial f}{\partial x}=\frac{\partial f}{\partial y}=0

也就是该类二次型,原点一定是其极值点。

如果极小值点(local minimum)也是最小值点(global minimum),那么可得此类平面的图形像一个碗,碗的底部就是原点,如下图:

如果极值点不在原点处,而在其他任意点处,比如在x=\alpha,y=\beta,其二阶导如下:

除了原点外,如果函数严格为正数,那么称之为正定(positive definite)。

四. 正定与非正定讨论

对于单变量的函数来讲,二阶大于0,函数拥有最小值,如下:

\frac{\partial^2 F}{\partial x^2}>0

反之,则函数有最大值。

对于二维函数来讲,函数拥有三个二阶导函数:

F_{xx}\quad F_{xy}=F_{yx}\quad F_{yy}

期待利用这三个数来判断函数拥有最小值还是最大值。

目标:什么情况下,二次型f(x,y)=ax^2+2bxy+cy^2为正定的?

4.1 对参数a的要求

当x=1,y=0时,可得:

ax^2+2bxy+cy^2=a

正定性要求a为正数,利用导数的观点解释则是:

\frac{\partial^2 F}{\partial x^2}>0

也就是该曲面沿着x轴向上弯曲。

4.2 对参数c的要求

当x=0时,沿着y轴方向可得:

f(0,y)=cy^2

很明显正定性要求c>0

举两个简单例子,大家可以快速判断下:

例1

f(x,y)=x^2-10xy+y^2

例2

f(x,y)=2x^2+4xy+y^2

解:

例1非正定,因为f(1,1)=-8

例2非正定,因为f(1,-1)=-1

4.3 对参数b的要求

将二次型结构转变为如下完全平方差形式:

观察右边第二项,要想函数正定,则必须:

c-\frac{b^2}{a}>0

也就是:

ac>b^2

五. 最小值,最大值与奇异值

5.1 正定型(positive definite)

根据以上讨论,要想二次型ax^2+2bxy+cy^2为正定,需要满足:

a>0,ac>b^2

如果要求某点处的最小值,那么:

\frac{\partial f}{\partial x}=\frac{\partial f}{\partial y}=0

并且要求:

\frac{\partial^2 F}{\partial x^2}>0\quad [\frac{\partial^2 F}{\partial x^2}][\frac{\partial^2 F}{\partial y^2}]>[\frac{\partial^2 F}{\partial x\partial y}]

5.2 负定型(negative definite)

负定型的要求与正定型刚好相反,如下:

a<0,ac>b^2

由此可求该函数的最大值

5.3 奇异型

当a,b,c满足:

ac=b^2

易得当a>0时,该函数为半正定(positive semi-definite)

当a<0时,该函数为半负定(negative semi-definite)

也就是当x=b,y=-a时,该函数可以取0。原始的平面z=f(x,y)像一个碗,奇异情况下像一个山谷,举例:

f=(x+y)^2

六. 鞍点(saddle point)

鞍点要求:

ac<b^2

举例两个函数:

来看一个图像:

这种二次型既可以取正数,也可以取负数,所以为非定型(indifinite)。从图形上看,此时的极值点既不是最小值,也不是最大值,该点则被称之为鞍点(saddle point)。

七. 矩阵二次型

7.1 介绍

总结以上我们发现,二阶导数其实可以形成一个对称矩阵。将ax^2cy^2放在对角线,将2bxy分成一半,放在剩下的两个位置上,由此二次型函数f(x,y)即可以表示成一个2行2列的矩阵,如下:

将此处的2维扩展到n维,便可以从矩阵的角度来理解函数的最大值与最小值。假定有n个变量x_1,\cdots,x_n,将其写成列向量x的形式,那么对任意对称矩阵A,矩阵向量相乘与二次型之间是互相等效的,如下:

x^TAx\quad f(x_1,\cdots,x_n)

更具体来讲,如下:

对角线的元素a_{11}\sim a_{nn}x_1^2\sim x_n^2相乘。对称形式a_{ij}=a_{ji}合并后再相乘可得2a_{ij}x_ix_j,即可以还原函数为:

f=a_{11}x_1^2+2a_{12}x_1x_2+\cdots+a_{nn}x_n^2

注意每一项都是二次型,当x=(0,0,\cdots,0)时,函数的一阶导函数一定为0.该函数的切面是水平的,也就是其极值点。、

借助此理论即可判断当向量x为0时,函数f=x^TAx存在最大值,最小值,还是鞍点。

7.2 举例

例题1

函数f=2x^2+4xy+y^2,其对应矩阵如下:

A=\begin{bmatrix} 2 &2 \\ 2& 1 \end{bmatrix}

很明显为鞍点

例题2

函数f=2xy,其对应矩阵:

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

很明显鞍点

例题3

给定函数如下:

f=2x_1^2-2x_1x_2+2x_2^2-2x_2x_3+2x_3^2

该函数拥有最小值,写成矩阵格式如下:

其实矩阵A可以看成二阶导的矩阵,也就是满足:

a_{ij}=\frac{\partial^2 F}{\partial x_i\partial x_j}

同理可得:

a_{ji}=\frac{\partial^2 F}{\partial x_j\partial x_i}

从这个角度也可以理解矩阵A为对称矩阵,很明显当原函数存在最小值时,矩阵A则为正定的。

八. 正定矩阵与格密码

正定矩阵与特征值有关,格基特征值的大小会影响格密码中光滑参数的大小,从而影响安全性。具体这方面的知识会陆续更新。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Apache Doris (六十): Doris - 物化视图

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录

基于ssm的视康眼镜网店销售系统的设计与实现+vue论文

引 言 随着互联网应用的不断发展&#xff0c;以及受新冠病毒疫情影响&#xff0c;越来越多的零售行业将其销售方式从实体门店销售转向虚拟网店销售方向发展。中国互联网络信息中心(CNNIC)发布第48次《中国互联网络发展状况统计报告》显示&#xff0c;截至2021年6月&#xff0c…

Text-to-SQL小白入门(十一)DAIL-SQL教你刷Spider榜单第一

论文概述 学习这篇Text2SQLLLM的benchmark论文前&#xff0c;可以先学习一下基础的Text2SQL知识。 可以参考GitHub项目&#xff1a;GitHub - eosphoros-ai/Awesome-Text2SQL: Curated tutorials and resources for Large Language Models, Text2SQL, Text2DSL、Text2API、Text2…

前端开发_JavaScript基础

JavaScript介绍 JS是一种运行在客户端&#xff08;浏览器&#xff09;的编程语言&#xff0c;实现人机交互效果 作用&#xff1a; 网页特效 (监听用户的一些行为让网页作出对应的反馈) 表单验证 (针对表单数据的合法性进行判断) 数据交互 (获取后台的数据, 渲染到前端) 服…

漏洞复现-海康威视网络对讲广播系统远程命令执行漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

HackTheBox - Medium - Linux - Socket

Socket Socket 是一台中等难度的 Linux 机器&#xff0c;其特点是反转 Linux/Windows 桌面应用程序以获取其源代码&#xff0c;从那里发现其 Web 套接字服务中的“SQL”注入。转储数据库会显示一个哈希值&#xff0c;一旦破解&#xff0c;就会产生对该框的“SSH”访问。最后&a…

卷麻了,00后测试用例写的比我还好,简直无地自容...........

经常看到无论是刚入职场的新人&#xff0c;还是工作了一段时间的老人&#xff0c;都会对编写测试用例感到困扰&#xff1f;例如&#xff1a; 如何编写测试用例&#xff1f; 作为一个测试新人&#xff0c;刚开始接触测试&#xff0c;对于怎么写测试用例很是头疼&#xff0c;无法…

Spring中基于注解的IOC配置项目举例详解

文章目录 Spring中基于注解的IOC配置项目举例详解1、创建如下结构的Spring项目pom.xmldao层service层application.xmllog4j.properties 2、用于创建对象的常用注解2.1、Controller或Controller("user")声明bean,且id"user"2.2、Service或用Service("u…

数据挖掘总结(考试版)

数据挖掘总结&#xff1a; 第一章&#xff1a; 数据挖掘KDD步骤&#xff1a; 数据清理: (消除噪声和删除不一致的数据)数据集成&#xff08;多种数据源可以组合在一起&#xff09;数据选择&#xff08;从数据库中提取与分析任务相关的数据&#xff09;数据变换&#xff08;数…

【基础python】条件语句 | 循环

条件语句 if elif else python中和绝大数语言类似&#xff0c;具有能够判断语句顺序的语法 if elif else 分别对应C的 if else if else if 条件为真进入语句 &#xff0c;反之则不进入 如果if 为假&#xff0c;存在else 则会进入else 如果if 为假 &#xff0c;存在…

(Java企业 / 公司项目)Nacos的怎么搭建多环境配置?(含相关面试题)(二)

上一篇讲了一个单体服务中配置&#xff0c;传统的Nacos配置但是在微服务架构当中肯定都是多环境下配置&#xff0c;比如生产环境&#xff0c;dev测试环境等等。 第一种方式模拟开始&#xff1a; 首先展示在生产环境中nacos如何配置&#xff0c;在模块下新建一个配置文件&…

三段式电流保护与自动重合闸MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 前加速、后加速的区别&#xff1a; 前加速是保护装置不判别是永久性故障还是瞬时故障&#xff0c;直接跳闸&#xff0c;然后经重合闸装置来纠正&#xff1b;后加速是保护装置是先判别故障类型有选择性跳闸 …

AI:112-基于卷积神经网络的美食图片识别与菜谱推荐

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

华为与银联深化合作 /阿里巴巴集团首席执行官兼任淘天集团首席执行官 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件&#x1f525;&#xff0c;更新AIGC的最新动态&#xff0c;生成相应的魔法简报&#xff0c;节省阅读时间&#x1f47b; &#x1f525;资讯预览 华为与银联深化合作&#xff0c;推动银联服务全面“鸿蒙化” 阿里巴巴集团首…

即时设计:一键查看设计稿与页面差异,让设计师的工作更便捷高效

设计稿走查 在设计工作中&#xff0c;对设计稿和实际页面进行对比是必不可少的环节。然而&#xff0c;传统的对比方式往往耗时耗力&#xff0c;无法精确测量差异。为了解决这个问题&#xff0c;我们推出了一款强大的工具&#xff0c;它可以通过图片对比&#xff0c;轻松查看设…

vue3+vant4 移动端软键盘弹出 收起导致项目样式布局错乱解决方案,亲测有效!!

问题描述 最近在做vue3 H5的移动端项目 我用的是vue3vant4&#xff0c;然后在使用过程中发现 小米14手机在点击密码输入框软键盘弹出 时会导致项目布局整体向上移动 导致页面布局错乱。 原因分析&#xff1a; 在移动端软键盘弹出收起时&#xff0c;导致项目样式布局错乱的原因…

rtsp解析视频流

这里先说一下 播放rtsp 视频流&#xff0c;尽量让后端转换一下其他格式的流进行播放。因为rtsp的流需要flash支持&#xff0c;现在很多浏览器不支持flash。 先说一下这里我没有用video-player插件&#xff0c;因为它需要用flash ,在一个是我下载flash后&#xff0c;还是无法播放…

C++多态性——(4)纯虚函数与抽象类

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 我们不能选择命运&#xff0c;但我们可…

【Python机器学习】k近邻——k近邻分类

k-NN算法最简单的版本是只考虑一个最近邻&#xff0c;也就是想要预测的数据点最近的训练数据点&#xff0c;预测结果就是这个训练数据点的已知输出。 除了仅考虑最近邻&#xff0c;还可以考虑任意&#xff08;k个&#xff09;邻居&#xff0c;这也是k近邻算法名字的由来。在考…

Python正则表达式急速入门~正则居然这么容易掌握!

正则表达式在程序开发中会经常用到&#xff0c;比如数据&#xff08;格式&#xff09;验证、替换字符内容以及提取字符串内容等等情况都会用到&#xff0c;但是目前许多开发人员对于正则表达式只是处于了解或者是基本会用的阶段。一旦遇到大批量使用正则表达式的情况&#xff0…