求域上多项式的逆元

问题描述

设域 F = Z p [ x ] f ( x ) \mathbb{F}=\mathbb{Z}_p[x]_{f(x)} F=Zp[x]f(x),其中 f ( x ) f(x) f(x) Z p \mathbb{Z}_p Zp上的不可约多项式,多项式 g ( x ) ∈ F g(x)\in\mathbb{F} g(x)F,求 g ( x ) g(x) g(x) F \mathbb{F} F上的逆元。

求逆过程

先做辗转相除法:令 r 0 = f ( x ) , r 1 = g ( x ) r_0=f(x),r_1=g(x) r0=f(x),r1=g(x)
r 0 = r 1 q 1 + r 2   … … 1 r 1 = r 2 q 2 + r 3   … … 2 … r n − 2 = r n − 1 q n − 1 + r n   … … n − 1 r n − 1 = r n q n + r n + 1   , 其 中 r n + 1 = 0   … … n \begin{aligned} r_0&=r_1q_1+r_2\ \dots\dots1\\ r_1&=r_2q_2+r_3\ \dots\dots2\\ &\dots\\ r_{n-2}&=r_{n-1}q_{n-1}+r_n\ \dots\dots n-1\\ r_{n-1}&=r_nq_n+r_{n+1}\ ,其中r_{n+1}=0\ \dots\dots n \end{aligned} r0r1rn2rn1=r1q1+r2 1=r2q2+r3 2=rn1qn1+rn n1=rnqn+rn+1 ,rn+1=0 n

方法1:

因为 s ( x ) f ( x ) + t ( x ) g ( x ) = ( f ( x ) , g ( x ) ) s(x)f(x)+t(x)g(x)=(f(x), g(x)) s(x)f(x)+t(x)g(x)=(f(x),g(x)),当 ( f ( x ) , g ( x ) ) = 1 (f(x),g(x))=1 (f(x),g(x))=1时有:
( t ( x ) g ( x ) ) f ( x ) = ( 1 − s ( x ) f ( x ) ) f ( x ) = 1 (t(x)g(x))_{f(x)}=(1-s(x)f(x))_{f(x)}=1 (t(x)g(x))f(x)=(1s(x)f(x))f(x)=1所以 t ( x ) t(x) t(x)即为 g ( x ) g(x) g(x)在域 F \mathbb{F} F上的逆元。

其中 b i = b i − 2 − b i − 1 ∗ q n − i b_i=b_{i-2}-b_{i-1}*q_{n-i} bi=bi2bi1qni t ( x ) = b n − 1 t(x)=b_{n-1} t(x)=bn1

方法2:

b 1 = q n − 1 b_1=q_{n-1} b1=qn1,计算:

其中 b i = b i − 2 + b i − 1 ∗ q n − i b_i=b_{i-2}+b_{i-1}*q_{n-i} bi=bi2+bi1qni
  当 n n n为奇数时, t ( x ) = b n − 1 t(x)=b_{n-1} t(x)=bn1
  当 n n n为偶数时, t ( x ) = − b n − 1 t(x)=-b_{n-1} t(x)=bn1

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D-A-X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值