# Singular

##### 7.7.5.0. initialIdealW
Procedure from library `dmodapp.lib` (see dmodapp_lib).

Usage:
initialIdealW(I,u,v [,s,t,w]);
I ideal, u,v intvecs, s,t optional ints, w an optional intvec

Return:
ideal, GB of initial ideal of the input ideal wrt the weights u and v

Assume:
The basering is the n-th Weyl algebra in 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).

Purpose:
computes the initial ideal with respect to given weights.

Note:
u and v are understood as weight vectors for x(1..n) and D(1..n)
respectively.
If s<>0, `std` is used for Groebner basis computations,
otherwise, and by default, `slimgb` is used.
If t<>0, a matrix ordering is used for Groebner basis computations,
otherwise, and by default, a block ordering is used.
If w is given and consists of exactly 2*n strictly positive entries,
w is used as homogenization weight.
Otherwise, and by default, the homogenization weight (1,...,1) is used.

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,y,Dx,Dy),dp; def D2 = Weyl(); setring D2; ideal I = 3*x^2*Dy+2*y*Dx,2*x*Dx+3*y*Dy+6; intvec u = -2,-3; intvec v = -u; initialIdealW(I,u,v); ==> _[1]=2*x*Dx+3*y*Dy+6 ==> _[2]=3*x^2*Dy+2*y*Dx ==> _[3]=9*x*y*Dy^2-4*y*Dx^2+15*x*Dy ==> _[4]=27*y^2*Dy^3+8*y*Dx^3+135*y*Dy^2+105*Dy ideal J = std(I); initialIdealW(J,u,v); // same as above ==> _[1]=2*x*Dx+3*y*Dy+6 ==> _[2]=3*x^2*Dy+2*y*Dx ==> _[3]=9*x*y*Dy^2-4*y*Dx^2+15*x*Dy ==> _[4]=27*y^2*Dy^3+8*y*Dx^3+135*y*Dy^2+105*Dy u = 0,1; initialIdealW(I,u,v); ==> _[1]=Dx ==> _[2]=Dy ```