[BACK]Return to noro_pd-ja.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-contrib / packages / doc / noro_pd

Annotation of OpenXM/src/asir-contrib/packages/doc/noro_pd/noro_pd-ja.texi, Revision 1.5

1.5     ! takayama    1: %comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/noro_pd/noro_pd-ja.texi,v 1.4 2017/03/30 06:16:36 takayama Exp $
1.4       takayama    2: %comment --- おまじない ---
1.5     ! takayama    3: \input texinfo-ja
1.1       noro        4: @iftex
                      5: @catcode`@#=6
                      6: @def@fref#1{@xrefX[#1,,@code{#1},,,]}
                      7: @def@b#1{{@bf@gt #1}}
                      8: @catcode`@#=@other
                      9: @end iftex
                     10: @overfullrule=0pt
1.5     ! takayama   11: @documentlanguage ja
1.1       noro       12: @c -*-texinfo-*-
                     13: @comment %**start of header
1.4       takayama   14: @comment --- おまじない終り ---
1.1       noro       15:
1.4       takayama   16: @comment --- GNU info ファイルの名前 ---
1.1       noro       17: @setfilename asir-contrib-noro_pd
                     18:
1.4       takayama   19: @comment --- タイトル ---
1.1       noro       20: @settitle noro_pd
                     21:
                     22: @comment %**end of header
                     23: @comment %@setchapternewpage odd
                     24:
1.4       takayama   25: @comment --- おまじない ---
1.1       noro       26: @ifinfo
                     27: @macro fref{name}
                     28: @ref{\name\,,@code{\name\}}
                     29: @end macro
                     30: @end ifinfo
                     31:
                     32: @iftex
                     33: @comment @finalout
                     34: @end iftex
                     35:
                     36: @titlepage
1.4       takayama   37: @comment --- おまじない終り ---
1.1       noro       38:
1.4       takayama   39: @comment --- タイトル, バージョン, 著者名, 著作権表示 ---
1.1       noro       40: @title noro_pd
                     41: @subtitle noro_pd User's Manual
                     42: @subtitle Edition 1.0
1.2       noro       43: @subtitle Feb 2011
1.1       noro       44:
                     45: @author  by Masayuki Noro
                     46: @page
                     47: @vskip 0pt plus 1filll
                     48: Copyright @copyright{} Masayuki Noro
                     49: 2011. All rights reserved.
                     50: @end titlepage
                     51:
1.4       takayama   52: @comment --- おまじない ---
1.1       noro       53: @synindex vr fn
1.4       takayama   54: @comment --- おまじない終り ---
1.1       noro       55:
1.4       takayama   56: @comment --- @node は GNU info, HTML 用 ---
                     57: @comment --- @node  の引数は node-name,  next,  previous,  up ---
1.1       noro       58: @node Top,, (dir), (dir)
                     59:
1.4       takayama   60: @comment --- @menu は GNU info, HTML 用 ---
                     61: @comment --- chapter 名を正確に並べる ---
1.1       noro       62: @menu
1.4       takayama   63: * 準素分解パッケージ noro_pd.rr::
1.1       noro       64: * Index::
                     65: @end menu
                     66:
1.4       takayama   67: @comment --- chapter の開始 ---
                     68: @comment --- 親 chapter 名を正確に ---
                     69: @node 準素分解パッケージ noro_pd.rr,,, Top
                     70: @chapter 準素分解パッケージ noro_pd.rr
1.1       noro       71:
1.4       takayama   72: @comment --- section 名を正確に並べる ---
1.1       noro       73: @menu
1.4       takayama   74: * 準素分解::
1.1       noro       75: @end menu
                     76:
1.4       takayama   77: このマニュアルでは, asir-contrib パッケージに収録されている,
                     78: 準素パッケージ @samp{noro_pd.rr} について解説する.
                     79: このパッケージを使うには, まず @samp{noro_pd.rr} をロードする.
1.1       noro       80: @example
                     81: [1539] load("noro_pd.rr");
                     82: @end example
1.4       takayama   83: このパッケージの函数を呼び出すには, 全て @code{noro_pd.} を先頭につける.
1.1       noro       84: @example
                     85:
                     86: @end example
                     87:
