博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GF4上的矩阵乘法运算
阅读量:4100 次
发布时间:2019-05-25

本文共 1527 字,大约阅读时间需要 5 分钟。

前面我写了一下四元域的矩阵的加法,利用查表法即可,这里不再赘述,相对于加法,矩阵的乘法比较复杂。

关于四元运算法则就不说了,自己可以查到:1+a+a^2=0

首先定义几个矩阵:

A1=[1,2;2,3];        %代表四元域的1

A2=[0,1;1,1];        %代表四元域的2

A3=[1,1;1,2];         %代表四元域的3

这三个矩阵满足上面的1+a+a^2=0的表达式,对于A1,在最后求结果的时候需要使用模二加 mod(A1,2)=[1,0;0,1]

对于一个四元矩阵,将里面的1,2,3分别用上面的A1, A2,A3,代替,然后再进行矩阵相乘,最后将结果逆运算成四元域。

下面是代码实例

ticclcclear all%%理解四元运算规则,1+a+a^2=0;A1=[1,0;0,1];%代表四元域的1A2=[0,1;1,1];%代表四元域的2A3=[1,1;1,2];%代表四元域的3%这三个矩阵满足上面的四元运算关系式,注意是模二加%这里是我随便举的一个例子,模拟编码的过程u=[1,0,2,3,2];%u代表传输的码字g=[0,0,0,1,0;0,0,0,0,2;1,0,0,0,0;0,3,0,0,0;0,0,2,0,0];%g代表生成矩阵[g_row,g_col]=size(g);[u_row,u_col]=size(u);%利用上面的矩阵把u表示出来for m=1:u_col    if u(m)==1        u1(1:2,2*m-1:2*m)=A1;    elseif u(m)==2        u1(1:2,2*m-1:2*m)=A2;    elseif u(m)==3        u1(1:2,2*m-1:2*m)=A3;    else u1(1:2,2*m-1:2*m)=zeros(2);    endend%g同u的做法for m=1:g_row    for n=1:g_col        if g(m,n)==1            g1(2*m-1:2*m,2*n-1:2*n)=A1;        elseif g(m,n)==2            g1(2*m-1:2*m,2*n-1:2*n)=A2;        elseif g(m,n)==3            g1(2*m-1:2*m,2*n-1:2*n)=A3;        else g1(2*m-1:2*m,2*n-1:2*n)=zeros(2);        end    endendy=mod(u1*g1,2);%模拟编码,得到编码后的码字y%模拟解码的逆过程,得到解码后的码字y1[y_row,y_col]=size(y);y1=zeros(1,0.5*y_col);for n=1:0.5*y_col    if y(1:2,2*n-1:2*n)==A1        y1(n)=1;    elseif y(1:2,2*n-1:2*n)==A2        y1(n)=2;    elseif y(1:2,2*n-1:2*n)==[1,1;1,0]        y1(n)=3;    else y1(n)=0;    endend      %利用MATLAB内置函数gf进行四元域运算,并将结果y2与上面方法得到的结果y1比较u2=gf(u,2);g2=gf(g,2);y2=u2*g2y1toc

从结果可以看出,用在这种方法算出的结果与MATLAB内置函数gf算出的结果一致,而且结果是double类型

对于更高元的矩阵乘法也可以用这类方法,重点是要找到相对应的矩阵来代替原有的矩阵。

你可能感兴趣的文章
那些人生“开挂”的程序员,都在干什么?
查看>>
影响科学圈的那些计算机代码
查看>>
乐视视频 App 图标改为“欠 122 亿”,网友:我在别家分红包,却在你家随份子!...
查看>>
乔布斯18岁求职信拍卖价22.24万美元,值吗?
查看>>
为何程序员总喜欢写技术博客,看完恍然大悟...
查看>>
假如计算机是中国人发明的,那代码应该这么写
查看>>
科技公司最爱的 50 款开源工具,你都用过吗?
查看>>
触目惊心:比特币到底消耗了多少能源?
查看>>
面试官:简历上敢写技术精通?那我就不客气了!
查看>>
如何判断一家互联网公司要倒闭了?
查看>>
想快速上手机器学习?来看下这个 GitHub 项目!
查看>>
GitHub 标星 3.6k,一本开源的深度学习中文教程!
查看>>
9 款你不能错过的 JSON 工具
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
200页!分享珍藏很久的Python学习知识手册(附链接)
查看>>
程序员之神
查看>>
4 岁小女孩给 Linux 内核贡献提交
查看>>
推荐几个私藏很久的技术公众号给大家
查看>>
王垠受邀面试阿里 P9,被 P10 面跪后网上怒发文,惨打 325 的 P10 赵海平回应了!...
查看>>
Python 趣味打怪:147 段简单代码助你从入门到大师
查看>>