\input ../../../../asir-doc/texinfo

New b-function package nn_ndbf.rr
*********************************

このマニュアルでは, asir-contrib パッケージに収録されている, 新 b 関数パッケージ nn_ndbf.rr について解説する. このパッケージを使うには, まず nn_ndbf.rr をロードする.

In this manual we explain about a new b-function package nn_ndbf.rr in asir-contrib. To use this package one has to load nn_ndbf.rr.

     [1518] load("nn_ndbf.rr");

このパッケージの函数を呼び出すには, 全て ndbf. を先頭につける. このマニュアルでは, 関連する組込み関数についても解説する.

A prefix ndbf. is necessary to call the functions in this package. In this manual we also explain about some related built-in functions.

b 関数計算
======

Computation of b-function
=========================

ndbf.bfunction
--------------

ndbf.bfunction(F[|weight=W,heruristic=YESNO,vord=V,op=YESNO]) :: 多項式 F の大域 b 関数を計算する.

ndbf.bfunction(F[|weight=W,heruristic=YESNO,vord=V,op=YESNO]) :: computes the global b-function of a polynomial F

return
     多項式

     a polynomial

f
     多項式

     a polynomial

w
     [V1,W1,...,VN,WN] なるリスト

     a list [V1,W1,...,VN,WN]

yesno
     0 または 1

     0 or 1

v
     変数のリスト

     a list of variables

  * この関数は asir-contrib のパッケージ nn_ndbf.rr で定義されている.

  * 多項式 F の大域 b 関数 (global b-function) を計算する. デフォルトでは大域 b 関数のみが出力されるが, オプション op=1 が指定された場合, 大域 b 関数 B, および微分作用素 P の組 [B,P] を返す. これらは PF^(S+1)=B(S)F^S を満たす. 微分作用素は V1,...,VN,DV1,...,DVN の可換多項式として表現されている. この表現においては, 微分を表す d のついた変数も単なる不定元として扱われているため, 係数多項式環の変数の前に表示されることもありうるが, 多項式係数を左に置く正規表現として理解する必要がある.

  * オプション weight=[V1,W1,...,VN,WN] が指定された場合, 変数リスト (V1,...,VN) に対して weight (W1,...,WN) を設定して計算が行われる. このオプションは, F が (W1,...,WN) に関して weighted homogeneous の場合に有効に働く.

  * オプション heuristic=1 が指定された場合, あるイデアルのグレブナー基底を別の項順序に変換してから消去計算を行う. この方法により全体の計算が高速化する場合がある.

  * デフォルトでは, 内部で用いられる変数順序は自動的に決定されるが, オプション vord=V が指定された場合その変数順序が使われる.

  * This function is defined in an asir-contrib package nn_ndbf.rr.

  * This function computes the global b-function of a polynomial F. By default only the global b-function is returned. If an option op=1 is given, a pair [B,P] of the global b-function and a differential operator satisfying PF^(S+1)=B(S)F^S. The operator P is represented as a commutative polynomial of variables 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.

  * If an option weight=[V1,W1,...,VN,WN] is given, the computation is done with a weight (W1,...,WN) for (V1,...,VN). This option is useful when F is weighted homogeneous with respect to (W1,...,WN).

  * If an option heuristic=1 is given a change of ordering is done before entering elimination. In some cases this improves the total efficiencty.

  * The variable order used in the whole computation is automatically set by default. If an option vord=V is given, a variable order V is used istead.

     [1519] load("nn_ndbf.rr");
     [1602] 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
     [1603] 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]
     [1604] 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$
     [1605] 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

ndbf.bf_local
-------------

ndbf.bf_local(F,P[|weight=W,heruristic=YESNO,vord=V,op=YESNO]) :: 多項式 F の点 P における局所 b 関数を計算する.

ndbf.bf_local(F,P[|weight=W,heruristic=YESNO,vord=V,op=YESNO]) :: computes the local b-function of a polynomial F at P.

return
     リスト

     a list

f
     多項式

     a polynomail

