# nn_ndbf

### Nov 2009

by Masayuki Noro and Kenta Nishiyama

 [ << ] [ < ] [ Up ] [ > ] [ >> ] [Top] [Contents] [Index] [ ? ]

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’.

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

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

## 0.1 Computation of b-function

 [ << ] [ < ] [ Up ] [ > ] [ >> ] [Top] [Contents] [Index] [ ? ]

### 0.1.1 `ndbf.bfunction`

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

a list `[v1,w1,...,vn,wn]`

yesno

0 or 1

v

a list of variables

• 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.
```[...] 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
```

 [ << ] [ < ] [ Up ] [ > ] [ >> ] [Top] [Contents] [Index] [ ? ]

### 0.1.2 `ndbf.bf_local`

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

a list `[v1,a1,...,vn,an]`

w

a list `[v1,w1,...,vn,wn]`

yesno

0 or 1

v

a list of variables

• 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.
```[...] 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]
```

 [ << ] [ < ] [ Up ] [ > ] [ >> ] [Top] [Contents] [Index] [ ? ]

### 0.1.3 `ndbf.bf_strat`

ndbf.bf_strat(f[|weight=w,heruristic=h,vord=v])

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

return

a list

f

a polynomial

w

a list `[v1,w1,...,vn,wn]`

h

0 or 1

v

li ist of variables

• 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.
```[...] 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+...],[]]]
```

 [ << ] [ < ] [ Up ] [ > ] [ >> ] [Top] [Contents] [Index] [ ? ]

### 0.1.4 `ndbf.action_on_gfs`

ndbf.action_on_gfs(op,v,gfs)

:: computes the action of an operatior op on gf^(s+a)

return

a list

op

a differential operator

gfs

a list [g,f,s+a]

v

list of variables of f (v=[v1,...,vn])

• This function computes the action of a differential operator op on gf^(s+a).
• g is a polynomial with variables v1,...,vn.
• op is represented by a polynonmial with [v1,...,vn,dv1,...,dvn].
• The input list [g,f,s+a] represents gf^(s+a).
• The result is a list [h,f,s+c] and it means hf^(s+c), where c is an integer. If op is an operator giving b-function b(s), then c=0 for a=1 and h=b(s) (global case) or h=b(s)d(v) (local case).
```[...] 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]
```

 [ << ] [ < ] [ Up ] [ > ] [ >> ] [Top] [Contents] [Index] [ ? ]

## 0.2 Computation of annihilator ideal

 [ << ] [ < ] [ Up ] [ > ] [ >> ] [Top] [Contents] [Index] [ ? ]

### 0.2.1 `ndbf.ann`

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

a list `[v0,w1,...,vn,wn]`

• 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).
```[...] 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]
```

 [ << ] [ < ] [ Up ] [ > ] [ >> ] [Top] [Contents] [Index] [ ? ]

# Index

 [Top] [Contents] [Index] [ ? ]

 [Top] [Contents] [Index] [ ? ]

 [Top] [Contents] [Index] [ ? ]

This document was generated on June 5, 2023 using texi2html 5.0.

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ << ] FastBack Beginning of this chapter or previous chapter 1
[ < ] Back Previous section in reading order 1.2.2
[ Up ] Up Up section 1.2
[ > ] Forward Next section in reading order 1.2.4
[ >> ] FastForward Next chapter 2
[Top] Top Cover (top) of document
[Index] Index Index

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

• 1. Section One
• 1.1 Subsection One-One
• ...
• 1.2 Subsection One-Two
• 1.2.1 Subsubsection One-Two-One
• 1.2.2 Subsubsection One-Two-Two
• 1.2.3 Subsubsection One-Two-Three     <== Current Position
• 1.2.4 Subsubsection One-Two-Four
• 1.3 Subsection One-Three
• ...
• 1.4 Subsection One-Four

This document was generated on June 5, 2023 using texi2html 5.0.