=================================================================== RCS file: /home/cvs/OpenXM/src/asir-doc/parts/type.texi,v retrieving revision 1.3 retrieving revision 1.9 diff -u -p -r1.3 -r1.9 --- OpenXM/src/asir-doc/parts/type.texi 1999/12/21 02:47:32 1.3 +++ OpenXM/src/asir-doc/parts/type.texi 2002/09/03 01:50:58 1.9 @@ -1,4 +1,4 @@ -@comment $OpenXM$ +@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.8 2001/03/12 05:01:18 noro Exp $ \BJP @node 型,,, Top @chapter 型 @@ -52,7 +52,7 @@ Each example shows possible forms of inputs for @b{Asi @table @code @item 0 @b{0} - +@* \BJP 実際には 0 を識別子にもつ対象は存在しない. 0 は, C における 0 ポインタに より表現されている. しかし, 便宜上 @b{Asir} の @code{type(0)} は @@ -83,14 +83,14 @@ x afo (2.3*x+y)^10 \BJP 多項式は, 全て展開され, その時点における変数順序に従って, 再帰的に -1 変数多項式として降冪の順に整理される (@xref{分散表現多項式}). +1 変数多項式として降冪の順に整理される. (@xref{分散表現多項式}.) この時, その多項式に現れる順序最大の変数を @b{主変数} と呼ぶ. \E \BEG Every polynomial is maintained internally in its full expanded form, represented as a nested univariate polynomial, according to the current variable ordering, arranged by the descending order of exponents. -(@xref{Distributed polynomial}). +(@xref{Distributed polynomial}.) In the representation, the indeterminate (or variable), appearing in the polynomial, with maximum ordering is called the @b{main variable}. Moreover, we call the coefficient of the maximum degree term of @@ -207,7 +207,8 @@ on the whole value of that vector. [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); [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]; [ [ 0 0 0 ] [ 0 0 0 ] [ 0 0 0 ] ] [5] A3[0][0]; @@ -288,10 +289,18 @@ afotake newstruct(afo) @end example -\JP 構造体に関しては, 章を改めて解説する予定である. -\EG For type @b{structure}, we shall describe it in a later chapter. -(Not written yet.) +\BJP +Asir における構造体は, C における構造体を簡易化したものである. +固定長配列の各成分を名前でアクセスできるオブジェクトで, +構造体定義毎に名前をつける. +\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{分散表現多項式} \EG @item 9 @b{distributed polynomial} @@ -320,13 +329,13 @@ For details @xref{Groebner basis computation}. \JP @item 11 @b{エラーオブジェクト} \EG @item 11 @b{error object} - +@* \JP 以上二つは, Open XM において用いられる特殊オブジェクトである. \EG These are special objects used for OpenXM. \JP @item 12 @b{GF(2) 上の行列} \EG @item 12 @b{matrix over GF(2)} - +@* \BJP 現在, 標数 2 の有限体における基底変換のためのオブジェクトとして用いられ る. @@ -337,18 +346,28 @@ This is used for basis conversion in finite fields of \JP @item 13 @b{MATHCAP オブジェクト} \EG @item 13 @b{MATHCAP object} - +@* \JP Open XM において, 実装されている機能を送受信するためのオブジェクトである. \EG This object is used to express available funcionalities for Open XM. @item 14 @b{first order formula} - +@* \JP quantifier elimination で用いられる一階述語論理式. \EG This expresses a first order formula used in quantifier elimination. +@item 15 @b{matrix over GF(p)} +@* +\JP 小標数有限体上の行列. +\EG A matrix over a small finite field. + +@item 16 @b{byte array} +@* +\JP 符号なし byte の配列 +\EG An array of unsigned bytes. + \JP @item -1 @b{VOID オブジェクト} \EG @item -1 @b{VOID object} - +@* \JP 型識別子 -1 をもつオブジェクトは関数の戻り値などが無効であることを示す. \BEG The object with the object identifier -1 indicates that a return value @@ -369,7 +388,7 @@ of a function is void. @item 0 \JP @b{有理数} \EG @b{rational number} - +@* \BJP 有理数は, 任意多倍長整数 (@b{bignum}) により実現されている. 有理数は常に 既約分数で表現される. @@ -383,7 +402,7 @@ lowest terms. @item 1 \JP @b{倍精度浮動小数} \EG @b{double precision floating point number (double float)} - +@* \BJP マシンの提供する倍精度浮動小数である. @b{Asir} の起動時には, 通常の形式で入力された浮動小数はこの型に変換される. ただし, @@ -423,13 +442,13 @@ result shall be computed as a double float number. @item 2 \JP @b{代数的数} \EG @b{algebraic number} - +@* \JP @xref{代数的数に関する演算}. \EG @xref{Algebraic numbers}. @item 3 @b{bigfloat} - +@* \BJP @b{bigfloat} は, @b{Asir} では @b{PARI} ライブラリにより 実現されている. @b{PARI} においては, @b{bigfloat} は, 仮数部 @@ -473,12 +492,12 @@ not guarantee the accuracy of the result, but it indicates the representation size of numbers with which internal operations of @b{PARI} are performed. \E -(@ref{eval}, @xref{pari}) +(@xref{eval deval}, @ref{pari}.) @item 4 \JP @b{複素数} \EG @b{complex number} - +@* \BJP 複素数は, 有理数, 倍精度浮動小数, @b{bigfloat} を実部, 虚部として @code{a+b*@@i} (@@i は虚数単位) として与えられる数である. 実部, 虚部は @@ -497,7 +516,7 @@ taken out by @code{real()} and @code{imag()} respectiv @item 5 \JP @b{小標数の有限素体の元} \EG @b{element of a small finite prime field} - +@* \BJP ここで言う小標数とは, 標数が 2^27 未満のもののことである. このような有限 体は, 現在のところグレブナ基底計算において内部的に用いられ, 有限体係数の @@ -520,7 +539,7 @@ field operations are executed by using a prime @var{p} @item 6 \JP @b{大標数の有限素体の元} \EG @b{element of large finite prime field} - +@* \BJP 標数として任意の素数がとれる. この型の数は, 整数に対し@code{simp_ff} を適用することにより得られる. @@ -534,7 +553,7 @@ is an arbitrary prime. An object of this type is obtai @item 7 \JP @b{標数 2 の有限体の元} \EG @b{element of a finite field of characteristic 2} - +@* \BJP 標数 2 の任意の有限体の元を表現する. 標数 2 の有限体 F は, 拡大次数 [F:GF(2)] を n とすれば, GF(2) 上既約な n 次多項式 f(t) により @@ -559,7 +578,7 @@ representing @var{g} and @var{f} respectively. @itemize @bullet @item @code{@@} - +@* \BJP @code{@@} はその後ろに数字, 文字を伴って, ヒストリや特殊な数をあらわすが, 単独で現れた場合には, F=GF(2)[t]/(f(t)) における t mod f をあらわす. @@ -573,7 +592,7 @@ By using @code{@@} one can input an element of @var{F} @item @code{ptogf2n} - +@* \JP 任意変数の 1 変数多項式を, @code{ptogf2n} により対応する F の元に変換する. \BEG @code{ptogf2n} converts a univariate polynomial into an element of @var{F}. @@ -581,7 +600,7 @@ By using @code{@@} one can input an element of @var{F} @item @code{ntogf2n} - +@* \BJP 任意の自然数を, 自然な仕方で F の元とみなす. 自然数としては, 10 進, 16 進 (0x で始まる), 2 進 (0b で始まる) で入力が可能である. @@ -595,7 +614,7 @@ hexadecimal (@code{0x} prefix) and binary (@code{0b} p @item \JP @code{その他} \EG @code{micellaneous} - +@* \BJP 多項式の係数を丸ごと F の元に変換するような場合, @code{simp_ff} により変換できる. @@ -659,7 +678,7 @@ and further are classified into sub-types of the type @item 0 \JP @b{一般不定元} \EG @b{ordinary indeterminate} - +@* \JP 英小文字で始まる文字列. 多項式の変数として最も普通に用いられる. \BEG An object of this sub-type is denoted by a string that start with @@ -677,7 +696,7 @@ polynomials. @item 1 \JP @b{未定係数} \EG @b{undetermined coefficient} - +@* \BJP @code{uc()} は, @samp{_} で始まる文字列を名前とする不定元を生成する. これらは, ユーザが入力できないというだけで, 一般不定元と変わらないが, @@ -704,7 +723,7 @@ _0 @item 2 \JP @b{函数形式} \EG @b{function form} - +@* \BJP 組み込み函数, ユーザ函数の呼び出しは, 評価されて何らかの @b{Asir} の 内部形式に変換されるが, @code{sin(x)}, @code{cos(x+1)} などは, 評価後 @@ -736,7 +755,7 @@ sin(x) @item 3 \JP @b{函数子} \EG @b{functor} - +@* \BJP 函数呼び出しは, @var{fname(args)} という形で行なわれるが, @var{fname} の 部分を函数子と呼ぶ. 函数子には, 函数の種類により組み込み函数子,