1.4       takayama   88: @comment --- section の開始 ---
                     89: @comment --- 書体指定について ---
                     90: @comment --- @code{} はタイプライタ体表示 ---
                     91: @comment --- @var{} は斜字体表示 ---
                     92: @comment --- @b{} はボールド表示 ---
                     93: @comment --- @samp{} はファイル名などの表示 ---
1.1       noro       94:
1.4       takayama   95: @node アルゴリズムの概要,,, 準素分解パッケージ noro_pd.rr
1.1       noro       96:
1.4       takayama   97: @section 準素分解
1.1       noro       98:
                     99: @menu
                    100: * noro_pd.syci_dec::
                    101: * noro_pd.prime_dec::
                    102: @end menu
                    103:
1.4       takayama  104: @node noro_pd.syci_dec,,, 準素分解
1.1       noro      105:
                    106: @subsection @code{noro_pd.syci_dec}
                    107: @findex noro_pd.syci_dec
                    108:
                    109: @table @t
                    110: @item noro_pd.syci_dec(@var{I},@var{vars}[|@var{options}])
1.4       takayama  111: イデアル @var{I} の最短準素分解を計算する.
1.1       noro      112: @end table
                    113:
                    114: @table @var
                    115: @item return
1.4       takayama  116: @var{[QL(1),QL(2),...]} なるリスト, 各 @var{QL(i)} は
                    117: @var{[[Q(i1),P(i1)],[(i2),P(i2)],...]} なるリスト.
1.1       noro      118:
                    119: @item I
1.4       takayama  120: 多項式リスト
1.1       noro      121: @item vars
1.4       takayama  122: 変数リスト
1.1       noro      123: @item options
1.4       takayama  124: 下の説明参照.
1.1       noro      125: @end table
                    126:
                    127: @itemize @bullet
                    128: @item
1.4       takayama  129: イデアル @var{I} の最短準素分解を計算する.
                    130: @samp{noro_pd.rr} で実装されている準素分解アルゴリズムは SYCI アルゴリズム
                    131: と呼ばれるもので,  @samp{primdec} に実装されている Shimoyama-Yokoyama
                    132: (SY アルゴリズム) を改良したものである.
                    133:
                    134: イデアル @var{I} の付属素イデアル全体 @var{Ass(I)} を次のように分ける:
                    135: @var{A(1)} を極小付属素イデアル全体とし, @var{Ass(I)}から
                    136: @var{A(1)},...,@var{A(i-1)} を除いたものの中で極小なもの全体を @var{A(i)}
                    137: とする. SYCI アルゴリズムは, @var{A(i)} を @var{i} の小さい順に
                    138: 計算しつつ, 対応する準素成分
                    139: を計算するアルゴリズムである. 準素成分の計算は省略することができる. この
                    140: 場合, @var{I} の付属素イデアルのみを計算するアルゴリズムとなる. @var{A(i)}
                    141: に属する付属素イデアルおよび対応する準素成分はレベル @var{i} であるという.
                    142:
                    143: 出力において, @var{Q(ij)} は @var{I} の @var{Pij}-準素成分であり, @var{Q(ij)} 全体が
                    144: @var{I} の最短準素分解を与える.
                    145: 各 @var{QL(i)} はレベル @var{i} の成分全体
                    146: を与える. 特に @var{QL(1)} は孤立成分および極小付属素イデアル全体を与える.
                    147: @var{QL(1)} の各成分のみ, 3つ目の要素として極大独立集合を持つ.
                    148: @item
                    149: オプション @var{ass=1} が指定された場合, @var{QL(1)} に現われる成分 @var{Q(1j)} のみ準素成分
                    150: (孤立準素成分)となるが, @var{QL(2)} 以降に現われる @var{Q(ij)} は @var{I} のある中間
                    151: 分解成分となる. しかし, @var{P(ij)} は @var{I} の付属素イデアルであり,
                    152: @var{P(ij)} 全体が @var{I} の付属素イデアル全体の集合を与えることは保証される.
                    153: @item
                    154: デフォルトでは有理数体上での分解を計算するが, オプション @var{mod=p} (@var{p} は30ビット以下の素数) を
                    155: 指定すると @var{p}元体上での分解を計算する. ただし, @var{p} が小さいときには正しく計算
                    156: できないか, 無限ループに陥る. (@var{p} が 5桁以上なら問題ないであろう.)
                    157: @item
                    158: @var{iso=n} (@var{n}は 0,1,2,3のいずれか) を指定すると, saturation 計算の方法が変わる.
                    159: デフォルトでは @var{n=1} である.
                    160: @item
                    161: オプション @var{time=1} を指定すると, 計算時間の内訳を表示する.
                    162: @item
                    163: オプション @var{para=proclist} を指定すると, 部分的な分散計算を行う.
                    164: @var{proclist}は @code{noro_pd.init_pprocs} により生成されたプロセスのリストである.
                    165: @item
                    166: オプション @var{f4=1} が指定された場合, 可能な限り F4 アルゴリズムを用いる.
                    167: デフォルトでは Buchberger アルゴリズムを用いる.
                    168: @item
                    169: オプション @var{trace=1} が指定された場合, 可能な限り trace アルゴリズムを用いる.
                    170: デフォルトでは trace なしの Buchberger または F4 アルゴリズムを用いる.
                    171: @item
                    172: オプション @var{intgb=1} が指定された場合, 複数のイデアルの共通部分を, 2 つずつの
                    173: イデアルの共通部分計算の繰り返しとして計算する際に, 毎回その共通部分のグレブナー基底を
                    174: 計算する. デフォルトではグレブナー基底を計算せずに繰り返す.
