[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.10 and 1.14

version 1.10, 2003/04/19 10:36:30 version 1.14, 2016/03/22 07:25:14
Line 1 
Line 1 
 @comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.9 2002/09/03 01:50:58 noro Exp $  @comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.13 2007/02/15 02:41:38 noro Exp $
 \BJP  \BJP
 @node $B7?(B,,, Top  @node $B7?(B,,, Top
 @chapter $B7?(B  @chapter $B7?(B
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 355  This is used for basis conversion in finite fields of 
Line 356  This is used for basis conversion in finite fields of 
 \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(p)}  @item 15 @b{matrix over GF(@var{p})}
 @*  @*
 \JP $B>.I8?tM-8BBN>e$N9TNs(B.  \JP $B>.I8?tM-8BBN>e$N9TNs(B.
 \EG A matrix over a small finite field.  \EG A matrix over a small finite field.
Line 450  result shall be computed as a double float number.
Line 451  result shall be computed as a double float number.
 @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{MPFR} $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{MPFR} $B$K$*$$$F$O(B, @b{bigfloat} $B$O(B, $B2>?tIt(B
 $B$N$_G$0UB?G\D9$G(B, $B;X?tIt$O(B 1 $B%o!<%I0JFb$N@0?t$K8B$i$l$F$$$k(B.  $B$N$_G$0UB?G\D9$G(B, $B;X?tIt$O(B 64bit $B@0?t$G$"$k(B.
 @code{ctrl()} $B$G(B @b{bigfloat} $B$rA*Br$9$k$3$H$K$h$j(B, $B0J8e$NIbF0>.?t(B  @code{ctrl()} $B$G(B @b{bigfloat} $B$rA*Br$9$k$3$H$K$h$j(B, $B0J8e$NIbF0>.?t(B
 $B$NF~NO$O(B @b{bigfloat} $B$H$7$F07$o$l$k(B. $B@:EY$O%G%U%)%k%H$G$O(B  $B$NF~NO$O(B @b{bigfloat} $B$H$7$F07$o$l$k(B. $B@:EY$O%G%U%)%k%H$G$O(B
 10 $B?J(B 9 $B7eDxEY$G$"$k$,(B, @code{setprec()} $B$K$h$j;XDj2DG=$G$"$k(B.  10 $B?J(B 9 $B7eDxEY$G$"$k$,(B, @code{setprec()}, @code{setbprec()} $B$K$h$j;XDj2DG=$G$"$k(B.
 \E  \E
 \BEG  \BEG
 The @b{bigfloat} numbers of @b{Asir} is realized by @b{PARI} library.  The @b{bigfloat} numbers of @b{Asir} is realized by @b{MPFR} library.
 A @b{bigfloat} number of @b{PARI} has an arbitrary precision mantissa  A @b{bigfloat} number of @b{MPFR} has an arbitrary precision mantissa
 part.  However, its exponent part admits only an integer with a single  part.  However, its exponent part admits only a 64bit integer.
 word precision.  
 Floating point operations will be performed all in @b{bigfloat} after  Floating point operations will be performed all in @b{bigfloat} after
 activating the @b{bigfloat} switch by @code{ctrl()} command.  activating the @b{bigfloat} switch by @code{ctrl()} command.
 The default precision is about 9 digits, which can be specified by  The default precision is 53 bits (about 15 digits), which can be specified by
 @code{setprec()} command.  @code{setbprec()} and @code{setprec()} command.
 \E  \E
   
 @example  @example
 [0] ctrl("bigfloat",1);  [0] ctrl("bigfloat",1);
 1  1
 [1] eval(2^(1/2));  [1] eval(2^(1/2));
 1.414213562373095048763788073031  1.4142135623731
 [2] setprec(100);  [2] setprec(100);
 9  15
 [3] eval(2^(1/2));  [3] eval(2^(1/2));
 1.41421356237309504880168872420969807856967187537694807317654396116148  1.41421356237309504880168872420969807856967187537694...764157
   [4] setbprec(100);
   332
   [5] 1.41421356237309504880168872421
 @end example  @end example
   
 \BJP  \BJP
 @code{eval()} $B$O(B, $B0z?t$K4^$^$l$kH!?tCM$r2DG=$J8B$j?tCM2=$9$kH!?t$G$"$k(B.  @code{eval()} $B$O(B, $B0z?t$K4^$^$l$kH!?tCM$r2DG=$J8B$j?tCM2=$9$kH!?t$G$"$k(B.
 @code{setprec()} $B$G;XDj$5$l$?7e?t$O(B, $B7k2L$N@:EY$rJ]>Z$9$k$b$N$G$O$J$/(B,  @code{setbprec()} $B$G;XDj$5$l$?(B2 $B?J7e?t$O(B, $B4]$a%b!<%I$K1~$8$?7k2L$N@:EY$rJ]>Z$9$k(B. @code{setprec()} $B$G;XDj$5$l$k(B10$B?J7e?t$O(B 2 $B?J7e?t$KJQ49$5$l$F@_Dj$5$l$k(B.
 @b{PARI} $BFbIt$GMQ$$$i$l$kI=8=$N%5%$%:$r<($9$3$H$KCm0U$9$Y$-$G$"$k(B.  
 \E  \E
 \BEG  \BEG
 Function @code{eval()} evaluates numerically its argument as far as  Function @code{eval()} evaluates numerically its argument as far as
 possible.  possible.
 Notice that the integer given for the argument of @code{setprec()} does  Notice that the integer given for the argument of @code{setbprec()}
 not guarantee the accuracy of the result,  guarantees the accuracy of the result according to the current rounding mode.
 but it indicates the representation size of numbers with which internal  The argument of @code{setbprec()} is converted to the corresonding bit length
 operations of @b{PARI} are performed.  and set.
 \E  \E
 (@xref{eval deval}, @ref{pari}.)  (@xref{eval deval}.)
   
 @item 4  @item 4
 \JP @b{$BJ#AG?t(B}  \JP @b{$BJ#AG?t(B}
Line 563  g mod f $B$O(B, g, f  $B$r$"$i$o$9(B 2 $B$D$N%S%C
Line 566  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 585  representing @var{g} and @var{f} respectively.
Line 588  representing @var{g} and @var{f} respectively.
 $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
Line 633  coefficients of a polynomial.
Line 636  coefficients of a polynomial.
   
 \BJP  \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,  $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 @var{GF(p)} $B>e4{Ls$J(B @var{n} $B<!B?9`<0(B @var{m(x)}  $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$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 @var{m(x)} $B$rK!$H$9$k(B @var{GF(p)} $B>e$NB?9`<0$H$7$F(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.  $BI=8=$5$l$k(B.
 \E  \E
 \BEG  \BEG
 A finite field of order @var{p^n}, where @var{p} is an arbitrary prime  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}  and @var{n} is a positive integer, is set by @code{setmod_ff}
 by specifying its characteristic @var{p} and an irreducible polynomial  by specifying its characteristic @var{p} and an irreducible polynomial
 of degree @var{n} over @var{GF(p)}. An element of this field  of degree @var{n} over GF(@var{p}). An element of this field
 is represented by a polynomial over @var{GF(p)} modulo @var{m(x)}.  is represented by a polynomial over GF(@var{p}) modulo m(x).
 \E  \E
   
 @item 9  @item 9
Line 656  is represented by a polynomial over @var{GF(p)} modulo
Line 659  is represented by a polynomial over @var{GF(p)} modulo
 $BI8?t(B @var{p} $B$*$h$S3HBg<!?t(B @var{n}  $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$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,  $B$3$NBN$N(B 0 $B$G$J$$85$O(B, @var{p} $B$,(B @var{2^14} $BL$K~$N>l9g(B,
 @var{GF(p^n)} $B$N>hK!72$N@8@.85$r8GDj$9$k$3$H(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$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$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  $B$N>l9g$ODL>o$N>jM>$K$h$kI=8=$H$J$k$,(B, $B6&DL$N%W%m%0%i%`$G(B
Line 666  is represented by a polynomial over @var{GF(p)} modulo
Line 669  is represented by a polynomial over @var{GF(p)} modulo
 \BEG  \BEG
 A finite field of order @var{p^n}, where @var{p^n} must be less than  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  @var{2^29} and @var{n} must be equal to 1 if @var{p} is greater or
 equal to @var{2^14}@,  equal to @var{2^14},
 is set by @code{setmod_ff}  is set by @code{setmod_ff}
 by specifying its characteristic @var{p} the extension degree  by specifying its characteristic @var{p} the extension degree
 @var{n}. If @var{p} is less than @var{2^14}, each non-zero element  @var{n}. If @var{p} is less than @var{2^14}, each non-zero element
Line 678  This specification is useful for treating both cases i
Line 681  This specification is useful for treating both cases i
 program.  program.
 \E  \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
Line 808  sin(x)
Line 844  sin(x)
 \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.10  
changed lines
  Added in v.1.14

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