|
7.7.5.0. integralIdeal
Procedure from library dmodapp.lib (see dmodapp_lib).
- Usage:
- integralIdeal(I,w,[,eng,m,G]);
I ideal, w intvec, eng and m optional ints, G optional ideal
- Return:
- ring (a Weyl algebra) containing an ideal 'intIdeal'
- Assume:
- The basering is the n-th Weyl algebra over a field of characteristic 0
and for all 1<=i<=n the identity var(i+n)*var(i)=var(i)*var(i+1)+1
holds, i.e. the sequence of variables is given by
x(1),...,x(n),D(1),...,D(n), where D(i) is the differential operator
belonging to x(i).
Further, assume that I is holonomic and that w is n-dimensional with
non-negative entries.
- Purpose:
- computes the integral ideal of a holonomic ideal w.r.t. the subspace
defined by the variables corresponding to the non-zero entries of the
given intvec.
- Note:
- The output ring is the Weyl algebra defined by the zero entries of w.
It contains ideal 'intIdeal' being the integral ideal of I w.r.t. w.
If there are no zero entries, the input ring is returned.
If eng<>0, std is used for Groebner basis computations,
otherwise, and by default, slimgb is used.
The minimal integer root of the b-function of I wrt the weight (-w,w)
can be specified via the optional argument m.
The optional argument G is used for specifying a Groebner basis of I
wrt the weight (-w,w), that is, the initial form of G generates the
initial ideal of I wrt the weight (-w,w).
Further note, that the assumptions on m and G (if given) are not
checked.
- Display:
- If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
Example:
| LIB "dmodapp.lib";
ring r = 0,(x,b,Dx,Db),dp;
def D2 = Weyl();
setring D2;
ideal I = x*Dx+2*b*Db+2, x^2*Dx+b*Dx+2*x;
intvec w = 1,0;
def D1 = integralIdeal(I,w);
setring D1; D1;
==> // characteristic : 0
==> // number of vars : 2
==> // block 1 : ordering C
==> // block 2 : ordering dp
==> // : names b Db
==> // noncommutative relations:
==> // Dbb=b*Db+1
intIdeal;
==> intIdeal[1]=2*b*Db+1
|
|