1.3       noro      175:
1.1       noro      176: @end itemize
                    177:
                    178: @example
                    179: [1539] load("noro_pd.rr");
                    180: [1707] B=[x00*x11-x01*x10,x01*x12-x02*x11,x02*x13-x03*x12,x03*x14-x04*x13,
                    181: -x11*x20+x21*x10,-x21*x12+x22*x11,-x22*x13+x23*x12,-x23*x14+x24*x13]$
                    182: [1708] V=[x00,x01,x02,x03,x04,x10,x11,x12,x13,x14,x20,x21,x22,x23,x24]$
                    183: [1709] QD=noro_pd.syci_dec(B,V|time=1)$
                    184: [total,1.08407,ass,0.620039,pd,0.33202,iso,0.260016,int,0.024003,
                    185: ext,0.464029]
                    186: [elapsed,1.09038,ass,0.624087,pd,0.338769,iso,0.244057,int,0.0343642,
                    187: ext,0.466293]
                    188: [1710] map(length,QD);
                    189: [10,5,3,1]
                    190: [1711] QD[2][0];
                    191: [[x03*x01*x14*x20-x21*x04*x03*x10,(x23*x21*x02-x22*x21*x03)*x10,
                    192: x23*x21*x03*x10,x01*x12*x20-x21*x02*x10,-x01*x13*x20+x21*x03*x10,
                    193: -x21*x03*x14+x23*x04*x11,-x22*x03*x14+x23*x04*x12,x01^2,x03^2,
                    194: -x00*x11+x01*x10,x10^2,x01*x11,-x01*x12+x02*x11,x01*x13-x03*x11,
                    195: x10*x11,x11^2,-x02*x13+x03*x12,-x11*x12,x12^2,x03*x13,-x03*x14+x04*x13,
                    196: x11*x13,-x12*x13,x13^2,x13*x14,x14^2,-x11*x20+x21*x10,x21*x11,
                    197: x21*x12-x22*x11,x21*x13-x23*x11,x21^2,x22*x13-x23*x12,-x23*x13,
                    198: -x23*x14+x24*x13,x23^2],
                    199: [x01,x03,x10,x11,x12,x13,x14,x21,x23]]
                    200: @end example
                    201:
1.4       takayama  202: @node noro_pd.prime_dec,,, 準素分解
1.1       noro      203:
                    204: @subsection @code{noro_pd.prime_dec}
                    205: @findex noro_pd.prime_dec
                    206:
                    207: @table @t
                    208: @item noro_pd.syci_dec(@var{I},@var{vars}[|@var{options}])
1.4       takayama  209: イデアル @var{I} の根基の素イデアル分解を計算する.
1.1       noro      210: @end table
                    211:
                    212: @table @var
                    213: @item return
1.4       takayama  214: リスト (成分の詳細は下で説明する)
1.1       noro      215: @item I
1.4       takayama  216: 多項式リスト
1.1       noro      217: @item vars
1.4       takayama  218: 変数リスト
1.1       noro      219: @item options
1.4       takayama  220: 下の説明参照.
1.1       noro      221: @end table
                    222:
                    223: @itemize @bullet
                    224: @item