p
     [V1,A1,...,VN,AN] なるリスト

     a list [V1,A1,...,VN,AN]

w
     [V1,W1,...,VN,WN] なるリスト

     a list [V1,W1,...,VN,WN]

yesno
     0 または 1

     0 or 1

v
     変数のリスト

     a list of variables

  * この関数は asir-contrib のパッケージ nn_ndbf.rr で定義されている.

  * 多項式 F の (V1,...,VN)=(A1,...,AN) における局所 b 関数 (local b-function) を計算する. 出力は局所 $b$ 関数の因子, 重複度のペアのリストである.

  * デフォルトでは局所 b 関数のみが出力されるが, オプション op=1 が指定された場合, 局所 b 関数 B, 微分作用素の共通分母 $a(x)$ および微分作用素 P の組 [B,A(X),P] を返す. これらは A(X)PF^(S+1)=B(S)F^S を満たす. 微分作用素は V1,...,VN,DV1,...,DVN の可換多項式として表現されている. この表現においては, 微分を表す d のついた変数も単なる不定元として扱われているため, 係数多項式環の変数の前に表示されることもありうるが, 多項式係数を左に置く正規表現として理解する必要がある.

  * オプション weight=[V1,W1,...,VN,WN] が指定された場合, 変数リスト (V1,...,VN) に対して weight (W1,...,WN) を設定して計算が行われる. このオプションは, F が (W1,...,WN) に関して weighted homogeneous の場合に有効に働く.

  * オプション heuristic=1 が指定された場合, あるイデアルのグレブナー基底を別の項順序に変換してから消去計算を行う. この方法により全体の計算が高速化する場合がある.

  * デフォルトでは, 内部で用いられる変数順序は自動的に決定されるが, オプション vord=V が指定された場合その変数順序が使われる.

  * This function is defined in an asir-contrib package nn_ndbf.rr.

  * This function computes the local b-function of a polynomial F at a point (V1,...,VN)=(A1,...,AN). The output is a list of pairs of each factor of the local b-function and its multiplicity.

  * By default only the local b-function is returned. If an option op=1 is given, a triple [B,A,P] of the local b-function, a polynomial and a differential operator satisfying PF^(S+1)=AB(S)F^S. The operator P is represented as a commutative polynomial of variables 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.

  * If an option weight=[V1,W1,...,VN,WN] is given, the computation is done with a weight (W1,...,WN) for (V1,...,VN). This option is useful when F is weighted homogeneous with respect to (W1,...,WN).

  * If an option heuristic=1 is given a change of ordering is done before entering elimination. In some cases this improves the total efficiencty.

  * The variable order used in the whole computation is automatically set by default. If an option vord=V is given, a variable order V is used istead.

     [1527] load("nn_ndbf.rr");
     [1610] ndbf.bf_local(y*((x+1)*x^3-y^2),[x,-1,y,0]);
     [[-s-1,2]]
     [1611] 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]

ndbf.bf_strat
-------------

ndbf.bf_strat(F[|weight=W,heruristic=H,vord=V])
     :: 多項式 F の, 局所 b 関数に付随する滑層分割 (stratification) を計算する.

     :: computes a stratification associated with local b-function of a polynomial F.

return
     リスト

     a list

f
     多項式

     a polynomial

w
     [V1,W1,...,VN,WN] なるリスト

     a list [V1,W1,...,VN,WN]

h
     0 または 1

     0 or 1

