格密码与线性代数

目录

一. 幺模矩阵

二. Gram-Schmidt 正交化

三. 矩阵分解

四. 格基本区

五. 对偶格基

六. 矩阵伪逆

七. 正定矩阵

八. 矩阵转置

九. 奇异值分解(SVD分解)


格密码中格基是矩阵,格点是向量。本文章梳理一些格密码常用到的一些线性代数的知识点。

一. 幺模矩阵

对格基乘以整数幺模矩阵,会得到新的格基,该格基形成的格点与原来的格点一样。幺模矩阵U\in Z^{m\times m}满足|det(U)|=1。幺模矩阵的逆U^{-1}\in Z^{m\times m}依旧为幺模矩阵。

二. Gram-Schmidt 正交化

将格基的一列看成一个向量,也就是V=\lbrace v_1,\cdots,v_k\rbrace\in R^n。假定Gram-Schmidt 正交化是按顺序进行的,正交化后记作\tilde V=\lbrace \tilde v_1,\cdots,\tilde v_k\rbrace,可以将\tilde v_i看成向量v_i的分量。对格密码而言,最重要的性质则是\tilde v_ispan(v_1,\cdots,v_{i-1})垂直。

三. 矩阵分解

对格基矩阵V可作如下分解:

V=QDU

其中Q\in R^{n\times k}为正交阵,D\in R^{k\times k}为对角阵(对角线的值均大于等于0),U\in R^{k\times k}为上三角矩阵且对角线元素的值均为1。

通常格基中的向量都是线性独立的,所以根据线性代数的基础,我们知道这种分解也是唯一的。而且Gram-Schmidt 正交化后向量的长度与矩阵D对角线元素的值是有关系的,也就是||\tilde v_i||=d_{i,i},其中d_{i,i}为矩阵D对角线元素的值。

四. 格基本区

给定任意格基V=\lbrace v_1,\cdots,v_n\rbrace,可形成格基本区。如果把该基本区进行平移,让原点处于该基本区的中心,也就是所谓的origin-centered parallelepiped,如下:

P_{1/2}(V)=V\cdot [-\frac{1}{2},\frac{1}{2}]^n

五. 对偶格基

原格基为V,对偶格基为V^*,利用如何公式可计算对偶格基:


V^*=V^{-t}=(V^{-1})^t

通俗来讲就是先对格基求逆,再转置,就是对偶格的格基。整个过程非常丝滑。

其实对偶格Gram-Schmidt 正交化的结果与原来格基也有关系,先上结论:

\tilde v_i^*=\tilde v_i/||\tilde v_i||^2

其实就是向量长度互为倒数,如下:

||\tilde v_i^*||=1/||\tilde v_i||

六. 矩阵伪逆

有些方阵X不能直接求逆,这个时候就需要利用伪逆(有的时候也叫Moore-Penrose伪逆),为方便后续解释,暂时记为X^{+}。原矩阵和伪逆矩阵需要满足:

(XX^+)X=X

反过来也经常利用:

X^+(XX^+)=X^+

需要注意的是XX^+不等于单位阵,但是XX^+X^+X互为对称矩阵(其实就是转置相等)。

在格密码中,矩阵和伪逆矩阵的空间是不变的,也就是:

span(X)=span(X^+)

七. 正定矩阵

给定一个对称矩阵\Sigma\in R^{n\times n},对任意向量x\in R^n,都满足如下不等式:

x^t\Sigma x>0

则称该矩阵\Sigma为正定矩阵(positive definite),通常记为\Sigma>0

当然,如果不等式改为:

x^t\Sigma x\geq 0

则称该矩阵为半正定矩阵,记为\Sigma\geq 0

实际上,正定矩阵一定可以求逆,并且逆矩阵也为正定矩阵,也就是\Sigma^{-1}>0

但是半正定矩阵不一定可以求逆,只能求伪逆,其伪逆也为半正定矩阵,也就是\Sigma^+\geq 0

在格密码论文中,如果看到\Sigma_1>\Sigma_2,其实是想表达两个矩阵相减为正定矩阵(\Sigma_1-\Sigma_2)>0。这个结论换成半正定矩阵也是成立的。另外,如果原矩阵满足这种不等关系,逆矩阵也有类似的结论。换句话说,如果\Sigma_1\geq \Sigma_2\geq 0,可得\Sigma_2^+\geq \Sigma_1^+\geq 0

八. 矩阵转置