1.4       takayama  225: デフォルトでは, @var{I} の根基の素イデアル分解の成分のリスト
                    226: @var{[P(1),P(2),...]} を返す.
1.1       noro      227: @item
1.4       takayama  228: オプション @var{indep=1} が指定された場合, @var{[[P(1),Y(1)],[P(2),Y(2)],...]}
                    229: を返す. ここで, @var{Y(i)} は @var{P(i)} に対する極大独立集合である.
1.1       noro      230: @item
1.4       takayama  231: オプション @var{radical=1} が指定された場合, 素イデアル成分のリスト @var{PL}
                    232: と, @var{I} の根基 @var{rad} のペアのリスト @var{[PL,rad]} が返される.
1.1       noro      233: @end itemize
                    234:
                    235: @example
                    236: [1712] PD=noro_pd.prime_dec(B,V|radical=1)$
                    237: [1713] PD[0][0];
                    238: [x10,-x11,x12,x13,x14]
                    239: [1714] PD[1];
                    240: [-x03*x02*x01*x14*x20+x24*x02*x01*x00*x13,...,x23*x14-x24*x13]
                    241: @end example
                    242:
                    243:
1.4       takayama  244: @section 関連する関数
1.1       noro      245:
                    246: @menu
                    247: * noro_pd.ideal_intersection::
                    248: * noro_pd.ideal_intersection_m::
                    249: * noro_pd.ideal_list_intersection::
                    250: * noro_pd.colon::
                    251: * noro_pd.ideal_colon::
                    252: * noro_pd.sat::
                    253: * noro_pd.ideal_sat::
                    254: * noro_pd.init_pprocs::
                    255: @end menu
                    256:
1.4       takayama  257: @node noro_pd.ideal_intersection,,, 関連する関数
1.1       noro      258:
                    259: @subsection @code{noro_pd.ideal_intersection}
                    260: @findex noro_pd.ideal_intersection
                    261:
                    262: @table @t
                    263: @item noro_pd.ideal_intersection(@var{I1},@var{I2},@var{vars},@var{ord}[|@var{mod=p}])
1.4       takayama  264: イデアル @var{I1}, @var{I2} の共通部分を計算する.
1.1       noro      265: @end table
                    266:
                    267: @table @var
                    268: @item return
1.4       takayama  269: 多項式リスト
1.1       noro      270:
                    271: @item I
1.4       takayama  272: 多項式リスト
1.1       noro      273: @item vars
1.4       takayama  274: 変数リスト
1.1       noro      275: @item ord
1.4       takayama  276: 項順序
1.1       noro      277: @end table
                    278:
                    279: @itemize @bullet
                    280: @item
1.4       takayama  281: 返されるリストは @var{I1} と @var{I2} の共通部分の @var{ord} に関するグレブナー
                    282: 基底になっている.
1.1       noro      283: @item
1.4       takayama  284: デフォルトでは有理数体上で計算だが, オプション @var{mod=p} が指定された場合
                    285: @var{p}元体上での計算を行う.
1.1       noro      286: @end itemize
                    287:
                    288: @example
                    289: [1707] A=[j*h*g*f*e*d*b,j*i*g*d*c*b,j*i*h*g*d*b,j*i*h*e*b,i*e*c*b,z]$
                    290: [1708] B=[a*d-j*c,b*c,d*e-f*g*h]$
                    291: [1709] V=[a,b,c,d,e,f,g,h,i,j,z]$
                    292: [1710] noro_pd.ideal_intersection(A,B,V,0);
                    293: [(j*h*g*f*e^2*d^2-j*h^2*g^2*f^2*e*d)*b,j*h*g*f*e*d*b*a,
                    294: -j*h*g*f*e*d*c*b,j*i*h*g*f*e*b*a,(-j*i*h*e*d^2+j*i*h^2*g*f*d)*b,
                    295: (-j*i*h*e^2*d+j*i*h^2*g*f*e)*b,-j*i*h*e*d*b*a,-j*i*h*g*d*b*a,
                    296: j*i*g*d*c*b,i*e*c*b,-z*e*d+z*h*g*f,-z*c*b,-z*d*a+z*j*c]
                    297: @end example
                    298:
