version 1.4, 2000/01/20 03:00:34 |
version 1.13, 2007/02/15 02:41:38 |
|
|
@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.3 1999/12/21 02:47:32 noro Exp $ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.12 2003/04/20 08:01:27 noro Exp $ |
\BJP |
\BJP |
@node $B7?(B,,, Top |
@node $B7?(B,,, Top |
@chapter $B7?(B |
@chapter $B7?(B |
Line 52 Each example shows possible forms of inputs for @b{Asi |
|
Line 52 Each example shows possible forms of inputs for @b{Asi |
|
|
|
@table @code |
@table @code |
@item 0 @b{0} |
@item 0 @b{0} |
|
@* |
\BJP |
\BJP |
$B<B:]$K$O(B 0 $B$r<1JL;R$K$b$DBP>]$OB8:_$7$J$$(B. 0 $B$O(B, C $B$K$*$1$k(B 0 $B%]%$%s%?$K(B |
$B<B:]$K$O(B 0 $B$r<1JL;R$K$b$DBP>]$OB8:_$7$J$$(B. 0 $B$O(B, C $B$K$*$1$k(B 0 $B%]%$%s%?$K(B |
$B$h$jI=8=$5$l$F$$$k(B. $B$7$+$7(B, $BJX59>e(B @b{Asir} $B$N(B @code{type(0)} $B$O(B |
$B$h$jI=8=$5$l$F$$$k(B. $B$7$+$7(B, $BJX59>e(B @b{Asir} $B$N(B @code{type(0)} $B$O(B |
Line 83 x afo (2.3*x+y)^10 |
|
Line 83 x afo (2.3*x+y)^10 |
|
|
|
\BJP |
\BJP |
$BB?9`<0$O(B, $BA4$FE83+$5$l(B, $B$=$N;~E@$K$*$1$kJQ?t=g=x$K=>$C$F(B, $B:F5"E*$K(B |
$BB?9`<0$O(B, $BA4$FE83+$5$l(B, $B$=$N;~E@$K$*$1$kJQ?t=g=x$K=>$C$F(B, $B:F5"E*$K(B |
1 $BJQ?tB?9`<0$H$7$F9_QQ$N=g$K@0M}$5$l$k(B (@xref{$BJ,;6I=8=B?9`<0(B}). |
1 $BJQ?tB?9`<0$H$7$F9_QQ$N=g$K@0M}$5$l$k(B. (@xref{$BJ,;6I=8=B?9`<0(B}.) |
$B$3$N;~(B, $B$=$NB?9`<0$K8=$l$k=g=x:GBg$NJQ?t$r(B @b{$B<gJQ?t(B} $B$H8F$V(B. |
$B$3$N;~(B, $B$=$NB?9`<0$K8=$l$k=g=x:GBg$NJQ?t$r(B @b{$B<gJQ?t(B} $B$H8F$V(B. |
\E |
\E |
\BEG |
\BEG |
Every polynomial is maintained internally in its full expanded form, |
Every polynomial is maintained internally in its full expanded form, |
represented as a nested univariate polynomial, according to the current |
represented as a nested univariate polynomial, according to the current |
variable ordering, arranged by the descending order of exponents. |
variable ordering, arranged by the descending order of exponents. |
(@xref{Distributed polynomial}). |
(@xref{Distributed polynomial}.) |
In the representation, the indeterminate (or variable), appearing in |
In the representation, the indeterminate (or variable), appearing in |
the polynomial, with maximum ordering is called the @b{main variable}. |
the polynomial, with maximum ordering is called the @b{main variable}. |
Moreover, we call the coefficient of the maximum degree term of |
Moreover, we call the coefficient of the maximum degree term of |
Line 207 on the whole value of that vector. |
|
Line 207 on the whole value of that vector. |
|
[1] for (I=0;I<3;I++)A3[I] = newvect(3); |
[1] for (I=0;I<3;I++)A3[I] = newvect(3); |
[2] for (I=0;I<3;I++)for(J=0;J<3;J++)A3[I][J]=newvect(3); |
[2] for (I=0;I<3;I++)for(J=0;J<3;J++)A3[I][J]=newvect(3); |
[3] A3; |
[3] A3; |
[ [ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] [ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
[ [ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
|
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] ] |
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] ] |
[4] A3[0]; |
[4] A3[0]; |
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
[ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] |
|
|
newstruct(afo) |
newstruct(afo) |
@end example |
@end example |
|
|
\JP $B9=B$BN$K4X$7$F$O(B, $B>O$r2~$a$F2r@b$9$kM=Dj$G$"$k(B. |
\BJP |
\EG For type @b{structure}, we shall describe it in a later chapter. |
Asir $B$K$*$1$k9=B$BN$O(B, C $B$K$*$1$k9=B$BN$r4J0W2=$7$?$b$N$G$"$k(B. |
(Not written yet.) |
$B8GDjD9G[Ns$N3F@.J,$rL>A0$G%"%/%;%9$G$-$k%*%V%8%'%/%H$G(B, |
|
$B9=B$BNDj5AKh$KL>A0$r$D$1$k(B. |
|
\E |
|
|
|
\BEG |
|
The type @b{structure} is a simplified version of that in C language. |
|
It is defined as a fixed length array and each entry of the array |
|
is accessed by its name. A name is associated with each structure. |
|
\E |
|
|
\JP @item 9 @b{$BJ,;6I=8=B?9`<0(B} |
\JP @item 9 @b{$BJ,;6I=8=B?9`<0(B} |
\EG @item 9 @b{distributed polynomial} |
\EG @item 9 @b{distributed polynomial} |
|
|
Line 321 For details @xref{Groebner basis computation}. |
|
Line 330 For details @xref{Groebner basis computation}. |
|
|
|
\JP @item 11 @b{$B%(%i!<%*%V%8%'%/%H(B} |
\JP @item 11 @b{$B%(%i!<%*%V%8%'%/%H(B} |
\EG @item 11 @b{error object} |
\EG @item 11 @b{error object} |
|
@* |
\JP $B0J>eFs$D$O(B, Open XM $B$K$*$$$FMQ$$$i$l$kFC<l%*%V%8%'%/%H$G$"$k(B. |
\JP $B0J>eFs$D$O(B, Open XM $B$K$*$$$FMQ$$$i$l$kFC<l%*%V%8%'%/%H$G$"$k(B. |
\EG These are special objects used for OpenXM. |
\EG These are special objects used for OpenXM. |
|
|
\JP @item 12 @b{GF(2) $B>e$N9TNs(B} |
\JP @item 12 @b{GF(2) $B>e$N9TNs(B} |
\EG @item 12 @b{matrix over GF(2)} |
\EG @item 12 @b{matrix over GF(2)} |
|
@* |
\BJP |
\BJP |
$B8=:_(B, $BI8?t(B 2 $B$NM-8BBN$K$*$1$k4pDlJQ49$N$?$a$N%*%V%8%'%/%H$H$7$FMQ$$$i$l(B |
$B8=:_(B, $BI8?t(B 2 $B$NM-8BBN$K$*$1$k4pDlJQ49$N$?$a$N%*%V%8%'%/%H$H$7$FMQ$$$i$l(B |
$B$k(B. |
$B$k(B. |
Line 338 This is used for basis conversion in finite fields of |
|
Line 347 This is used for basis conversion in finite fields of |
|
|
|
\JP @item 13 @b{MATHCAP $B%*%V%8%'%/%H(B} |
\JP @item 13 @b{MATHCAP $B%*%V%8%'%/%H(B} |
\EG @item 13 @b{MATHCAP object} |
\EG @item 13 @b{MATHCAP object} |
|
@* |
\JP Open XM $B$K$*$$$F(B, $B<BAu$5$l$F$$$k5!G=$rAw<u?.$9$k$?$a$N%*%V%8%'%/%H$G$"$k(B. |
\JP Open XM $B$K$*$$$F(B, $B<BAu$5$l$F$$$k5!G=$rAw<u?.$9$k$?$a$N%*%V%8%'%/%H$G$"$k(B. |
\EG This object is used to express available funcionalities for Open XM. |
\EG This object is used to express available funcionalities for Open XM. |
|
|
@item 14 @b{first order formula} |
@item 14 @b{first order formula} |
|
@* |
\JP quantifier elimination $B$GMQ$$$i$l$k0l3,=R8lO@M}<0(B. |
\JP quantifier elimination $B$GMQ$$$i$l$k0l3,=R8lO@M}<0(B. |
\EG This expresses a first order formula used in quantifier elimination. |
\EG This expresses a first order formula used in quantifier elimination. |
|
|
|
@item 15 @b{matrix over GF(@var{p})} |
|
@* |
|
\JP $B>.I8?tM-8BBN>e$N9TNs(B. |
|
\EG A matrix over a small finite field. |
|
|
|
@item 16 @b{byte array} |
|
@* |
|
\JP $BId9f$J$7(B byte $B$NG[Ns(B |
|
\EG An array of unsigned bytes. |
|
|
\JP @item -1 @b{VOID $B%*%V%8%'%/%H(B} |
\JP @item -1 @b{VOID $B%*%V%8%'%/%H(B} |
\EG @item -1 @b{VOID object} |
\EG @item -1 @b{VOID object} |
|
@* |
\JP $B7?<1JL;R(B -1 $B$r$b$D%*%V%8%'%/%H$O4X?t$NLa$jCM$J$I$,L58z$G$"$k$3$H$r<($9(B. |
\JP $B7?<1JL;R(B -1 $B$r$b$D%*%V%8%'%/%H$O4X?t$NLa$jCM$J$I$,L58z$G$"$k$3$H$r<($9(B. |
\BEG |
\BEG |
The object with the object identifier -1 indicates that a return value |
The object with the object identifier -1 indicates that a return value |
Line 370 of a function is void. |
|
Line 389 of a function is void. |
|
@item 0 |
@item 0 |
\JP @b{$BM-M}?t(B} |
\JP @b{$BM-M}?t(B} |
\EG @b{rational number} |
\EG @b{rational number} |
|
@* |
\BJP |
\BJP |
$BM-M}?t$O(B, $BG$0UB?G\D9@0?t(B (@b{bignum}) $B$K$h$j<B8=$5$l$F$$$k(B. $BM-M}?t$O>o$K(B |
$BM-M}?t$O(B, $BG$0UB?G\D9@0?t(B (@b{bignum}) $B$K$h$j<B8=$5$l$F$$$k(B. $BM-M}?t$O>o$K(B |
$B4{LsJ,?t$GI=8=$5$l$k(B. |
$B4{LsJ,?t$GI=8=$5$l$k(B. |
|
|
@item 1 |
@item 1 |
\JP @b{$BG\@:EYIbF0>.?t(B} |
\JP @b{$BG\@:EYIbF0>.?t(B} |
\EG @b{double precision floating point number (double float)} |
\EG @b{double precision floating point number (double float)} |
|
@* |
\BJP |
\BJP |
$B%^%7%s$NDs6!$9$kG\@:EYIbF0>.?t$G$"$k(B. @b{Asir} $B$N5/F0;~$K$O(B, |
$B%^%7%s$NDs6!$9$kG\@:EYIbF0>.?t$G$"$k(B. @b{Asir} $B$N5/F0;~$K$O(B, |
$BDL>o$N7A<0$GF~NO$5$l$?IbF0>.?t$O$3$N7?$KJQ49$5$l$k(B. $B$?$@$7(B, |
$BDL>o$N7A<0$GF~NO$5$l$?IbF0>.?t$O$3$N7?$KJQ49$5$l$k(B. $B$?$@$7(B, |
Line 424 result shall be computed as a double float number. |
|
Line 443 result shall be computed as a double float number. |
|
@item 2 |
@item 2 |
\JP @b{$BBe?tE*?t(B} |
\JP @b{$BBe?tE*?t(B} |
\EG @b{algebraic number} |
\EG @b{algebraic number} |
|
@* |
\JP @xref{$BBe?tE*?t$K4X$9$k1i;;(B}. |
\JP @xref{$BBe?tE*?t$K4X$9$k1i;;(B}. |
\EG @xref{Algebraic numbers}. |
\EG @xref{Algebraic numbers}. |
|
|
@item 3 |
@item 3 |
@b{bigfloat} |
@b{bigfloat} |
|
@* |
\BJP |
\BJP |
@b{bigfloat} $B$O(B, @b{Asir} $B$G$O(B @b{PARI} $B%i%$%V%i%j$K$h$j(B |
@b{bigfloat} $B$O(B, @b{Asir} $B$G$O(B @b{PARI} $B%i%$%V%i%j$K$h$j(B |
$B<B8=$5$l$F$$$k(B. @b{PARI} $B$K$*$$$F$O(B, @b{bigfloat} $B$O(B, $B2>?tIt(B |
$B<B8=$5$l$F$$$k(B. @b{PARI} $B$K$*$$$F$O(B, @b{bigfloat} $B$O(B, $B2>?tIt(B |
Line 458 The default precision is about 9 digits, which can be |
|
Line 477 The default precision is about 9 digits, which can be |
|
[2] setprec(100); |
[2] setprec(100); |
9 |
9 |
[3] eval(2^(1/2)); |
[3] eval(2^(1/2)); |
1.41421356237309504880168872420969807856967187537694807317654396116148 |
1.41421356237309504880168872420969807856967187537694807317... |
@end example |
@end example |
|
|
\BJP |
\BJP |
Line 474 not guarantee the accuracy of the result, |
|
Line 493 not guarantee the accuracy of the result, |
|
but it indicates the representation size of numbers with which internal |
but it indicates the representation size of numbers with which internal |
operations of @b{PARI} are performed. |
operations of @b{PARI} are performed. |
\E |
\E |
(@ref{eval}, @xref{pari}) |
(@xref{eval deval}, @ref{pari}.) |
|
|
@item 4 |
@item 4 |
\JP @b{$BJ#AG?t(B} |
\JP @b{$BJ#AG?t(B} |
\EG @b{complex number} |
\EG @b{complex number} |
|
@* |
\BJP |
\BJP |
$BJ#AG?t$O(B, $BM-M}?t(B, $BG\@:EYIbF0>.?t(B, @b{bigfloat} $B$r<BIt(B, $B5uIt$H$7$F(B |
$BJ#AG?t$O(B, $BM-M}?t(B, $BG\@:EYIbF0>.?t(B, @b{bigfloat} $B$r<BIt(B, $B5uIt$H$7$F(B |
@code{a+b*@@i} (@@i $B$O5u?tC10L(B) $B$H$7$FM?$($i$l$k?t$G$"$k(B. $B<BIt(B, $B5uIt$O(B |
@code{a+b*@@i} (@@i $B$O5u?tC10L(B) $B$H$7$FM?$($i$l$k?t$G$"$k(B. $B<BIt(B, $B5uIt$O(B |
Line 498 taken out by @code{real()} and @code{imag()} respectiv |
|
Line 517 taken out by @code{real()} and @code{imag()} respectiv |
|
@item 5 |
@item 5 |
\JP @b{$B>.I8?t$NM-8BAGBN$N85(B} |
\JP @b{$B>.I8?t$NM-8BAGBN$N85(B} |
\EG @b{element of a small finite prime field} |
\EG @b{element of a small finite prime field} |
|
@* |
\BJP |
\BJP |
$B$3$3$G8@$&>.I8?t$H$O(B, $BI8?t$,(B 2^27 $BL$K~$N$b$N$N$3$H$G$"$k(B. $B$3$N$h$&$JM-8B(B |
$B$3$3$G8@$&>.I8?t$H$O(B, $BI8?t$,(B 2^27 $BL$K~$N$b$N$N$3$H$G$"$k(B. $B$3$N$h$&$JM-8B(B |
$BBN$O(B, $B8=:_$N$H$3$m%0%l%V%J4pDl7W;;$K$*$$$FFbItE*$KMQ$$$i$l(B, $BM-8BBN78?t$N(B |
$BBN$O(B, $B8=:_$N$H$3$m%0%l%V%J4pDl7W;;$K$*$$$FFbItE*$KMQ$$$i$l(B, $BM-8BBN78?t$N(B |
Line 521 field operations are executed by using a prime @var{p} |
|
Line 540 field operations are executed by using a prime @var{p} |
|
@item 6 |
@item 6 |
\JP @b{$BBgI8?t$NM-8BAGBN$N85(B} |
\JP @b{$BBgI8?t$NM-8BAGBN$N85(B} |
\EG @b{element of large finite prime field} |
\EG @b{element of large finite prime field} |
|
@* |
\BJP |
\BJP |
$BI8?t$H$7$FG$0U$NAG?t$,$H$l$k(B. |
$BI8?t$H$7$FG$0U$NAG?t$,$H$l$k(B. |
$B$3$N7?$N?t$O(B, $B@0?t$KBP$7(B@code{simp_ff} $B$rE,MQ$9$k$3$H$K$h$jF@$i$l$k(B. |
$B$3$N7?$N?t$O(B, $B@0?t$KBP$7(B@code{simp_ff} $B$rE,MQ$9$k$3$H$K$h$jF@$i$l$k(B. |
Line 535 is an arbitrary prime. An object of this type is obtai |
|
Line 554 is an arbitrary prime. An object of this type is obtai |
|
@item 7 |
@item 7 |
\JP @b{$BI8?t(B 2 $B$NM-8BBN$N85(B} |
\JP @b{$BI8?t(B 2 $B$NM-8BBN$N85(B} |
\EG @b{element of a finite field of characteristic 2} |
\EG @b{element of a finite field of characteristic 2} |
|
@* |
\BJP |
\BJP |
$BI8?t(B 2 $B$NG$0U$NM-8BBN$N85$rI=8=$9$k(B. $BI8?t(B 2 $B$NM-8BBN(B F $B$O(B, $B3HBg<!?t(B |
$BI8?t(B 2 $B$NG$0U$NM-8BBN$N85$rI=8=$9$k(B. $BI8?t(B 2 $B$NM-8BBN(B F $B$O(B, $B3HBg<!?t(B |
[F:GF(2)] $B$r(B n $B$H$9$l$P(B, GF(2) $B>e4{Ls$J(B n $B<!B?9`<0(B f(t) $B$K$h$j(B |
[F:GF(2)] $B$r(B n $B$H$9$l$P(B, GF(2) $B>e4{Ls$J(B n $B<!B?9`<0(B f(t) $B$K$h$j(B |
Line 545 g mod f $B$O(B, g, f $B$r$"$i$o$9(B 2 $B$D$N%S%C |
|
Line 564 g mod f $B$O(B, g, f $B$r$"$i$o$9(B 2 $B$D$N%S%C |
|
\E |
\E |
\BEG |
\BEG |
This type expresses an element of a finite field of characteristic 2. |
This type expresses an element of a finite field of characteristic 2. |
Let @var{F} be a finite field of characteristic 2. If @var{[F:GF(2)]} |
Let @var{F} be a finite field of characteristic 2. If [F:GF(2)] |
is equal to @var{n}, then @var{F} is expressed as @var{F=GF(2)[t]/(f(t))}, |
is equal to @var{n}, then @var{F} is expressed as F=GF(2)[t]/(f(t)), |
where @var{f(t)} is an irreducible polynomial over @var{GF(2)} |
where f(t) is an irreducible polynomial over GF(2) |
of degree @var{n}. |
of degree @var{n}. |
As an element @var{g} of @var{GF(2)[t]} can be expressed by a bit string, |
As an element @var{g} of GF(2)[t] can be expressed by a bit string, |
An element @var{g mod f} in @var{F} can be expressed by two bit strings |
An element @var{g mod f} in @var{F} can be expressed by two bit strings |
representing @var{g} and @var{f} respectively. |
representing @var{g} and @var{f} respectively. |
\E |
\E |
Line 560 representing @var{g} and @var{f} respectively. |
|
Line 579 representing @var{g} and @var{f} respectively. |
|
@itemize @bullet |
@itemize @bullet |
@item |
@item |
@code{@@} |
@code{@@} |
|
@* |
\BJP |
\BJP |
@code{@@} $B$O$=$N8e$m$K?t;z(B, $BJ8;z$rH<$C$F(B, $B%R%9%H%j$dFC<l$J?t$r$"$i$o$9$,(B, |
@code{@@} $B$O$=$N8e$m$K?t;z(B, $BJ8;z$rH<$C$F(B, $B%R%9%H%j$dFC<l$J?t$r$"$i$o$9$,(B, |
$BC1FH$G8=$l$?>l9g$K$O(B, F=GF(2)[t]/(f(t)) $B$K$*$1$k(B t mod f $B$r$"$i$o$9(B. |
$BC1FH$G8=$l$?>l9g$K$O(B, F=GF(2)[t]/(f(t)) $B$K$*$1$k(B t mod f $B$r$"$i$o$9(B. |
$B$h$C$F(B, @@ $B$NB?9`<0$H$7$F(B F $B$N85$rF~NO$G$-$k(B. (@@^10+@@+1 $B$J$I(B) |
$B$h$C$F(B, @@ $B$NB?9`<0$H$7$F(B F $B$N85$rF~NO$G$-$k(B. (@@^10+@@+1 $B$J$I(B) |
\E |
\E |
\BEG |
\BEG |
@code{@@} represents @var{t mod f} in @var{F=GF(2)[t](f(t))}. |
@code{@@} represents @var{t mod f} in F=GF(2)[t](f(t)). |
By using @code{@@} one can input an element of @var{F}. For example |
By using @code{@@} one can input an element of @var{F}. For example |
@code{@@^10+@@+1} represents an element of @var{F}. |
@code{@@^10+@@+1} represents an element of @var{F}. |
\E |
\E |
|
|
@item |
@item |
@code{ptogf2n} |
@code{ptogf2n} |
|
@* |
\JP $BG$0UJQ?t$N(B 1 $BJQ?tB?9`<0$r(B, @code{ptogf2n} $B$K$h$jBP1~$9$k(B F $B$N85$KJQ49$9$k(B. |
\JP $BG$0UJQ?t$N(B 1 $BJQ?tB?9`<0$r(B, @code{ptogf2n} $B$K$h$jBP1~$9$k(B F $B$N85$KJQ49$9$k(B. |
\BEG |
\BEG |
@code{ptogf2n} converts a univariate polynomial into an element of @var{F}. |
@code{ptogf2n} converts a univariate polynomial into an element of @var{F}. |
Line 582 } one can input an element of @var{F} |
|
Line 601 } one can input an element of @var{F} |
|
|
|
@item |
@item |
@code{ntogf2n} |
@code{ntogf2n} |
|
@* |
\BJP |
\BJP |
$BG$0U$N<+A3?t$r(B, $B<+A3$J;EJ}$G(B F $B$N85$H$_$J$9(B. $B<+A3?t$H$7$F$O(B, 10 $B?J(B, |
$BG$0U$N<+A3?t$r(B, $B<+A3$J;EJ}$G(B F $B$N85$H$_$J$9(B. $B<+A3?t$H$7$F$O(B, 10 $B?J(B, |
16 $B?J(B (0x $B$G;O$^$k(B), 2 $B?J(B (0b $B$G;O$^$k(B) $B$GF~NO$,2DG=$G$"$k(B. |
16 $B?J(B (0x $B$G;O$^$k(B), 2 $B?J(B (0b $B$G;O$^$k(B) $B$GF~NO$,2DG=$G$"$k(B. |
Line 596 hexadecimal (@code{0x} prefix) and binary (@code{0b} p |
|
Line 615 hexadecimal (@code{0x} prefix) and binary (@code{0b} p |
|
@item |
@item |
\JP @code{$B$=$NB>(B} |
\JP @code{$B$=$NB>(B} |
\EG @code{micellaneous} |
\EG @code{micellaneous} |
|
@* |
\BJP |
\BJP |
$BB?9`<0$N78?t$r4]$4$H(B F $B$N85$KJQ49$9$k$h$&$J>l9g(B, @code{simp_ff} |
$BB?9`<0$N78?t$r4]$4$H(B F $B$N85$KJQ49$9$k$h$&$J>l9g(B, @code{simp_ff} |
$B$K$h$jJQ49$G$-$k(B. |
$B$K$h$jJQ49$G$-$k(B. |
Line 607 coefficients of a polynomial. |
|
Line 626 coefficients of a polynomial. |
|
\E |
\E |
|
|
@end itemize |
@end itemize |
|
|
|
|
|
@item 8 |
|
\JP @b{$B0L?t(B @var{p^n} $B$NM-8BBN$N85(B} |
|
\EG @b{element of a finite field of characteristic @var{p^n}} |
|
|
|
\BJP |
|
$B0L?t$,(B @var{p^n} (@var{p} $B$OG$0U$NAG?t(B, @var{n} $B$O@5@0?t(B) $B$O(B, |
|
$BI8?t(B @var{p} $B$*$h$S(B GF(@var{p}) $B>e4{Ls$J(B @var{n} $B<!B?9`<0(B m(x) |
|
$B$r(B @code{setmod_ff} $B$K$h$j;XDj$9$k$3$H$K$h$j@_Dj$9$k(B. |
|
$B$3$NBN$N85$O(B m(x) $B$rK!$H$9$k(B GF(@var{p}) $B>e$NB?9`<0$H$7$F(B |
|
$BI=8=$5$l$k(B. |
|
\E |
|
\BEG |
|
A finite field of order @var{p^n}, where @var{p} is an arbitrary prime |
|
and @var{n} is a positive integer, is set by @code{setmod_ff} |
|
by specifying its characteristic @var{p} and an irreducible polynomial |
|
of degree @var{n} over GF(@var{p}). An element of this field |
|
is represented by a polynomial over GF(@var{p}) modulo m(x). |
|
\E |
|
|
|
@item 9 |
|
\JP @b{$B0L?t(B @var{p^n} $B$NM-8BBN$N85(B ($B>.0L?t(B)} |
|
\EG @b{element of a finite field of characteristic @var{p^n} (small order)} |
|
|
|
\BJP |
|
$B0L?t$,(B @var{p^n} $B$NM-8BBN(B (@var{p^n} $B$,(B @var{2^29} $B0J2<(B, @var{p} $B$,(B @var{2^14} $B0J>e(B |
|
$B$J$i(B @var{n} $B$O(B 1) $B$O(B, |
|
$BI8?t(B @var{p} $B$*$h$S3HBg<!?t(B @var{n} |
|
$B$r(B @code{setmod_ff} $B$K$h$j;XDj$9$k$3$H$K$h$j@_Dj$9$k(B. |
|
$B$3$NBN$N(B 0 $B$G$J$$85$O(B, @var{p} $B$,(B @var{2^14} $BL$K~$N>l9g(B, |
|
GF(@var{p^n}) $B$N>hK!72$N@8@.85$r8GDj$9$k$3$H(B |
|
$B$K$h$j(B, $B$3$N85$N$Y$-$H$7$FI=$5$l$k(B. $B$3$l$K$h$j(B, $B$3$NBN$N(B 0 $B$G$J$$85(B |
|
$B$O(B, $B$3$N$Y$-;X?t$H$7$FI=8=$5$l$k(B. @var{p} $B$,(B @var{2^14} $B0J>e(B |
|
$B$N>l9g$ODL>o$N>jM>$K$h$kI=8=$H$J$k$,(B, $B6&DL$N%W%m%0%i%`$G(B |
|
$BAPJ}$N>l9g$r07$($k$h$&$K$3$N$h$&$J;EMM$H$J$C$F$$$k(B. |
|
|
|
\E |
|
\BEG |
|
A finite field of order @var{p^n}, where @var{p^n} must be less than |
|
@var{2^29} and @var{n} must be equal to 1 if @var{p} is greater or |
|
equal to @var{2^14}, |
|
is set by @code{setmod_ff} |
|
by specifying its characteristic @var{p} the extension degree |
|
@var{n}. If @var{p} is less than @var{2^14}, each non-zero element |
|
of this field |
|
is a power of a fixed element, which is a generator of the multiplicative |
|
group of the field, and it is represented by its exponent. |
|
Otherwise, each element is represented by the redue modulo @var{p}. |
|
This specification is useful for treating both cases in a single |
|
program. |
|
\E |
|
|
|
@item 10 |
|
\JP @b{$B0L?t(B @var{p^n} $B$N>.0L?tM-8BBN$NBe?t3HBg$N85(B} |
|
\EG @b{element of a finite field which is an algebraic extension of a small finite field of characteristic @var{p^n}} |
|
|
|
\BJP |
|
$BA09`$N(B, $B0L?t$,(B @var{p^n} $B$N>.0L?tM-8BBN$N(B @var{m} $B<!3HBg$N85$G$"$k(B. |
|
$BI8?t(B @var{p} $B$*$h$S3HBg<!?t(B @var{n}, @var{m} |
|
$B$r(B @code{setmod_ff} $B$K$h$j;XDj$9$k$3$H$K$h$j@_Dj$9$k(B. $B4pACBN>e$N(B @var{m} |
|
$B<!4{LsB?9`<0$,<+F0@8@.$5$l(B, $B$=$NBe?t3HBg$N@8@.85$NDj5AB?9`<0$H$7$FMQ$$$i$l$k(B. |
|
$B@8@.85$O(B @code{@@s} $B$G$"$k(B. |
|
|
|
\E |
|
\BEG |
|
An extension field @var{K} of the small finite field @var{F} of order @var{p^n} |
|
is set by @code{setmod_ff} |
|
by specifying its characteristic @var{p} the extension degree |
|
@var{n} and @var{m}=[@var{K}:@var{F}]. An irreducible polynomial of degree @var{m} |
|
over @var{K} is automatically generated and used as the defining polynomial of |
|
the generator of the extension @var{K/F}. The generator is denoted by @code{@@s}. |
|
\E |
|
|
|
@item 11 |
|
\JP @b{$BJ,;6I=8=$NBe?tE*?t(B} |
|
\EG @b{algebraic number represented by a distributed polynomial} |
|
@* |
|
\JP @xref{$BBe?tE*?t$K4X$9$k1i;;(B}. |
|
\EG @xref{Algebraic numbers}. |
|
|
|
\BJP |
|
|
|
\E |
|
\BEG |
|
\E |
@end table |
@end table |
|
|
\BJP |
\BJP |
$BBgI8?tAGBN$NI8?t(B, $BI8?t(B 2 $B$NM-8BBN$NDj5AB?9`<0$O(B, @code{setmod_ff} |
$B>.I8?tM-8BAGBN0J30$NM-8BBN$O(B @code{setmod_ff} $B$G@_Dj$9$k(B. |
$B$G@_Dj$9$k(B. |
$BM-8BBN$N85$I$&$7$N1i;;$G$O(B, |
$BM-8BBN$N85$I$&$7$N1i;;$G$O(B, @code{setmod_ff} $B$K$h$j@_Dj$5$l$F$$$k(B |
|
modulus $B$G(B, $BB0$9$kBN$,J,$+$j(B, $B$=$NCf$G1i;;$,9T$o$l$k(B. |
|
$B0lJ}$,M-M}?t$N>l9g$K$O(B, $B$=$NM-M}?t$O<+F0E*$K8=:_@_Dj$5$l$F$$$k(B |
$B0lJ}$,M-M}?t$N>l9g$K$O(B, $B$=$NM-M}?t$O<+F0E*$K8=:_@_Dj$5$l$F$$$k(B |
$BM-8BBN$N85$KJQ49$5$l(B, $B1i;;$,9T$o$l$k(B. |
$BM-8BBN$N85$KJQ49$5$l(B, $B1i;;$,9T$o$l$k(B. |
\E |
\E |
\BEG |
\BEG |
The characteristic of a large finite prime field and the defining |
Finite fields other than small finite prime fields are |
polynomial of a finite field of characteristic 2 are set by @code{setmod_ff}. |
set by @code{setmod_ff}. |
Elements of finite fields do not have informations about the modulus. |
Elements of finite fields do not have informations about the modulus. |
Upon an arithmetic operation, the modulus set by @code{setmod_ff} is |
Upon an arithmetic operation, i |
used. If one of the operands is a rational number, it is automatically |
f one of the operands is a rational number, it is automatically |
converted into an element of the finite field currently set and |
converted into an element of the finite field currently set and |
the operation is done in the finite field. |
the operation is done in the finite field. |
\E |
\E |
Line 660 and further are classified into sub-types of the type |
|
Line 763 and further are classified into sub-types of the type |
|
@item 0 |
@item 0 |
\JP @b{$B0lHLITDj85(B} |
\JP @b{$B0lHLITDj85(B} |
\EG @b{ordinary indeterminate} |
\EG @b{ordinary indeterminate} |
|
@* |
\JP $B1Q>.J8;z$G;O$^$kJ8;zNs(B. $BB?9`<0$NJQ?t$H$7$F:G$bIaDL$KMQ$$$i$l$k(B. |
\JP $B1Q>.J8;z$G;O$^$kJ8;zNs(B. $BB?9`<0$NJQ?t$H$7$F:G$bIaDL$KMQ$$$i$l$k(B. |
\BEG |
\BEG |
An object of this sub-type is denoted by a string that start with |
An object of this sub-type is denoted by a string that start with |
|
|
@item 1 |
@item 1 |
\JP @b{$BL$Dj78?t(B} |
\JP @b{$BL$Dj78?t(B} |
\EG @b{undetermined coefficient} |
\EG @b{undetermined coefficient} |
|
@* |
\BJP |
\BJP |
@code{uc()} $B$O(B, @samp{_} $B$G;O$^$kJ8;zNs$rL>A0$H$9$kITDj85$r@8@.$9$k(B. |
@code{uc()} $B$O(B, @samp{_} $B$G;O$^$kJ8;zNs$rL>A0$H$9$kITDj85$r@8@.$9$k(B. |
$B$3$l$i$O(B, $B%f!<%6$,F~NO$G$-$J$$$H$$$&$@$1$G(B, $B0lHLITDj85$HJQ$o$i$J$$$,(B, |
$B$3$l$i$O(B, $B%f!<%6$,F~NO$G$-$J$$$H$$$&$@$1$G(B, $B0lHLITDj85$HJQ$o$i$J$$$,(B, |
|
|
@item 2 |
@item 2 |
\JP @b{$BH!?t7A<0(B} |
\JP @b{$BH!?t7A<0(B} |
\EG @b{function form} |
\EG @b{function form} |
|
@* |
\BJP |
\BJP |
$BAH$_9~$_H!?t(B, $B%f!<%6H!?t$N8F$S=P$7$O(B, $BI>2A$5$l$F2?$i$+$N(B @b{Asir} $B$N(B |
$BAH$_9~$_H!?t(B, $B%f!<%6H!?t$N8F$S=P$7$O(B, $BI>2A$5$l$F2?$i$+$N(B @b{Asir} $B$N(B |
$BFbIt7A<0$KJQ49$5$l$k$,(B, @code{sin(x)}, @code{cos(x+1)} $B$J$I$O(B, $BI>2A8e(B |
$BFbIt7A<0$KJQ49$5$l$k$,(B, @code{sin(x)}, @code{cos(x+1)} $B$J$I$O(B, $BI>2A8e(B |
|
|
@item 3 |
@item 3 |
\JP @b{$BH!?t;R(B} |
\JP @b{$BH!?t;R(B} |
\EG @b{functor} |
\EG @b{functor} |
|
@* |
\BJP |
\BJP |
$BH!?t8F$S=P$7$O(B, @var{fname(args)} $B$H$$$&7A$G9T$J$o$l$k$,(B, @var{fname} $B$N(B |
$BH!?t8F$S=P$7$O(B, @var{fname}(@var{args}) $B$H$$$&7A$G9T$J$o$l$k$,(B, @var{fname} $B$N(B |
$BItJ,$rH!?t;R$H8F$V(B. $BH!?t;R$K$O(B, $BH!?t$N<oN`$K$h$jAH$_9~$_H!?t;R(B, |
$BItJ,$rH!?t;R$H8F$V(B. $BH!?t;R$K$O(B, $BH!?t$N<oN`$K$h$jAH$_9~$_H!?t;R(B, |
$B%f!<%6Dj5AH!?t;R(B, $B=iEyH!?t;R$J$I$,$"$k$,(B, $BH!?t;R$OC1FH$GITDj85$H$7$F(B |
$B%f!<%6Dj5AH!?t;R(B, $B=iEyH!?t;R$J$I$,$"$k$,(B, $BH!?t;R$OC1FH$GITDj85$H$7$F(B |
$B5!G=$9$k(B. |
$B5!G=$9$k(B. |
\E |
\E |
\BEG |
\BEG |
A function call (or a function form) has a form @var{fname(args)}. |
A function call (or a function form) has a form @var{fname}(@var{args}). |
Here, @var{fname} alone is called a @b{functor}. |
Here, @var{fname} alone is called a @b{functor}. |
There are several kinds of @b{functor}s: built-in functor, user defined |
There are several kinds of @b{functor}s: built-in functor, user defined |
functor and functor for the elementary functions. A functor alone is |
functor and functor for the elementary functions. A functor alone is |