Top
Back: dmodapp_lib
Forward: annRat
FastBack:
FastForward:
Up: dmodapp_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.5.5.0. annPoly
Procedure from library dmodapp.lib (see dmodapp_lib).

Usage:
annPoly(f); f a poly

Return:
ring (a Weyl algebra) containing an ideal 'LD'

Purpose:
compute the complete annihilator ideal of f in the corresponding
Weyl algebra

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

Note:
Activate the output ring with the setring command.
In the output ring, the ideal 'LD' (in Groebner basis) is the
annihilator.

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,z),dp;
poly f = x^2*z - y^3;
def A = annPoly(f);
setring A;    // A is the 3rd Weyl algebra in 6 variables
LD;           // the Groebner basis of annihilator
==> LD[1]=Dz^2
==> LD[2]=Dy*Dz
==> LD[3]=Dx*Dy
==> LD[4]=y*Dy+3*z*Dz-3
==> LD[5]=x*Dx-2*z*Dz
==> LD[6]=z*Dx*Dz-Dx
==> LD[7]=Dy^3+3*Dx^2*Dz
==> LD[8]=x*Dy^2+3*y*Dx*Dz
==> LD[9]=x^2*Dy+3*y^2*Dz
==> LD[10]=Dx^3
==> LD[11]=3*y*Dx^2+z*Dy^2
==> LD[12]=3*y^2*Dx+2*x*z*Dy
==> LD[13]=y^3*Dz-x^2*z*Dz+x^2
gkdim(LD);    // must be 3 = 6/2, since A/LD is holonomic module
==> 3
NF(Dy^4, LD); // must be 0 since Dy^4 clearly annihilates f
==> 0
poly f = imap(r,f);
NF(LD*f,std(ideal(Dx,Dy,Dz))); // must be zero if LD indeed annihilates f
==> _[1]=0
==> _[2]=0
==> _[3]=0
==> _[4]=0
==> _[5]=0
==> _[6]=0
==> _[7]=0
==> _[8]=0
==> _[9]=0
==> _[10]=0
==> _[11]=0
==> _[12]=0
==> _[13]=0
See also: annRat.


Top Back: dmodapp_lib Forward: annRat FastBack: FastForward: Up: dmodapp_lib Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 4.3.1, 2022, generated by texi2html.