=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/parts/type.texi,v retrieving revision 1.12 retrieving revision 1.15 diff -u -p -r1.12 -r1.15 --- OpenXM/src/asir-doc/parts/type.texi 2003/04/20 08:01:27 1.12 +++ OpenXM/src/asir-doc/parts/type.texi 2019/09/13 09:31:00 1.15 @@ -1,4 +1,4 @@ -@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.11 2003/04/19 15:44:57 noro Exp $ +@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.14 2016/03/22 07:25:14 noro Exp $ \BJP @node 型,,, Top @chapter 型 @@ -366,6 +366,24 @@ This is used for basis conversion in finite fields of \JP 符号なし byte の配列 \EG An array of unsigned bytes. +\JP @item 26 @b{分散表現加群多項式} +\EG @item 26 @b{distributed module polynomial} + +@example +2*<<0,1,2,3:1>>-3*<<1,2,3,4:2>> +@end example + +\BJP +これは, 多項式環上の自由加群の元を, 加群単項式の和として内部表現したものである. +ここで, 加群単項式とは単項式と加群の標準基底の積である. +これについては @xref{グレブナ基底の計算}. +\E +\BEG +This represents an element in a free module over a polynomial ring +as a linear sum of module monomials, where a module monomial is +the product of a monomial in the polynomial ring and a standard base of the free module. +For details @xref{Groebner basis computation}. +\E \JP @item -1 @b{VOID オブジェクト} \EG @item -1 @b{VOID object} @* @@ -451,49 +469,51 @@ result shall be computed as a double float number. @b{bigfloat} @* \BJP -@b{bigfloat} は, @b{Asir} では @b{PARI} ライブラリにより -実現されている. @b{PARI} においては, @b{bigfloat} は, 仮数部 -のみ任意多倍長で, 指数部は 1 ワード以内の整数に限られている. +@b{bigfloat} は, @b{Asir} では @b{MPFR} ライブラリにより +実現されている. @b{MPFR} においては, @b{bigfloat} は, 仮数部 +のみ任意多倍長で, 指数部は 64bit 整数である. @code{ctrl()} で @b{bigfloat} を選択することにより, 以後の浮動小数 の入力は @b{bigfloat} として扱われる. 精度はデフォルトでは -10 進 9 桁程度であるが, @code{setprec()} により指定可能である. +10 進 9 桁程度であるが, @code{setprec()}, @code{setbprec()} により指定可能である. \E \BEG -The @b{bigfloat} numbers of @b{Asir} is realized by @b{PARI} library. -A @b{bigfloat} number of @b{PARI} has an arbitrary precision mantissa -part. However, its exponent part admits only an integer with a single -word precision. +The @b{bigfloat} numbers of @b{Asir} is realized by @b{MPFR} library. +A @b{bigfloat} number of @b{MPFR} has an arbitrary precision mantissa +part. However, its exponent part admits only a 64bit integer. Floating point operations will be performed all in @b{bigfloat} after activating the @b{bigfloat} switch by @code{ctrl()} command. -The default precision is about 9 digits, which can be specified by -@code{setprec()} command. +The default precision is 53 bits (about 15 digits), which can be specified by +@code{setbprec()} and @code{setprec()} command. \E @example [0] ctrl("bigfloat",1); 1 [1] eval(2^(1/2)); -1.414213562373095048763788073031 +1.4142135623731 [2] setprec(100); -9 +15 [3] eval(2^(1/2)); -1.41421356237309504880168872420969807856967187537694807317... +1.41421356237309504880168872420969807856967187537694...764157 +[4] setbprec(100); +332 +[5] 1.41421356237309504880168872421 @end example \BJP @code{eval()} は, 引数に含まれる函数値を可能な限り数値化する函数である. -@code{setprec()} で指定された桁数は, 結果の精度を保証するものではなく, -@b{PARI} 内部で用いられる表現のサイズを示すことに注意すべきである. +@code{setbprec()} で指定された2 進桁数は, 丸めモードに応じた結果の精度を保証する. @code{setprec()} で指定される10進桁数は 2 進桁数に変換されて設定される. + \E \BEG Function @code{eval()} evaluates numerically its argument as far as possible. -Notice that the integer given for the argument of @code{setprec()} does -not guarantee the accuracy of the result, -but it indicates the representation size of numbers with which internal -operations of @b{PARI} are performed. +Notice that the integer given for the argument of @code{setbprec()} +guarantees the accuracy of the result according to the current rounding mode. +The argument of @code{setbprec()} is converted to the corresonding bit length +and set. \E -(@xref{eval deval}, @ref{pari}.) +(@xref{eval deval}.) @item 4 \JP @b{複素数} @@ -667,7 +687,7 @@ GF(@var{p^n}) の乗法群の生成元を固定すること \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}@, +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 @@ -679,6 +699,39 @@ This specification is useful for treating both cases i program. \E +@item 10 +\JP @b{位数 @var{p^n} の小位数有限体の代数拡大の元} +\EG @b{element of a finite field which is an algebraic extension of a small finite field of characteristic @var{p^n}} + +\BJP +前項の, 位数が @var{p^n} の小位数有限体の @var{m} 次拡大の元である. +標数 @var{p} および拡大次数 @var{n}, @var{m} +を @code{setmod_ff} により指定することにより設定する. 基礎体上の @var{m} +次既約多項式が自動生成され, その代数拡大の生成元の定義多項式として用いられる. +生成元は @code{@@s} である. + +\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{分散表現の代数的数} +\EG @b{algebraic number represented by a distributed polynomial} +@* +\JP @xref{代数的数に関する演算}. +\EG @xref{Algebraic numbers}. + +\BJP + +\E +\BEG +\E @end table \BJP