
7.5.5.0. fourier
Procedure from library dmodapp.lib (see dmodapp_lib).
 Usage:
 fourier(I[,v]); I an ideal, v an optional intvec
 Return:
 ideal
 Purpose:
 computes the Fourier transform of an ideal in a Weyl algebra
 Assume:
 The basering is the nth 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).
 Note:
 The Fourier automorphism is defined by mapping x(i) to D(i) and
D(i) to x(i).
If v is an intvec with entries ranging from 1 to n, the Fourier
transform of I restricted to the variables given by v is computed.
Example:
 LIB "dmodapp.lib";
ring r = 0,(x,y,Dx,Dy),dp;
def D2 = Weyl();
setring D2;
ideal I = x*Dx+2*y*Dy+2, x^2*Dx+y*Dx+2*x;
intvec v = 2;
fourier(I,v);
==> _[1]=x*Dx2*y*Dy
==> _[2]=x^2*DxDx*Dy+2*x
fourier(I);
==> _[1]=x*Dx2*y*Dy1
==> _[2]=x*Dx^2x*Dy
 See also:
inverseFourier.
