%comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/nn_ndbf/nn_ndbf.texi,v 1.6 2010/06/19 09:43:45 noro Exp $ %comment --- おまじない --- \input ../../../../asir-doc/texinfo @iftex @catcode`@#=6 @def@fref#1{@xrefX[#1,,@code{#1},,,]} \JP @def@b#1{{@bf@gt #1}} \EG @def@b#1{{@bf #1}} @catcode`@#=@other @end iftex @overfullrule=0pt @c -*-texinfo-*- @comment %**start of header @comment --- おまじない終り --- @comment --- GNU info ファイルの名前 --- @setfilename asir-contrib-nn_ndbf @comment @documentlanguage ja @comment --- タイトル --- @settitle nn_ndbf @comment %**end of header @comment %@setchapternewpage odd @comment --- おまじない --- @ifinfo @macro fref{name} @ref{\name\,,@code{\name\}} @end macro @end ifinfo @iftex @comment @finalout @end iftex @titlepage @comment --- おまじない終り --- @comment --- タイトル, バージョン, 著者名, 著作権表示 --- @title nn_ndbf @subtitle nn_ndbf User's Manual @subtitle Edition 1.0 @subtitle Nov 2009 @author by Masayuki Noro and Kenta Nishiyama @page @vskip 0pt plus 1filll Copyright @copyright{} Masayuki Noro and Kenta Nishiyama 2009. All rights reserved. @end titlepage @comment --- おまじない --- @synindex vr fn @comment --- おまじない終り --- @comment --- @node は GNU info, HTML 用 --- @comment --- @node の引数は node-name, next, previous, up --- @node Top,, (dir), (dir) @comment --- @menu は GNU info, HTML 用 --- @comment --- chapter 名を正確に並べる --- @menu \JP * 新 b 関数パッケージ nn_ndbf.rr:: \EG * New b-function package nn_ndbf.rr:: * Index:: @end menu @comment --- chapter の開始 --- @comment --- 親 chapter 名を正確に --- \JP @node 新 b 関数パッケージ nn_ndbf.rr,,, Top \EG @node New b-function package nn_ndbf.rr,,, Top \JP @chapter New b-function package nn_ndbf.rr @comment --- section 名を正確に並べる --- @menu \JP * b 関数計算:: \EG * Computation of b-function:: \JP * Annihilator イデアル計算:: \EG * Computation of annihilator ideal:: @end menu \BJP このマニュアルでは, asir-contrib パッケージに収録されている, 新 b 関数パッケージ @samp{nn_ndbf.rr} について解説する. このパッケージを使うには, まず @samp{nn_ndbf.rr} をロードする. \E \BEG In this manual we explain about a new b-function package @samp{nn_ndbf.rr} in asir-contrib. To use this package one has to load @samp{nn_ndbf.rr}. \E @example [...] load("nn_ndbf.rr"); @end example \BJP このパッケージの函数を呼び出すには, 全て @code{ndbf.} を先頭につける. このマニュアルでは, 関連する組込み関数についても解説する. \E \BEG A prefix @code{ndbf.} is necessary to call the functions in this package. In this manual we also explain about some related built-in functions. \E @comment --- section の開始 --- @comment --- 書体指定について --- @comment --- @code{} はタイプライタ体表示 --- @comment --- @var{} は斜字体表示 --- @comment --- @b{} はボールド表示 --- @comment --- @samp{} はファイル名などの表示 --- \JP @node b 関数計算,,, 新 b 関数パッケージ nn_ndbf.rr \EG @node Computation of b-function,,, New b-function package nn_ndbf.rr \JP @section b 関数計算 \EG @section Computation of b-function @menu * ndbf.bfunction:: * ndbf.bf_local:: * ndbf.bf_strat:: * ndbf.action_on_gfs:: @end menu \JP @node ndbf.bfunction,,, b 関数計算 \EG @node ndbf.bfunction,,, Computation of b-function @subsection @code{ndbf.bfunction} @findex ndbf.bfunction @table @t \JP @item ndbf.bfunction(@var{f}[|weight=@var{w},heruristic=@var{yesno},vord=@var{v},op=@var{yesno}]) :: 多項式 @var{f} の大域 b 関数を計算する. \EG @item ndbf.bfunction(@var{f}[|weight=@var{w},heruristic=@var{yesno},vord=@var{v},op=@var{yesno}]) :: computes the global b-function of a polynomial @var{f} @end table @table @var @item return \JP 多項式 \EG a polynomial @item f \JP 多項式 \EG a polynomial @item w \JP @code{[@var{v1,w1,...,vn,wn}]} なるリスト \EG a list @code{[@var{v1,w1,...,vn,wn}]} @item yesno \JP 0 または 1 \EG 0 or 1 @item v \JP 変数のリスト \EG a list of variables @end table @itemize @bullet \BJP @item この関数は asir-contrib のパッケージ @samp{nn_ndbf.rr} で定義されている. @item 多項式 @var{f} の大域 b 関数 (global b-function) を計算する. デフォルトでは大域 b 関数のみが出力されるが, オプション @code{op=1} が指定 された場合, 大域 b 関数 @var{b}, および 微分作用素 @var{P} の組 @var{[b,P]} を返す. これらは @var{Pf^(s+1)=b(s)f^s} を満たす. 微分作用素は @var{v1,...,vn,dv1,...,dvn} の可換多項式として 表現されている. この表現においては, 微分を表す d のついた変数も単なる 不定元として扱われているため, 係数多項式環の変数の前に表示されることも ありうるが, 多項式係数を左に置く正規表現として理解する必要がある. @item オプション @code{weight=[@var{v1,w1,...,vn,wn}]} が指定された場合, 変数リスト @var{(v1,...,vn)} に対して weight @var{(w1,...,wn)} を設定して計算が行われる. このオプションは, @var{f} が @var{(w1,...,wn)} に関して weighted homogeneous の場合に有効に働く. @item オプション @code{heuristic=1} が指定された場合, あるイデアルのグレブナー 基底を別の項順序に変換してから消去計算を行う. この方法により全体の計算が 高速化する場合がある. @item デフォルトでは, 内部で用いられる変数順序は自動的に決定されるが, オプション @code{vord=@var{v}} が指定された場合その変数順序が使われる. \E \BEG @item This function is defined in an asir-contrib package @samp{nn_ndbf.rr}. @item This function computes the global b-function of a polynomial @var{f}. By default only the global b-function is returned. If an option @code{op=1} is given, a pair @var{[b,P]} of the global b-function and a differential operator satisfying @var{Pf^(s+1)=b(s)f^s}. The operator P is represented as a commutative polynomial of variables @var{v1,...,vn,dv1,...,dvn}. The d-variables are treated as commutative indeterminates in this representation and the polynomial should be regarded as a canonical representation with each polynomial coefficient placed at the left of d-variables. @item If an option @code{weight=[@var{v1,w1,...,vn,wn}]} is given, the computation is done with a weight @var{(w1,...,wn)} for @var{(v1,...,vn)}. This option is useful when @var{f} is weighted homogeneous with respect to @var{(w1,...,wn)}. @item If an option @code{heuristic=1} is given a change of ordering is done before entering elimination. In some cases this improves the total efficiencty. @item The variable order used in the whole computation is automatically set by default. If an option @code{vord=@var{v}} is given, a variable order @var{v} is used istead. \E @end itemize @example [...] load("nn_ndbf.rr"); [...] ndbf.bfunction(x^3-y^2*z^2); -11664*s^7-93312*s^6-316872*s^5-592272*s^4-658233*s^3-435060*s^2 -158375*s-24500 [...] ndbf.bfunction(x^3-y^2*z^2|op=1); [-11664*s^7-93312*s^6-316872*s^5-592272*s^4-658233*s^3-435060*s^2 -158375*s-24500,(108*z^3*x*dz^3+756*z^2*x*dz^2+1080*z*x*dz+216*x)*dx^4 ... +(729/8*z^3*dz^5+9477/8*z^2*dz^4+5103/2*z*dz^3+2025/2*dz^2)*dy^2] [...] F=256*u1^3-128*u3^2*u1^2+(144*u3*u2^2+16*u3^4)*u1-27*u2^4 -4*u3^3*u2^2$ [...] ndbf.bfunction(F|weight=[u3,2,u2,3,u1,4]); 576*s^6+3456*s^5+8588*s^4+11312*s^3+8329*s^2+3250*s+525 @end example \JP @node ndbf.bf_local,,, b 関数計算 \EG @node ndbf.bf_local,,, Computation of b-function @subsection @code{ndbf.bf_local} @findex ndbf.bf_local @table @t \JP @item ndbf.bf_local(@var{f},@var{p}[|weight=@var{w},heruristic=@var{yesno},vord=@var{v},op=@var{yesno}]) :: 多項式 @var{f} の点 @var{p} における局所 b 関数を計算する. \EG @item ndbf.bf_local(@var{f},@var{p}[|weight=@var{w},heruristic=@var{yesno},vord=@var{v},op=@var{yesno}]) :: computes the local b-function of a polynomial @var{f} at @var{p}. @end table @table @var @item return \JP リスト \EG a list @item f \JP 多項式 \EG a polynomail @item p \JP @code{[@var{v1,a1,...,vn,an}]} なるリスト \EG a list @code{[@var{v1,a1,...,vn,an}]} @item w \JP @code{[@var{v1,w1,...,vn,wn}]} なるリスト \EG a list @code{[@var{v1,w1,...,vn,wn}]} @item yesno \JP 0 または 1 \EG 0 or 1 @item v \JP 変数のリスト \EG a list of variables @end table \BJP @itemize @bullet @item この関数は asir-contrib のパッケージ @samp{nn_ndbf.rr} で定義されている. @item 多項式 @var{f} の @var{(v1,...,vn)=(a1,...,an)} における 局所 b 関数 (local b-function) を計算する. 出力は局所 $b$ 関数の因子, 重複度のペアのリストである. @item デフォルトでは局所 b 関数のみが出力されるが, オプション @code{op=1} が指定 された場合, 局所 b 関数 @var{b}, 微分作用素の共通分母 $a(x)$ および 微分作用素 @var{P} の組 @var{[b,a(x),P]} を返す. これらは @var{a(x)Pf^(s+1)=b(s)f^s} を満たす. 微分作用素は @var{v1,...,vn,dv1,...,dvn} の可換多項式として 表現されている. この表現においては, 微分を表す d のついた変数も単なる 不定元として扱われているため, 係数多項式環の変数の前に表示されることも ありうるが, 多項式係数を左に置く正規表現として理解する必要がある. @item オプション @code{weight=[@var{v1,w1,...,vn,wn}]} が指定された場合, 変数リスト @var{(v1,...,vn)} に対して weight @var{(w1,...,wn)} を設定して計算が行われる. このオプションは, @var{f} が @var{(w1,...,wn)} に関して weighted homogeneous の場合に有効に働く. @item オプション @code{heuristic=1} が指定された場合, あるイデアルのグレブナー 基底を別の項順序に変換してから消去計算を行う. この方法により全体の計算が 高速化する場合がある. @item デフォルトでは, 内部で用いられる変数順序は自動的に決定されるが, オプション @code{vord=@var{v}} が指定された場合その変数順序が使われる. @end itemize \E \BEG @itemize @bullet @item This function is defined in an asir-contrib package @samp{nn_ndbf.rr}. @item This function computes the local b-function of a polynomial @var{f} at a point @var{(v1,...,vn)=(a1,...,an)}. The output is a list of pairs of each factor of the local b-function and its multiplicity. @item By default only the local b-function is returned. If an option @code{op=1} is given, a triple @var{[b,a,P]} of the local b-function, a polynomial and a differential operator satisfying @var{Pf^(s+1)=ab(s)f^s}. The operator P is represented as a commutative polynomial of variables @var{v1,...,vn,dv1,...,dvn}. The d-variables are treated as commutative indeterminates in this representation, the polynomial should be regarded as a canonical representation with each polynomial coefficient placed at the left of d-variables. @item If an option @code{weight=[@var{v1,w1,...,vn,wn}]} is given, the computation is done with a weight @var{(w1,...,wn)} for @var{(v1,...,vn)}. This option is useful when @var{f} is weighted homogeneous with respect to @var{ (w1,...,wn)}. @item If an option @code{heuristic=1} is given a change of ordering is done before entering elimination. In some cases this improves the total efficiencty. @item The variable order used in the whole computation is automatically set by default. If an option @code{vord=@var{v}} is given, a variable order @var{v} is used istead. @end itemize \E @example [...] load("nn_ndbf.rr"); [...] ndbf.bf_local(y*((x+1)*x^3-y^2),[x,-1,y,0]); [[-s-1,2]] [...] ndbf.bf_local(y*((x+1)*x^3-y^2),[x,-1,y,0]|op=1); [[[-s-1,2]],12*x^3+36*y^2*x-36*y^2,(32*y*x^2+56*y*x)*dx^2 +((-8*x^3-2*x^2+(128*y^2-6)*x+112*y^2)*dy+288*y*x+(-240*s-128)*y)*dx +(32*y*x^2-6*y*x+128*y^3-9*y)*dy^2+(32*x^2+6*s*x+640*y^2+39*s+30)*dy +(-1152*s^2-3840*s-2688)*y] @end example \JP @node ndbf.bf_strat,,, b 関数計算 \EG @node ndbf.bf_strat,,, Computation of b-function @subsection @code{ndbf.bf_strat} @findex ndbf.bf_strat @table @t @item ndbf.bf_strat(@var{f}[|weight=@var{w},heruristic=@var{h},vord=@var{v}]) \JP :: 多項式 @var{f} の, 局所 b 関数に付随する滑層分割 (stratification) を計算する. \EG :: computes a stratification associated with local b-function of a polynomial @var{f}. @end table @table @var @item return \JP リスト \EG a list @item f \JP 多項式 \EG a polynomial @item w \JP @code{[@var{v1,w1,...,vn,wn}]} なるリスト \EG a list @code{[@var{v1,w1,...,vn,wn}]} @item h \JP 0 または 1 \EG 0 or 1 @item v \JP 変数のリスト \EG li ist of variables @end table \BJP @itemize @bullet @item この関数は asir-contrib のパッケージ @samp{nn_ndbf.rr} で定義されている. @item 多項式 @var{f} の大域 b 関数 (global b-function) を計算する. 出力は 変数 @var{s} の多項式である. @item オプション @code{weight=[@var{v1,w1,...,vn,wn}]} が指定された場合, 変数リスト @var{(v1,...,vn)} に対して weight @var{(w1,...,wn)} を設定して計算が行われる. このオプションは, @var{f} が @var{(w1,...,wn)} に関して weighted homogeneous の場合に有効に働く. @item オプション @code{heuristic=1} が指定された場合, あるイデアルのグレブナー 基底を別の項順序に変換してから消去計算を行う. この方法により全体の計算が 高速化する場合がある. @item デフォルトでは, 内部で用いられる変数順序は自動的に決定されるが, オプション @code{vord=@var{v}} が指定された場合その変数順序が使われる. @end itemize \E \BEG @itemize @bullet @item This function is defined in an asir-contrib package @samp{nn_ndbf.rr}. @item This function computes a stratification assoficated with local b-function of a polynomial @var{f}. The output is a list @var{[s1,...sl]} where each @var{si} is a list @var{[l1,l2,bi]}. In this list, @var{l1} and @var{l2} is generators of ideals and they represents the local b-function is @var{bi} over V(@var{l1})-V(@var{l2}). @item If an option @code{weight=[@var{v1,w1,...,vn,wn}]} is given, the computation is done with a weight @var{(w1,...,wn)} for @var{(v1,...,vn)}. This option is useful when @var{f} is weighted homogeneous with respect to @var{ (w1,...,wn)}. @item If an option @code{heuristic=1} is given a change of ordering is done before entering elimination. In some cases this improves the total efficiencty. @item The variable order used in the whole computation is automatically set by default. If an option @code{vord=@var{v}} is given, a variable order @var{v} is used istead. @end itemize \E @example [...] load("nn_ndbf.rr"); [...] F=256*u1^3-128*u3^2*u1^2+(144*u3*u2^2+16*u3^4)*u1-27*u2^4 -4*u3^3*u2^2$ [...] ndbf.bf_strat(F); [[[u3^2,-u1,-u2],[-1],[[-s-1,2],[16*s^2+32*s+15,1],[36*s^2+72*s+35,1]]], [[-4*u1+u3^2,-u2],[96*u1^2+40*u3^2*u1-9*u3*u2^2,...],[[-s-1,2]]], [[-2048*u1^3-...],[-u3*u2,u2*u1,...],[[-s-1,1],...]]], [[-256*u1^3+128*u3^2*u1^2+...],[...],[[-s-1,1]]], [[],[-256*u1^3+128*u3^2*u1^2+...],[]]] @end example \JP @node ndbf.action_on_gfs,,, b 関数計算 \EG @node ndbf.action_on_gfs,,, Computation of b-function @subsection @code{ndbf.action_on_gfs} @findex ndbf.action_on_gfs @table @t @item ndbf.action_on_gfs(@var{op},@var{v},@var{gfs}) \JP :: 微分作用素 @var{op} の @var{gf^(s+a)} への作用を計算する. \EG :: computes the action of an operatior @var{op} on @var{gf^(s+a)} @end table @table @var @item return \JP リスト \EG a list @item op \JP 微分作用素 \EG a differential operator @item gfs \JP @var{[g,f,s+a]} なるリスト \EG a list @var{[g,f,s+a]} @item v \JP @var{f} の変数のリスト (@var{v=[v1,...,vn]}) \EG list of variables of @var{f} (@var{v=[v1,...,vn]}) @end table \BJP @itemize @bullet @item 微分作用素 @var{op} を @var{gf^(s+a)} に作用させた結果を計算する. @item @var{g} は @var{v1,...,vn} を変数とする多項式である. @item @var{op} は @var{[v1,...,vn,dv1,...,dvn]} を変数とする多項式で表現する. @item 入力リスト @var{[g,f,s+a]} は @var{gf^(s+a)} を表す. @item 結果は @var{[h,f,s+c]} なるリストで, @var{hf^(s+b)} を 意味する. ここで @var{c} は整数である. @var{op} が b-関数 @var{b(s)} を与える作用素なら, @var{a=1} に対し @var{c=0} で, @var{h=b(s)} (global case) または @var{h=d(v)b(s)} (local case) である. @end itemize \E \BEG @itemize @bullet @item This function computes the action of a differential operator @var{op} on @var{gf^(s+a)}. @item @var{g} is a polynomial with variables @var{v1,...,vn}. @item @var{op} is represented by a polynonmial with @var{[v1,...,vn,dv1,...,dvn]}. @item The input list @var{[g,f,s+a]} represents @var{gf^(s+a)}. @item The result is a list @var{[h,f,s+c]} and it means @var{hf^(s+c)}, where @var{c} is an integer. If @var{op} is an operator giving b-function @var{b(s)}, then @var{c=0} for @var{a=1} and @var{h=b(s)} (global case) or @var{h=b(s)d(v)} (local case). @end itemize \E @example [...] load("nn_ndbf.rr"); [...] F=x^5-y^2*z^2$ [...] B=ndbf.bfunction(F|op=1)$ [...] ndbf.action_on_gfs(B[1],[x,y,z],[1,F,s+1]); [-62500000000*s^13-...-2985505717194*s-245434132944,x^5-z^2*y^2,s] [...] L=ndbf.bf_local(F,[x,0,y,0,z,1]|op=1)$ [...] ndbf.action_on_gfs(L[2],[x,y,z],[1,F,s+1]); [(-100000*s^5-500000*s^4-990000*s^3-970000*s^2-470090*s-90090)*z^2, x^5-z^2*y^2,s] @end example \JP @node Annihilator イデアル計算,,, 新 b 関数パッケージ nn_ndbf.rr \EG @node Computation of annihilator ideal,,, New b-function package nn_ndbf.rr \JP @section Annihilator イデアル計算 \EG @section Computation of annihilator ideal @menu * ndbf.ann:: @end menu \JP @node ndbf.ann,,, Annihilator イデアル計算 \EG @node ndbf.ann,,, Computation of annihilator ideal @subsection @code{ndbf.ann} @findex ndbf.ann @table @t \JP @item ndbf.ann(@var{f}[|weight=@var{w}]) :: 多項式 @var{f} に対し @var{f^s} の annihilator ideal を計算する. \EG @item ndbf.ann(@var{f}[|weight=@var{w}]) :: computes the annihilator ideal of @var{f^s} for a polynomial @var{f}. @end table @table @var @item return \JP 微分作用素のリスト \EG a list of differential operators @item f \JP 多項式 \EG a polynomial @item w \JP @code{[@var{v1,w1,...,vn,wn}]} なるリスト \EG a list @code{[@var{v0,w1,...,vn,wn}]} @end table \BJP @itemize @bullet @item この関数は asir-contrib のパッケージ @samp{nn_ndbf.rr} で定義されている. @item 多項式 @var{f} に対し, @var{f^s} の annihilator ideal を計算する. 出力は, @var{s} を係数に含む微分作用素のリストである. 微分作用素の 表現方法は, @code{ndbf.bf_local} と同様である. @item オプション @code{weight=[@var{v1,w1,...,vn,wn}]} が指定された場合, 変数リスト @var{(v1,...,vn)} に対して weight @var{(w1,...,wn)} を設定して計算が行われる. このオプションは, @var{f} が @var{(w1,...,wn)} に関して weighted homogeneous の場合に有効に働く. @end itemize \E \BEG @itemize @bullet @item This function is defined in an asir-contrib package @samp{nn_ndbf.rr}. @item This function computes the annihilator ideal of @var{f^s} for @var{f}. The output is a list of defferential operators containing @var{s} in thier coefficients. The differential operators are represented in the same manner as @code{ndbf.bf_local}. @item If an option @code{weight=[@var{v1,w1,...,vn,wn}]} is given, the computation is done with a weight @var{(w1,...,wn)} for @var{(v1,...,vn)}. This option is useful when @var{f} is weighted homogeneous with respect to @var{(w1,...,wn)}. @end itemize \E @example [...] load("nn_ndbf.rr"); [...] ndbf.ann(x*y*z*(x^3-y^2*z^2)); [(-x^4*dy^2+3*z^4*x*dz^2+12*z^3*x*dz+6*z^2*x)*dx+4*z*x^3*dz*dy^2 -z^5*dz^3-6*z^4*dz^2-6*z^3*dz, (x^4*dy-3*z^3*y*x*dz-6*z^2*y*x)*dx-4*z*x^3*dz*dy+z^4*y*dz^2+3*z^3*y*dz, (-x^4+3*z^2*y^2*x)*dx+(4*z*x^3-z^3*y^2)*dz,2*x*dx+3*z*dz-11*s, -y*dy+z*dz] @end example @comment --- おまじない --- @node Index,,, Top @unnumbered Index @printindex fn @printindex cp @iftex @vfill @eject @end iftex @summarycontents @contents @bye @comment --- おまじない終り ---