二扩域(GF(2^m))中的逆矩阵

通常的逆矩阵可以用高斯消去法计算。十分有效。还可以使用LU分解,QR分解等。

二扩域中的逆矩阵则不同。看似简单,其实有别:它的所有元素定义在GF(2^m)中。从理论来看,似乎也可以用高斯消去法,只是计算规则

需要按照GF(2^m)中的运算规则。

二扩域下的矩阵与通常的矩阵一样,可以定义行列式。行列式定义之后,可以继续定义伴随式。如此,便可以给出一个形式上的逆矩阵。参见:

https://math.stackexchange.com/questions/273054/how-to-find-matrix-inverse-over-finite-field

https://en.wikipedia.org/wiki/Adjugate_matrix

这种形式上有伴随式定义的逆矩阵本身也是计算公式。

在Matlab软件中,给出了计算二扩域下逆矩阵的函数:inv(*).   行列式为det(*).

此外,conv(*, *)也可以方便地计算二扩域元素为系数的多项式乘积。

上述命令在处理与二扩域相关的编码、密码问题时十分方便。

时间: 2024-10-07 15:42:39

二扩域(GF(2^m))中的逆矩阵的相关文章

二扩域与质数域

二扩域是指GF(2m), 质数域即素域,是指GF(p). 在Mathematica中,二扩域运算较质数域慢.尤其是形式较为复杂的函数,在二扩域中比在质数域中要慢若干数量级,存储也大很多. 从问题来看,二扩域如同高维,质数域似同低维.规模一大,高维问题自然比低维问题复杂.具体而言,似乎一者为多维,一者为单维. 二扩域中的乘法不需进位,质数域中的乘法需要进位.从形式上看,二扩域的乘法反而简单很多.可是,由于计算机的微处理器中只 计算整数环的乘法,导致二扩域乘法很难计算. 在FPGA和计算机系统CPU

二扩域元素与整数的转换

从二扩域元素到整数的转换可以通过反向查询实现. function [ y ] = gft2int(x, m, dfp ) i= 0;y0= gf(0, m, dfp);  % default prim_poly is usedy= y0; % initialize return value for i= 0: 1: 2^m-1 y0= gf(i, m, dfp); if (x== y0) y= i; break; endend end 参考了:http://www.ilovematlab.cn/

【管理心得之二十五】组织中的骂名 ----------墙头草

场景再现 ====================== {会议前} 老张:喂,老王.这次的讨论议题你怎么看? 老王:暂时还没有想好,你有什么高见? 老张:这还不简单,以前类似的事发生过. "首先..........其次..........最后........."   你看看怎样? 老王:嗯{点点头} {会议中} 老  张:"方案A 是... ... ... ... " 方案B:"方案B 是... ... ... ... " 方案C:"方

二十四、Struts2中的UI标签

二十四.Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) 可以使用OGNL表达式 模板: 常量设置的:struts.ui.theme=xhtml 开发中建议设置为struts.ui.theme=simple;

t5 杂谈(二)Qt5:Qt中启动画面的设置

t5 杂谈(二)Qt5:Qt中启动画面的设置 [复制链接] 上一主题下一主题 离线 艺术人生 加关注 艺 术 人 生 - 本帖被 XChinux 执行加亮操作(2016-04-23) - #include "mainwindow.h"#include <QApplication>#include <QSplashScreen>#include <QTextEdit>#include <QPixmap>#include <QTest&

(转)Inno Setup入门(二)——修改安装过程中的图片

本文转载自:http://blog.csdn.net/augusdi/article/details/8564793 修改安装过程中的图片 一般编译之后,安装过程中出现在左边图片是是下图这个样子的: 其实也可以修改它,只需要在setup段中作一点稍微的修改,加一行代码即可: [setup] AppName=Test AppVerName=TEST DefaultDirName="E:\TEST" AppVersion=1.0 WizardImageFile=dh.bmp [files]

在微信中,实现微信点击链接或者扫描二维码在浏览器中打开指定的链接

这个问题我查看了许多资料,最后总结一下: 我首先看了IOS端微信关于下载app的整个逻辑: 关于公众号里面关于微官网里面的app下载,如果你将你的应用中在微信开发平台认证过来,这个是要掏钱的:你点微官网app的下载,是可以直接跳到APP Store里面,检测这个应用是否已经下载,如果下载,直接打开: 而对于android 端,相比较IOS,就有更多方法,实现这个可能了. 1:微信开发平台认证,我要下载的链接,放在认证里面(不过不是单独的下载链接,你必须上传你的app到应用商城里面的下载地址):费

微信点击链接或者扫描二维码在浏览器中打开指定的链接

这个问题我查看了许多资料,最后总结一下: 我首先看了IOS端微信关于下载app的整个逻辑: 关于公众号里面关于微官网里面的app下载,如果你将你的应用中在微信开发平台认证过来,这个是要掏钱的:你点微官网app的下载,是可以直接跳到APP Store里面,检测这个应用是否已经下载,如果下载,直接打开: 而对于android 端,相比较IOS,就有更多方法,实现这个可能了. 1:微信开发平台认证,我要下载的链接,放在认证里面(不过不是单独的下载链接,你必须上传你的app到应用商城里面的下载地址):费

Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有:Perl.PHP.Python.Ruby.C#.C/C++以及Lua等. 那么,我们作为.Net码农,自然是使用C#.既然Memcached客户端有.Net版,那我们就去下载一个来试试. 下载文件:http://pan.baidu.com/s/1w9Q8I memcached clientlib项目