1.4       takayama  299: @node noro_pd.ideal_intersection_m,,, 関連する関数
1.1       noro      300:
                    301: @subsection @code{noro_pd.ideal_intersection_m}
                    302: @findex noro_pd.ideal_intersection_m
                    303:
                    304: @table @t
                    305: @item noro_pd.ideal_intersection_m(@var{I1},@var{I2},@var{vars},@var{ord}[|@var{mod=p}])
1.4       takayama  306: イデアル @var{I1}, @var{I2} の共通部分を計算する.
1.1       noro      307: @end table
                    308:
                    309: @table @var
                    310: @item return
1.4       takayama  311: 多項式リスト
1.1       noro      312:
                    313: @item I
1.4       takayama  314: 多項式リスト
1.1       noro      315: @item vars
1.4       takayama  316: 変数リスト
1.1       noro      317: @item ord
1.4       takayama  318: 項順序
1.1       noro      319: @end table
                    320:
                    321: @itemize @bullet
1.4       takayama  322: @var{I2} がグレブナー基底で, @var{I1} の生成系の個数が多い場合に
                    323: @code{noro_pd.ideal_intersection} より高速な場合がある.
1.1       noro      324: @item
1.4       takayama  325: 返されるリストは共通部分の生成系だが
                    326: 必ずしも共通部分のグレブナー基底になってはいない.
1.1       noro      327: @item
1.4       takayama  328: デフォルトでは有理数体上で計算だが, オプション @var{mod=p} が指定された場合
                    329: @var{p}元体上での計算を行う.
1.1       noro      330: @end itemize
                    331:
                    332: @example
                    333: [1754] B=[z*j*i*e*d*c*b+(z*i*h*g+z*j*h)*f*e*d*c,...,z*j*e*c*b+4*z*i*h*g*e*c]
                    334: [1755] V=[b,c,d,e,f,g,h,i,j,z]
                    335: [1756] G=nd_gr(B,V,0,0)$
                    336: [1757] cputime(1)$
                    337: 0sec(1.907e-06sec)
                    338: [1758] I1=noro_pd.ideal_intersection(G,G,V,0)$
                    339: 0.316sec + gc : 0.012sec(0.3301sec)
                    340: [1759] I2=noro_pd.ideal_intersection_m(G,G,V,0)$
                    341: 0.064sec + gc : 0.012sec(0.07933sec)
                    342: @end example
                    343:
1.4       takayama  344: @node noro_pd.ideal_list_intersection,,, 関連する関数
1.1       noro      345:
                    346: @subsection @code{noro_pd.ideal_list_intersection}
                    347: @findex noro_pd.ideal_list_intersection
                    348:
                    349: @table @t
                    350: @item noro_pd.ideal_intersection(@var{ilist},@var{vars},@var{ord}[|@var{mod=p}])
1.4       takayama  351: イデアルのリスト @var{ilist} の成分の共通部分を計算する.
1.1       noro      352: @end table
                    353:
                    354: @table @var
                    355: @item return
1.4       takayama  356: 多項式リスト
1.1       noro      357:
                    358: @item ilist
1.4       takayama  359: 多項式リストのリスト
1.1       noro      360: @item vars
1.4       takayama  361: 変数リスト
1.1       noro      362: @end table
                    363:
                    364: @itemize @bullet
                    365: @item
1.4       takayama  366: 返されるリストは共通部分のグレブナー基底になっている.
1.1       noro      367: @item
1.4       takayama  368: デフォルトでは有理数体上で計算だが, オプション @var{mod=p} が指定された場合
                    369: @var{p}元体上での計算を行う.
1.1       noro      370: @end itemize
                    371:
                    372: @example
                    373: [1709] PL=noro_pd.prime_dec(B,V|radical=1)$
                    374: [1710] Int=noro_pd.ideal_list_intersection(PL[0],V,0)$
                    375: [1711] gb_comp(Int,PL[1]);
                    376: 1
                    377: @end example
                    378:
                    379: @subsection @code{noro_pd.colon}
                    380: @findex noro_pd.colon
                    381:
                    382: @table @t
                    383: @item noro_pd.colon(@var{I},@var{f},@var{vars}[|@var{mod=p}])
1.4       takayama  384: @var{I:f} を計算する.
1.1       noro      385: @end table
                    386:
                    387: @table @var
                    388: @item return
