version 1.2, 2009/12/02 04:38:47 |
version 1.6, 2010/06/19 09:43:45 |
|
|
%comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/nn_ndbf/nn_ndbf.texi,v 1.1 2009/12/02 02:55:29 noro Exp $ |
%comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/nn_ndbf/nn_ndbf.texi,v 1.5 2010/06/16 10:39:08 noro Exp $ |
%comment --- おまじない --- |
%comment --- おまじない --- |
\input ../../../../asir-doc/texinfo |
\input ../../../../asir-doc/texinfo |
@iftex |
@iftex |
Line 90 In this manual we explain about a new b-function packa |
|
Line 90 In this manual we explain about a new b-function packa |
|
in asir-contrib. To use this package one has to load @samp{nn_ndbf.rr}. |
in asir-contrib. To use this package one has to load @samp{nn_ndbf.rr}. |
\E |
\E |
@example |
@example |
[1518] load("nn_ndbf.rr"); |
[...] load("nn_ndbf.rr"); |
@end example |
@end example |
\BJP |
\BJP |
このパッケージの函数を呼び出すには, 全て @code{ndbf.} を先頭につける. |
このパッケージの函数を呼び出すには, 全て @code{ndbf.} を先頭につける. |
Line 116 In this manual we also explain about some related buil |
|
Line 116 In this manual we also explain about some related buil |
|
* ndbf.bfunction:: |
* ndbf.bfunction:: |
* ndbf.bf_local:: |
* ndbf.bf_local:: |
* ndbf.bf_strat:: |
* ndbf.bf_strat:: |
|
* ndbf.action_on_gfs:: |
@end menu |
@end menu |
|
|
\JP @node ndbf.bfunction,,, b 関数計算 |
\JP @node ndbf.bfunction,,, b 関数計算 |
Line 124 In this manual we also explain about some related buil |
|
Line 125 In this manual we also explain about some related buil |
|
@findex ndbf.bfunction |
@findex ndbf.bfunction |
|
|
@table @t |
@table @t |
\JP @item ndbf.bfunction(@var{f}[|weight=@var{w},heruristic=@var{yesno},vord=@var{v}]) :: 多項式 @var{f} の大域 b 関数を計算する. |
\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}]) :: computes the global b-function of a polynomial @var{f} |
\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 |
@end table |
|
|
@table @var |
@table @var |
Line 151 In this manual we also explain about some related buil |
|
Line 152 In this manual we also explain about some related buil |
|
@item |
@item |
この関数は asir-contrib のパッケージ @samp{nn_ndbf.rr} で定義されている. |
この関数は asir-contrib のパッケージ @samp{nn_ndbf.rr} で定義されている. |
@item |
@item |
多項式 @var{f} の大域 b 関数 (global b-function) を計算する. 出力は |
多項式 @var{f} の大域 b 関数 (global b-function) を計算する. |
変数 @var{s} の多項式である. |
デフォルトでは大域 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 |
@item |
オプション @code{weight=[@var{v1,w1,...,vn,wn}]} が指定された場合, |
オプション @code{weight=[@var{v1,w1,...,vn,wn}]} が指定された場合, |
変数リスト @var{(v1,...,vn)} に対して weight @var{(w1,...,wn)} |
変数リスト @var{(v1,...,vn)} に対して weight @var{(w1,...,wn)} |
Line 171 In this manual we also explain about some related buil |
|
Line 179 In this manual we also explain about some related buil |
|
This function is defined in an asir-contrib package @samp{nn_ndbf.rr}. |
This function is defined in an asir-contrib package @samp{nn_ndbf.rr}. |
@item |
@item |
This function computes the global b-function of a polynomial @var{f}. |
This function computes the global b-function of a polynomial @var{f}. |
The output is a polynomial in @var{s}. |
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 |
@item |
If an option @code{weight=[@var{v1,w1,...,vn,wn}]} is given, |
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)}. |
the computation is done with a weight @var{(w1,...,wn)} for @var{(v1,...,vn)}. |
Line 186 If an option @code{vord=@var{v}} is given, a variable |
|
Line 202 If an option @code{vord=@var{v}} is given, a variable |
|
\E |
\E |
@end itemize |
@end itemize |
@example |
@example |
[1519] load("nn_ndbf.rr"); |
[...] load("nn_ndbf.rr"); |
[1602] ndbf.bfunction(x^3-y^2*z^2); |
[...] 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 |
-11664*s^7-93312*s^6-316872*s^5-592272*s^4-658233*s^3-435060*s^2 |
-158375*s-24500 |
-158375*s-24500 |
[1603] F=256*u1^3-128*u3^2*u1^2+(144*u3*u2^2+16*u3^4)*u1-27*u2^4 |
[...] 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$ |
-4*u3^3*u2^2$ |
[1604] ndbf.bfunction(F|weight=[u3,2,u2,3,u1,4]); |
[...] 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 |
576*s^6+3456*s^5+8588*s^4+11312*s^3+8329*s^2+3250*s+525 |
@end example |
@end example |
|
|
Line 236 If an option @code{vord=@var{v}} is given, a variable |
|
Line 257 If an option @code{vord=@var{v}} is given, a variable |
|
局所 b 関数 (local b-function) を計算する. 出力は局所 $b$ 関数の因子, 重複度のペアのリストである. |
局所 b 関数 (local b-function) を計算する. 出力は局所 $b$ 関数の因子, 重複度のペアのリストである. |
@item |
@item |
デフォルトでは局所 b 関数のみが出力されるが, オプション @code{op=1} が指定 |
デフォルトでは局所 b 関数のみが出力されるが, オプション @code{op=1} が指定 |
された場合, 局所 b 関数 @var{b} と, それを実現する微分作用素 @var{P} の |
された場合, 局所 b 関数 @var{b}, 微分作用素の共通分母 $a(x)$ および |
ペア @var{[b,P]} を返す. これらは |
微分作用素 @var{P} の組 @var{[b,a(x),P]} を返す. これらは |
@var{Pf^(s+1)=b(s)f^s} |
@var{a(x)Pf^(s+1)=b(s)f^s} を満たす. |
を満たす. 微分作用素は @var{v1,...,vn,dv1,...,dvn} の可換多項式として |
微分作用素は @var{v1,...,vn,dv1,...,dvn} の可換多項式として |
表現されている. この表現においては, 微分を表す d のついた変数も単なる |
表現されている. この表現においては, 微分を表す d のついた変数も単なる |
不定元として扱われているため, 係数多項式環の変数の前に表示されることも |
不定元として扱われているため, 係数多項式環の変数の前に表示されることも |
ありうるが, 多項式係数を左に置く正規表現として理解する必要がある. |
ありうるが, 多項式係数を左に置く正規表現として理解する必要がある. |
Line 267 This function is defined in an asir-contrib package @s |
|
Line 288 This function is defined in an asir-contrib package @s |
|
This function computes the local b-function of a polynomial @var{f} at a point @var{(v1,...,vn)=(a1,...,an)}. |
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. |
The output is a list of pairs of each factor of the local b-function and its multiplicity. |
@item |
@item |
By default only the local b-function is returned. If an option @code{op=1} is given, |
By default only the local b-function is returned. |
a pair @var{[b,P]} of the local b-function and a differential operator satisfying |
If an option @code{op=1} is given, |
@var{Pf^(s+1)=b(s)f^s}. The operator P is represented as a commutative polynomial |
a triple @var{[b,a,P]} of the local b-function, a polynomial and |
of variables @var{v1,...,vn,dv1,...,dvn}. Although the d-variables |
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, |
are treated as commutative indeterminates in this representation, |
it should be regarded as a canonical representation with each polynomial coefficient |
the polynomial should be regarded as a canonical representation with each polynomial coefficient |
placed at the left of d-variables. |
placed at the left of d-variables. |
@item |
@item |
If an option @code{weight=[@var{v1,w1,...,vn,wn}]} is given, |
If an option @code{weight=[@var{v1,w1,...,vn,wn}]} is given, |
Line 290 If an option @code{vord=@var{v}} is given, a variable |
|
Line 313 If an option @code{vord=@var{v}} is given, a variable |
|
\E |
\E |
|
|
@example |
@example |
[1527] load("nn_ndbf.rr"); |
[...] load("nn_ndbf.rr"); |
[1610] ndbf.bf_local(y*((x+1)*x^3-y^2),[x,-1,y,0]); |
[...] ndbf.bf_local(y*((x+1)*x^3-y^2),[x,-1,y,0]); |
[[-s-1,2]] |
[[-s-1,2]] |
[1611] ndbf.bf_local(y*((x+1)*x^3-y^2),[x,-1,y,0]|op=1); |
[...] 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 |
[[[-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 |
+((-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 |
+(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 |
Line 376 If an option @code{vord=@var{v}} is given, a variable |
|
Line 399 If an option @code{vord=@var{v}} is given, a variable |
|
\E |
\E |
|
|
@example |
@example |
[1537] load("nn_ndbf.rr"); |
[...] 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 |
[...] 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$ |
-4*u3^3*u2^2$ |
[1621] ndbf.bf_strat(F); |
[...] 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]]] |
[[[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]]] |
[[-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],...]]] |
[[-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+...],[...],[[-s-1,1]]], |
[[],[-256*u1^3+128*u3^2*u1^2+...],[]] |
[[],[-256*u1^3+128*u3^2*u1^2+...],[]]] |
@end example |
@end example |
|
|
\JP @node Annihilator 計算,,, 新 b 関数パッケージ nn_ndbf.rr |
\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 |
\EG @node Computation of annihilator ideal,,, New b-function package nn_ndbf.rr |
\JP @section Annihilator 計算 |
\JP @section Annihilator イデアル計算 |
\EG @section Computation of annihilator ideal |
\EG @section Computation of annihilator ideal |
|
|
@menu |
@menu |
Line 449 This option is useful when @var{f} is weighted homogen |
|
Line 539 This option is useful when @var{f} is weighted homogen |
|
\E |
\E |
|
|
@example |
@example |
[1542] load("nn_ndbf.rr"); |
[...] load("nn_ndbf.rr"); |
[1625] ndbf.ann(x*y*z*(x^3-y^2*z^2)); |
[...] 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 |
[(-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, |
-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*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, |