version 1.5, 2003/04/19 15:44:56 |
version 1.6, 2003/04/20 08:01:25 |
|
|
@comment $OpenXM: OpenXM/src/asir-doc/parts/ff.texi,v 1.4 2003/04/19 10:36:30 noro Exp $ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/ff.texi,v 1.5 2003/04/19 15:44:56 noro Exp $ |
\BJP |
\BJP |
@node $BM-8BBN$K4X$9$k1i;;(B,,, Top |
@node $BM-8BBN$K4X$9$k1i;;(B,,, Top |
@chapter $BM-8BBN$K4X$9$k1i;;(B |
@chapter $BM-8BBN$K4X$9$k1i;;(B |
Line 332 one to obtain the affine coordinate. |
|
Line 332 one to obtain the affine coordinate. |
|
* gf2ntop:: |
* gf2ntop:: |
* ptosfp sfptop:: |
* ptosfp sfptop:: |
* defpoly_mod2:: |
* defpoly_mod2:: |
|
* sffctr:: |
* fctr_ff:: |
* fctr_ff:: |
* irredcheck_ff:: |
* irredcheck_ff:: |
* randpoly_ff:: |
* randpoly_ff:: |
Line 828 whose value is @var{r}. |
|
Line 829 whose value is @var{r}. |
|
[2] setmod_ff(547); |
[2] setmod_ff(547); |
547 |
547 |
[3] F=simp_ff((x-1)^10); |
[3] F=simp_ff((x-1)^10); |
1*x^10+537*x^9+45*x^8+427*x^7+210*x^6+295*x^5+210*x^4+427*x^3+45*x^2+537*x+1 |
1*x^10+537*x^9+45*x^8+427*x^7+210*x^6+295*x^5+210*x^4+427*x^3 |
|
+45*x^2+537*x+1 |
[4] lmptop(F); |
[4] lmptop(F); |
x^10+537*x^9+45*x^8+427*x^7+210*x^6+295*x^5+210*x^4+427*x^3+45*x^2+537*x+1 |
x^10+537*x^9+45*x^8+427*x^7+210*x^6+295*x^5+210*x^4+427*x^3 |
|
+45*x^2+537*x+1 |
[5] lmptop(coef(F,1)); |
[5] lmptop(coef(F,1)); |
537 |
537 |
[6] ntype(@@@@); |
[6] ntype(@@@@); |
Line 878 x^10+537*x^9+45*x^8+427*x^7+210*x^6+295*x^5+210*x^4+42 |
|
Line 881 x^10+537*x^9+45*x^8+427*x^7+210*x^6+295*x^5+210*x^4+42 |
|
Let @var{m} be a non-negative integer. |
Let @var{m} be a non-negative integer. |
@var{m} has the binary representation |
@var{m} has the binary representation |
@var{m}=@var{m0}+@var{m1}*2+...+@var{mk}*2^k. |
@var{m}=@var{m0}+@var{m1}*2+...+@var{mk}*2^k. |
This function returns an element of GF(2^@var{n})=GF(2)[t]/(g(t)), |
This function returns an element of GF(2^@var{n}) = GF(2)[t]/(g(t)), |
@var{m0}+@var{m1}*t+...+@var{mk}*t^k mod g(t). |
@var{m0}+@var{m1}*t+...+@var{mk}*t^k mod g(t). |
@item |
@item |
Apply @code{simp_ff()} to reduce the result. |
Apply @code{simp_ff()} to reduce the result. |
Line 1186 Then fix @var{m3} as small as possible. |
|
Line 1189 Then fix @var{m3} as small as possible. |
|
\JP @item $B;2>H(B |
\JP @item $B;2>H(B |
\EG @item References |
\EG @item References |
@fref{setmod_ff} |
@fref{setmod_ff} |
|
@end table |
|
|
|
\JP @node sffctr,,, $BM-8BBN$K4X$9$kH!?t$N$^$H$a(B |
|
\EG @node sffctr,,, Functions for Finite fields |
|
@subsection @code{sffctr} |
|
@findex sffctr |
|
|
|
@table @t |
|
@item sffctr(@var{poly}) |
|
\JP :: $BB?9`<0$N>.I8?tM-8BBN>e$G$N4{LsJ,2r(B |
|
\EG :: Irreducible factorization over a small finite field. |
|
@end table |
|
|
|
@table @var |
|
@item return |
|
\JP $B%j%9%H(B |
|
\EG list |
|
@item poly |
|
\JP $BM-8BBN>e$N(B $BB?9`<0(B |
|
\EG polynomial over a finite field |
|
@end table |
|
|
|
@itemize @bullet |
|
\BJP |
|
@item |
|
$BB?9`<0$r(B, $B8=:_@_Dj$5$l$F$$$k>.I8?tM-8BBN>e$G4{LsJ,2r$9$k(B. |
|
@item |
|
$B7k2L$O(B, [[@var{f1},@var{m1}],[@var{f2},@var{m2}],...] $B$J$k(B |
|
$B%j%9%H$G$"$k(B. $B$3$3$G(B, @var{fi} $B$O(B monic $B$J4{Ls0x;R(B, @var{mi} $B$O$=$N(B |
|
$B=EJ#EY$G$"$k(B. |
|
\E |
|
\BEG |
|
@item |
|
Factorize @var{poly} into irreducible factors over |
|
a small finite field currently set. |
|
@item |
|
The result is a list [[@var{f1},@var{m1}],[@var{f2},@var{m2}],...], |
|
where @var{fi} is a monic irreducible factor and @var{mi} is its |
|
multiplicity. |
|
\E |
|
@end itemize |
|
[0] setmod_ff(2,10); |
|
[2,x^10+x^3+1,x] |
|
[1] sffctr((z*y^3+z*y)*x^3+(y^5+y^3+z*y^2+z)*x^2+z^11*y*x+z^10*y^3+z^11); |
|
[[@@_0,1],[@@_0*z*y*x+@@_0*y^3+@@_0*z,1],[(@@_0*y+@@_0)*x+@@_0*z^5,2]] |
|
@example |
|
|
|
@end example |
|
|
|
@table @t |
|
\JP @item $B;2>H(B |
|
\EG @item References |
|
@fref{setmod_ff}, |
|
@fref{modfctr} |
@end table |
@end table |
|
|
\JP @node fctr_ff,,, $BM-8BBN$K4X$9$kH!?t$N$^$H$a(B |
\JP @node fctr_ff,,, $BM-8BBN$K4X$9$kH!?t$N$^$H$a(B |