Home Online Manual
Top
Back: GBWeight
Forward: initialIdealW
FastBack: dmod_lib
FastForward: dmodvar_lib
Up: dmodapp_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.7.5.0. initialMalgrange
Procedure from library dmodapp.lib (see dmodapp_lib).

Usage:
initialMalgrange(f,[,a,b,v]); f poly, a,b optional ints, v opt. intvec

Return:
ring, Weyl algebra induced by basering, extended by two new vars t,Dt

Purpose:
computes the initial Malgrange ideal of a given polynomial w.r.t. the
weight vector (-1,0...,0,1,0,...,0) such that the weight of t is -1
and the weight of Dt is 1.

Assume:
The basering is commutative and over a field of characteristic 0.

Note:
Activate the output ring with the setring command.
The returned ring contains the ideal 'inF', being the initial ideal
of the Malgrange ideal of f.
Varnames of the basering should not include t and Dt.
If a<>0, std is used for Groebner basis computations,
otherwise, and by default, slimgb is used.
If b<>0, a matrix ordering is used for Groebner basis computations,
otherwise, and by default, a block ordering is used.
If a positive weight vector v is given, the weight
(d,v[1],...,v[n],1,d+1-v[1],...,d+1-v[n]) is used for homogenization
computations, where d denotes the weighted degree of f.
Otherwise and by default, v is set to (1,...,1). See Noro (2002).

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),dp;
poly f = x^2+y^3+x*y^2;
def D = initialMalgrange(f);
setring D;
inF;
==> inF[1]=x*Dt
==> inF[2]=2*x*y*Dx+3*y^2*Dx-y^2*Dy-2*x*Dy
==> inF[3]=2*x^2*Dx+x*y*Dx+x*y*Dy+18*t*Dt+9*x*Dx-x*Dy+6*y*Dy+4*x+18
==> inF[4]=18*t*Dt^2+6*y*Dt*Dy-y*Dt+27*Dt
==> inF[5]=y^2*Dt
==> inF[6]=2*t*y*Dt+2*x*y*Dx+2*y^2*Dx-6*t*Dt-3*x*Dx-x*Dy-2*y*Dy+2*y-6
==> inF[7]=x*y^2+y^3+x^2
==> inF[8]=2*y^3*Dx-2*y^3*Dy-3*y^2*Dx-2*x*y*Dy+y^2*Dy-4*y^2+36*t*Dt+18*x*Dx+1\
   2*y*Dy+36
setring r;
intvec v = 3,2;
def D2 = initialMalgrange(f,1,1,v);
setring D2;
inF;
==> inF[1]=x*Dt
==> inF[2]=2*x*y*Dx+3*y^2*Dx-y^2*Dy-2*x*Dy
==> inF[3]=4*x^2*Dx-3*y^2*Dx+2*x*y*Dy+y^2*Dy+36*t*Dt+18*x*Dx+12*y*Dy+8*x+36
==> inF[4]=18*t*Dt^2+6*y*Dt*Dy-y*Dt+27*Dt
==> inF[5]=y^2*Dt
==> inF[6]=2*t*y*Dt-y^2*Dx+y^2*Dy-6*t*Dt-3*x*Dx+x*Dy-2*y*Dy+2*y-6
==> inF[7]=x*y^2+y^3+x^2
==> inF[8]=2*y^3*Dx-2*y^3*Dy-3*y^2*Dx-2*x*y*Dy+y^2*Dy-4*y^2+36*t*Dt+18*x*Dx+1\
   2*y*Dy+36