# Singular

##### 7.5.5.0. inverseFourier
Procedure from library `dmodapp.lib` (see dmodapp_lib).

Usage:
inverseFourier(I[,v]); I an ideal, v an optional intvec

Return:
ideal

Purpose:
computes the inverse Fourier transform of an ideal in a Weyl algebra

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).

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 inverse 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; ideal FI = fourier(I); inverseFourier(FI); ==> _[1]=x*Dx+2*y*Dy+2 ==> _[2]=x^2*Dx+y*Dx+2*x ```