1.4       takayama  389: 多項式リスト
1.1       noro      390:
                    391: @item I
1.4       takayama  392: 多項式リスト
1.1       noro      393: @item f
1.4       takayama  394: 多項式
1.1       noro      395: @item vars
1.4       takayama  396: 変数リスト
1.1       noro      397: @end table
                    398:
                    399: @itemize @bullet
                    400: @item
1.4       takayama  401: 返されるリストは @var{I:f} のグレブナー基底とは限らない.
1.1       noro      402: @item
1.4       takayama  403: デフォルトでは有理数体上で計算だが, オプション @var{mod=p} が指定された場合
                    404: @var{p}元体上での計算を行う.
1.1       noro      405: @end itemize
                    406:
                    407: @example
                    408: [1640] B=[(x+y+z)^50,(x-y+z)^50]$
                    409: [1641] V=[x,y,z]$
                    410: [1642] noro_pd.colon(B,y^98,V);
                    411: [-x-z,-y]
                    412: @end example
                    413:
                    414: @subsection @code{noro_pd.ideal_colon}
                    415: @findex noro_pd.colon
                    416:
                    417: @table @t
                    418: @item noro_pd.colon(@var{I},@var{J},@var{vars}[|@var{mod=p}])
1.4       takayama  419: @var{I:J} を計算する.
1.1       noro      420: @end table
                    421:
                    422: @table @var
                    423: @item return
1.4       takayama  424: 多項式リスト
1.1       noro      425:
                    426: @item I
1.4       takayama  427: 多項式リスト
1.1       noro      428: @item J
1.4       takayama  429: 多項式リスト
1.1       noro      430: @item vars
1.4       takayama  431: 変数リスト
1.1       noro      432: @end table
                    433:
                    434: @itemize @bullet
                    435: @item
1.4       takayama  436: 返されるリストは@var{I:J}のグレブナー基底になっている.
1.1       noro      437: @item
1.4       takayama  438: デフォルトでは有理数体上で計算だが, オプション @var{mod=p} が指定された場合
                    439: @var{p}元体上での計算を行う.
1.1       noro      440: @end itemize
                    441:
                    442: @example
                    443: [1640] B=[(x+y+z)^50,(x-y+z)^50]$
                    444: [1641] V=[x,y,z]$
                    445: [1642] noro_pd.ideal_colon(B,[(x+y+z)^49,(x-y+z)^49],V);
                    446: [-y^49*x-z*y^49,-y^50,-x^2-2*z*x+y^2-z^2]
                    447: @end example
                    448:
                    449: @subsection @code{noro_pd.sat}
                    450: @findex noro_pd.sat
                    451:
                    452: @table @t
                    453: @item noro_pd.sat(@var{I},@var{f},@var{vars}[|@var{mod=p}])
1.4       takayama  454: @var{I} の @var{f} による saturation を計算する.
1.1       noro      455: @end table
                    456:
                    457: @table @var
                    458: @item return
1.4       takayama  459: 多項式リスト
1.1       noro      460:
                    461: @item I
1.4       takayama  462: 多項式リスト
1.1       noro      463: @item f
1.4       takayama  464: 多項式
1.1       noro      465: @item vars
1.4       takayama  466: 変数リスト
1.1       noro      467: @end table
                    468:
                    469: @itemize @bullet
                    470: @item
1.4       takayama  471: 返されるリストは@var{I:f}のグレブナー基底になっている.
1.1       noro      472: @item
1.4       takayama  473: デフォルトでは有理数体上で計算だが, オプション @var{mod=p} が指定された場合
                    474: @var{p}元体上での計算を行う.
1.1       noro      475: @end itemize
                    476:
                    477: @example
                    478: [1640] B=[(x+y+z)^50,(x-y+z)^50]$
                    479: [1641] V=[x,y,z]$
                    480: [1642] noro_pd.sat(B,y,V);
                    481: [1]
                    482: @end example
                    483:
                    484: @subsection @code{noro_pd.ideal_sat}
                    485: @findex noro_pd.ideal_sat
                    486:
                    487: @table @t
                    488: @item noro_pd.ideal_sat(@var{I},@var{J},@var{vars}[|@var{mod=p}])
1.4       takayama  489: @var{I:J} を計算する.
1.1       noro      490: @end table
                    491:
                    492: @table @var
                    493: @item return