“七”中谈到的对称矩阵有一个非常简单的实现方式。给定任意矩阵B,将该矩阵的转置乘以本身,得到新的矩阵则为对称矩阵。也就是,\Sigma=BB^t。另外其实很好证明,这个矩阵\Sigma则是一个半正定矩阵,因为:

x^t\Sigma x=\langle B^tx,B^tx\rangle=||B^tx||^2\geq 0

当然,熟悉线代的小伙伴都知道,以上运算要求矩阵B非奇异(nonsingular)。

这个结论可以反推。如果已知某矩阵\Sigma>0,那么该矩阵存在平方根,也就是B=\sqrt \Sigma。根据半正定矩阵的性质,任意\Sigma\geq 0都存在平方根,而且求平方根的过程多项式时间复杂度内可以解决(比如Cholesky分解法)。

九. 奇异值分解(SVD分解)

奇异值分解,英语为singular value decomposition,经常在格密码中简称为SVD分解。奇异值分解主要是给非方阵准备的,对任意矩阵B\in R^{n\times k},可以作如下分解:

B=QDP^t

其中Q\in R^{n\times n},P\in R^{k\times k}均为正交矩阵,D\in R^{n\times k}为对角阵。对角线上的值通常以降序排列,并且每个值均大于等于0。其实实际上,对角线上的值就是矩阵B的奇异值s_i\geq 0。如果想求最大的奇异值,通常利用如下:

s_1(B)=max_u||Bu||=max_u||B^tu||

其中,u为任意单位向量u\in R^k

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

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

相关文章

【赠书活动】OpenCV4工业缺陷检测的六种方法

文章目录 前言机器视觉缺陷检测工业上常见缺陷检测方法延伸阅读推荐语 赠书活动 前言 随着工业制造的发展,对产品质量的要求越来越高。工业缺陷检测是确保产品质量的重要环节,而计算机视觉技术的应用能够有效提升工业缺陷检测的效率和精度。 OpenCV是一…

小程序自定义轮播图样式

小程序自定义轮播图样式以下是各案例&#xff0c;仅供大家参考。 效果展示&#xff1a; index.wxml代码&#xff1a; <view><!-- 轮播 --><view><swiper indicator-dots"{{indicatorDots}}"autoplay"{{autoplay}}" interval"{{…

centos安装了curl却报 -bash: curl: command not found

前因 我服务器上想用curl下载docker-compress&#xff0c;发现没有curl命令&#xff0c;就去下载安装&#xff0c;安装完成之后&#xff0c;报-bash: curl: command not found 解决方法 [rootcentos ~]# rpm -e --nodeps curl warning: file /usr/bin/curl: remove failed: …

