[BACK]Return to type.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts

Diff for /OpenXM/src/asir-doc/parts/type.texi between version 1.4 and 1.12

version 1.4, 2000/01/20 03:00:34 version 1.12, 2003/04/20 08:01:27
Line 1 
Line 1 
 @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.11 2003/04/19 15:44:57 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 ] ]
Line 289  afotake
Line 290  afotake
 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.
Line 384  lowest terms.
Line 403  lowest terms.
 @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
   
 @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 730  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
Line 678  polynomials.
Line 748  polynomials.
 @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,
Line 705  _0
Line 775  _0
 @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
Line 737  sin(x)
Line 807  sin(x)
 @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

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.12

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>