1.4       takayama  494: 多項式リスト
1.1       noro      495:
                    496: @item I
1.4       takayama  497: 多項式リスト
1.1       noro      498: @item J
1.4       takayama  499: 多項式リスト
1.1       noro      500: @item vars
1.4       takayama  501: 変数リスト
1.1       noro      502: @end table
                    503:
                    504: @itemize @bullet
                    505: @item
1.4       takayama  506: 返されるリストは@var{I:J}のグレブナー基底になっている.
1.1       noro      507: @item
1.4       takayama  508: デフォルトでは有理数体上で計算だが, オプション @var{mod=p} が指定された場合
                    509: @var{p}元体上での計算を行う.
1.1       noro      510: @end itemize
                    511:
                    512: @example
                    513: [1640] B=[(x+y+z)^50,(x-y+z)^50]$
                    514: [1641] V=[x,y,z]$
                    515: [1642] noro_pd.ideal_sat(B,[(x+y+z)^49,(x-y+z)^49],V);
                    516: [1]
                    517: @end example
                    518:
                    519: @subsection @code{noro_pd.init_pprocs}
                    520: @findex noro_pd.init_pprocs
                    521:
                    522: @table @t
                    523: @item noro_pd.init_pprocs(@var{m}[|@var{nox=1}])
1.4       takayama  524: 分散計算用プロセスを起動する.
1.1       noro      525: @end table
                    526:
                    527: @table @var
                    528: @item return
1.4       takayama  529: 整数リスト
1.1       noro      530:
                    531: @item m
1.4       takayama  532: 正整数
1.1       noro      533: @end table
                    534:
                    535: @itemize @bullet
                    536: @item
1.4       takayama  537: 分散計算に用いるためのプロセス (@code{ox_asir})を起動し, その番号のリストを返す.
1.1       noro      538: @item
1.4       takayama  539: ホームディレクトリの @samp{.asirrc} に @code{load("noro_pd.rr")$} を
                    540: 入れておくことで, @code{ox_asir} の起動時に @samp{noro_pd.rr} が
                    541: 読み込まれ, 分散計算の準備ができる.
1.1       noro      542: @item
1.4       takayama  543: オプション @var{nox=1} が指定された場合, 起動されたプロセスからの
                    544: 画面出力のためのウィンドウが開かない.
1.1       noro      545: @end itemize
                    546:
                    547: @example
                    548: [1544] P=noro_pd.init_pprocs(6|nox=1)$
                    549: [1545] B=[x00*x11-x01*x10,x01*x12-x02*x11,x02*x13-x03*x12,x03*x14-x04*x13,
                    550: x04*x15-x05*x14,x05*x16-x06*x15,x06*x17-x07*x16,-x11*x20+x21*x10,
                    551: -x21*x12+x22*x11,-x22*x13+x23*x12,-x23*x14+x24*x13,-x24*x15+x25*x14,
                    552: -x25*x16+x26*x15,-x26*x17+x27*x16]$
                    553: [1546] V=[x00,x01,x02,x03,x04,x05,x06,x07,x10,x11,x12,x13,x14,x15,x16,
                    554: x17,x20,x21,x22,x23,x24,x25,x26,x27]$
                    555: [1547] noro_pd.syci_dec(B,V|time=1)$
                    556: [total,205.581,ass,108.743,pd,31.582,iso,64.9081,int,11.7367,ext,96.8381]
                    557: [elapsed,206.177,ass,109.052,pd,31.679,iso,65.0682,int,11.7853,ext,97.1254]
                    558: [1548] noro_pd.syci_dec(B,V|time=1,para=P)$
                    559: [total,30.0339,ass,29.5498,pd,23.7695,iso,1.96412,int,3.32021,ext,0.48403]
                    560: [elapsed,79.0897,ass,62.5683,pd,26.0532,iso,28.037,int,7.97536,ext,16.5214]
                    561: @end example
1.4       takayama  562: @comment --- おまじない ---
1.1       noro      563: @node Index,,, Top
                    564: @unnumbered Index
                    565: @printindex fn
                    566: @printindex cp
                    567: @iftex
                    568: @vfill @eject
                    569: @end iftex
                    570: @summarycontents
                    571: @contents
                    572: @bye
1.4       takayama  573: @comment --- おまじない終り ---
1.1       noro      574:

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