揭开`this`的神秘面纱:探索 JavaScript 中的上下文密钥(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

phpMyAdmin的常见安装位置

nginx的日志显示有人一直在尝试访问phpMyAdmin的setup.php&#xff0c;用了各种位置。 其实我只有一个nginx&#xff0c;别的什么也没有。 47.99.136.156 - - [01:44:37 0800] "GET http://abc.com:80/phpMyAdmin/scripts/setup.php HTTP/1.0" 404 162 "-"…

天猫数据分析-天猫查数据软件-11月天猫平台饮料市场品牌及店铺销量销额数据分析

今年以来&#xff0c;饮料是快消品行业中少数保持稳定增长的品类之一。 11月份&#xff0c;饮料市场同样呈现较好的增长态势。根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;今年11月份&#xff0c;天猫平台上饮料市场的销量为2700万&#xff0c;环比增长约42%&#xf…

Python-Selenium-使用 pywinauto 实现 Input 上传文件

当前环境&#xff1a;Win10 Python3.7 pywinauto0.6.8&#xff0c;selenium3.14.1 示例代码 from pywinauto import Desktop import osapp Desktop() dialog app[打开] dialog[Edit].set_edit_text(os.getcwd() .\\example-01.jpg) dialog[Button].click() 其他方法&…

智能优化算法应用:基于模拟退火算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于模拟退火算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于模拟退火算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.模拟退火算法4.实验参数设定5.算法结果6.…

【百度PARL】强化学习笔记

文章目录 强化学习基本知识一些框架Value-based的方法Q表格举个例子 强化的概念TD更新 Sarsa算法SampleSarsa Agent类 On_policy vs off_policy函数逼近与神经网络DQN算法DQN创新点DQN代码实现model.pyalgorithm.pyagent.py总结&#xff1a;举个例子 实战 视频&#xff1a;世界…

关于“Python”的核心知识点整理大全28

目录 11.1.5 添加新测试 11.2 测试类 11.2.1 各种断言方法 unittestModule中的断言方法&#xff1a; ​编辑11.2.2 一个要测试的类 survey.py language_survey.py 11.2.3 测试 AnonymousSurvey 类 test_survey.py 往期快速传送门&#x1f446;&#xff08;在文章最后&…

2024免费mac苹果电脑系统电脑管家CleanMyMac X

macOS已经成为最受欢迎的桌面操作系统之一&#xff0c;它提供了直观、简洁的用户界面&#xff0c;使用户可以轻松使用和管理系统。macOS拥有丰富的应用程序生态系统&#xff1b;还可以与其他苹果产品和服务紧密协作&#xff0c;如iPhone、iPad&#xff0c;用户可以通过iCloud同…

Flutter ios 使用ListView 。滚动时 AppBar 改变颜色问题

在Ios 中 列表滚动条向下滚动一段距离后 会导致 AppBar 颜色改变 可以给 AppBar 或者 AppBarTheme。 scrolledUnderElevation: 0.0 属性 全局&#xff1a; MaterialApp(theme: ThemeData(appBarTheme: AppBarTheme(scrolledUnderElevation: 0.0)) ) 局部&#xff1a; App…

实现基于 Keepalived 和 Nginx 的高可用架构

目录 前言1 高可用性简介2 准备服务器和软件3 高可用的配置&#xff08;主从配置&#xff09;3.1 配置/etc/keepalived/keepalived.conf文件3.2 配置/usr/local/src/nginx_check.sh脚本文件 4 启动软件5 测试结语 前言 在现代互联网架构中&#xff0c;高可用性是至关重要的。N…

Linux——权限

个人主页&#xff1a;日刷百题 系列专栏&#xff1a;〖C语言小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 &#x1f30e;欢迎各位→点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ​ ​ 一、 Linux下用户的分类 Linux下有两种用户&#xff1a; 1. root&#xff08;超级管理员用户…

饥荒Mod 开发(十三):木牌传送

饥荒Mod 开发(十二)&#xff1a;一键制作 饥荒Mod 开发(十四)&#xff1a;制作屏幕弹窗 一键传送源码 饥荒的地图很大&#xff0c;跑地图太耗费时间和饥饿值&#xff0c;如果大部分时间都在跑图真的是很无聊&#xff0c;所以需要有一个能够传送的功能&#xff0c;不仅可以快速…

JOSEF约瑟三相电流继电器 HJL-93/AY AC220V 0.2-6A 导轨安装

HJL-93B数字式交流三相电流继电器 系列型号 HJL-93/AY数字式交流三相电流继电器&#xff1b;HJL-93/A数字式交流三相电流继电器&#xff1b; HJL-93/BY数字式交流三相电流继电器&#xff1b;HJL-93/B数字式交流三相电流继电器&#xff1b; HJL-F93/AY数字式交流三相电流继电…

ARM KEIL 安装

根据设备类型安装开发工具及环境 Arm,Cortex ----> MDK-Arm 8051 ----> C51 80251 ----> C251 C166,XC166,XC2000 MCU设备 ----> C155 填写信息提交后下载 点击MDK539.EXE下载 : MDK539.EXE 双击MDK539安装 点击Next 默认安装路径,点击Ne…

Linux系统管理、服务器设置、安全、云数据中心

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 我们来快速了解liunx命令 文章目录 前言解析命令提示符linux的文件和目录文件和目录管理文件操作 进程管理命令系统管理网络管理 书籍推荐 本文以服务器最常用的CentOS为例 解析命令提示…

星融元中标华夏银行项目,助力金融数据中心可视网建设工作

近日&#xff0c;星融元成功入围华夏银行国产品牌网络流量汇聚分流器&#xff08;TAP&#xff09;设备供应商&#xff0c;在助力头部金融机构构建数据中心可视网络的建设工作中&#xff0c;星融元又一次获得全国性股份制银行客户的青睐。 华夏银行作为全国性股份制商业银行积极…

前端开发中的webpack打包工具

前端技术发展迅猛&#xff0c;各种可以提高开发效率的新思想和框架层出不穷&#xff0c;但是它们都有一个共同点&#xff0c;即源代码无法直接运行&#xff0c;必须通过转换后才可以正常运行。webpack是目前主流的打包模块化JavaScript的工具之一。 本章主要涉及的知识点有&am…