社区
数据结构与算法
帖子详情
高手快请进,郁闷死我了:有限域上的多项式的求余(决不吝分!!!)
hauck
2002-05-15 09:12:15
有限域GF(256)(就是有限域GF(2^8))上的两个多项式:(n>m)
f(x)=a0 + a1*x + a2*x^2 + ... + an*x^n,
g(x)=g0 + g1*x + g2*x^2 + ... + gm-1*x^m-1 + x^m,
求用g(x)去除f(x)所得的余数多项式.
请高手给个思路,点拨一下,有程序更好!
只要验证是对的,可用分倾囊相赠!
...全文
626
10
打赏
收藏
高手快请进,郁闷死我了:有限域上的多项式的求余(决不吝分!!!)
有限域GF(256)(就是有限域GF(2^8))上的两个多项式:(n>m) f(x)=a0 + a1*x + a2*x^2 + ... + an*x^n, g(x)=g0 + g1*x + g2*x^2 + ... + gm-1*x^m-1 + x^m, 求用g(x)去除f(x)所得的余数多项式. 请高手给个思路,点拨一下,有程序更好! 只要验证是对的,可用分倾囊相赠!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xjl930
2002-05-16
打赏
举报
回复
我也有同样的问题,但我也没找到合适的方法解决,共同研究学习!
southnan
2002-05-16
打赏
举报
回复
这个问题比较有深度,收藏,慢慢研究!
mathe
2002-05-16
打赏
举报
回复
对于GF(256),可以先计算出其乘法表。
在GF(256)中,加法就是异或运算,任意一个元素都可以表示成GF(2)
上的一个最多7次的多项式,
所以
0=000 就是0
1=001 就是1
2=0010就是x+0=x
3=0011就是x+1
4=00100就是x^2
然后对于两个变量
u,v
可以先计算两个对应多项式的乘积(需要注意的是加法是模2的,或者说是异或运算),
比如
3*7=(x+1)*(x^2+x+1)=x*x^2+x*x+x+x^2+x+1=x^3+1 (模2运算中x+x=0 and x^2+x^2=0)
所以3*7=9
在乘积得出来的多项式次数大于7时,我们需要对多项式在GF(2)上关于h(x)求余数,也就是
129*5=(x^7+1)*(x^2+1)=x^9+x^7+x^2+1
将上面的函数加上x*h(x)可以消去x^9,(其实就是手工除法过程,只是现在每一次商总是0或1),所以
129*5=x^9+x^7+x^2+1+x^9+x^5+x^4+x^3+x=x^7+x^5+x^4+x^3+x^2+x+1
=0010111111=191
在得出乘法表以后,我们可以很快的从表格中对于每一个元素找到它的逆,于是逆运算也有了,除法就可以分解为乘法和逆运算。
有了加乘逆以后(对于GF(2^n)减法同加法没有分别)
就可以使用手工除法了
microblue
2002-05-16
打赏
举报
回复
up
hauck
2002-05-16
打赏
举报
回复
多谢各位!
经过我细心的检查,终于找的了问题所在,结果已经调出来了,是对的!
哈哈,真是太高兴了,不过,也很惭愧,只是一点小小的马虎,
让我郁闷了这么久!
呵呵,今天心情太好了,晚上结帖,再给各位一个UP的机会,
就当是散分了,:)
大家快来呀~~~~~~~~~
hauck
2002-05-16
打赏
举报
回复
to mathe():
多谢多谢!!
你讲得很详细。GF(256)域上的加法是异或运算,乘法的运算我也用程序编出来了,我也验证了,是对的。但是我没有用到“逆运算”,我对这个概念不太明白,是指两个元素乘积为单位元,它们就互为逆元素吗?那么,在这个域中,单位元是1(00000001)吗?
还有一点要请教:
GF(256)上的一个元素,a^i,对应的多项式可以是升幂排列,也可以是降幂排列,比如:2可以表示为:01000000,也可以表示为:00000010,我到底应该选用哪种呢?
hauck
2002-05-15
打赏
举报
回复
to starfish(海星):
是GF(256)有限域上的,对这个域上的乘法和加法规则,我理解得不是很透,
对了,忘了说了:所用的这个域的本原多项式是:
h(x)=x^8 + x^4 + x^3 + x^2 + 1,
请予指点,救命则个!
starfish
2002-05-15
打赏
举报
回复
模拟手算的方法就可以了呀,这有什么难的?
rockpeak
2002-05-15
打赏
举报
回复
需要一点考虑时间,关注
keenhaung
2002-05-15
打赏
举报
回复
楼主别着急,我thinking一下先
UITabBarController 简单例子
这里做个记录以免以后忘记。 首先,创建UITabBarController类的对象。 ViewController.h #import @interface ViewController : UIViewController @property (strong , nonatomic) UITabBarController* m_tabBarVC; @end ViewContr
UITabBarController的使用
UITabBarController跟UINavigationController的使用差不多,后者的结构是
分
上下级的,而前者的级别是不
分
级了,是同级别的。当然调用方法也有些小差别。使用viewControllers存储数组来管理视图控制器。当然,可以和UInavigationController混合使用。本次的布局是穿件四个视图控制器,用UITabBarController来控制这四个控制器。下面
iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇—UITabBarController简单介绍
IOS UITabBarController简单介绍
一、简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应⽤。 二、UITabBarController的使用 1.使用步骤: (1)初始化UITabBarController (2)设置UIWindo
UITabBarController实现Tab切换
在很多的应用中,基本都是使用Tab方式
进
行模块间的切换。在Android中很多控件可以实现这类效果,TabLayout、TabHost… 而在iOS中系统为我们提供了UITabBarController类来实现Tab页面之间的切换。有几个页面我们就创建几个UINavigationController,然后通过tabbar.viewControllers = @[navi1, navi2, navi
数据结构与算法
33,026
社区成员
35,334
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章