v
     変数のリスト

     li ist of variables

  * この関数は asir-contrib のパッケージ nn_ndbf.rr で定義されている.

  * 多項式 F の大域 b 関数 (global b-function) を計算する. 出力は変数 S の多項式である.

  * オプション weight=[V1,W1,...,VN,WN] が指定された場合, 変数リスト (V1,...,VN) に対して weight (W1,...,WN) を設定して計算が行われる. このオプションは, F が (W1,...,WN) に関して weighted homogeneous の場合に有効に働く.

  * オプション heuristic=1 が指定された場合, あるイデアルのグレブナー基底を別の項順序に変換してから消去計算を行う. この方法により全体の計算が高速化する場合がある.

  * デフォルトでは, 内部で用いられる変数順序は自動的に決定されるが, オプション vord=V が指定された場合その変数順序が使われる.

  * This function is defined in an asir-contrib package nn_ndbf.rr.

  * This function computes a stratification assoficated with local b-function of a polynomial F. The output is a list [S1,...SL] where each SI is a list [L1,L2,BI]. In this list, L1 and L2 is generators of ideals and they represents the local b-function is BI over V(L1)-V(L2).

  * If an option weight=[V1,W1,...,VN,WN] is given, the computation is done with a weight (W1,...,WN) for (V1,...,VN). This option is useful when F is weighted homogeneous with respect to (W1,...,WN).

  * If an option heuristic=1 is given a change of ordering is done before entering elimination. In some cases this improves the total efficiencty.

  * The variable order used in the whole computation is automatically set by default. If an option vord=V is given, a variable order V is used istead.

     [1537] load("nn_ndbf.rr");
     [1620] 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$
     [1621] 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]]]
     [[...],[-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+...],[]]

ndbf.action_on_gfs
------------------

ndbf.action_on_gfs(OP,V,GFS)
     :: 微分作用素 OP の GF^(S+1) への作用を計算する.

     :: computes the action of an operatior OP on GF^(S+1)

return
     リスト

     a list

op
     微分作用素

     a differential operator

gfs
     [G,F,S-A] なるリスト

     a list [G,F,S-A]

v
     F の変数のリスト

     list of variables of F

  * 微分作用素 OP を GF^(S+1) に作用させた結果を計算する.

  * G および H は V を変数とする多項式である.

  * OP は [V1,...,VN,DV1,...,DVN] を変数とする多項式で表現する.

  * 入力リスト [G,F,S+1] は GF^(S+1) を表す.

  * 結果は [H,F,S-A] なるリストで, HF^(S-A) を意味する. ここで A は整数で, OP が b-関数を与える作用素なら, A は 0 となり, H は b-関数となる.

  * This function computes the action of a differential operator OP on GF^(S+1).

  * G and H are polynomials with variables V=V1,\LDOTS,VN.

  * OP is represented by a polynonmial with [V1,...,VN,DV1,...,DVN].

  * The input list [G,F,S+1] represents GF^(S+1).

  * The result is a list [H,F,S-A] and it means HF^(S-A), where A is an integer. If OP is an operator giving b-function, then A=0 and H is a b-functio n.

Annihilator イデアル計算
==================

Computation of annihilator ideal
================================

ndbf.ann
--------

ndbf.ann(F[|weight=W]) :: 多項式 F に対し F^S の annihilator ideal を計算する.

ndbf.ann(F[|weight=W]) :: computes the annihilator ideal of F^S for a polynomial F.

return
     微分作用素のリスト

     a list of differential operators

f
     多項式

     a polynomial

w
     [V1,W1,...,VN,WN] なるリスト

     a list [V0,W1,...,VN,WN]

  * この関数は asir-contrib のパッケージ nn_ndbf.rr で定義されている.

  * 多項式 F に対し, F^S の annihilator ideal を計算する. 出力は, S を係数に含む微分作用素のリストである. 微分作用素の表現方法は, ndbf.bf_local と同様である.

  * オプション weight=[V1,W1,...,VN,WN] が指定された場合, 変数リスト (V1,...,VN) に対して weight (W1,...,WN) を設定して計算が行われる. このオプションは, F が (W1,...,WN) に関して weighted homogeneous の場合に有効に働く.

  * This function is defined in an asir-contrib package nn_ndbf.rr.

  * This function computes the annihilator ideal of F^S for F. The output is a list of defferential operators containing S in thier coefficients. The differential operators are represented in the same manner as ndbf.bf_local.

  * If an option weight=[V1,W1,...,VN,WN] is given, the computation is done with a weight (W1,...,WN) for (V1,...,VN). This option is useful when F is weighted homogeneous with respect to (W1,...,WN).

     [1542] load("nn_ndbf.rr");
     [1625] 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]