Node:ZFFT1M, Next:, Previous:Multi-1D FFT, Up:Multi-1D FFT



ZFFT1M Routine Documentation

ZFFT1M (MODE,M,N,X,COMM,INFO) SUBROUTINE
INTEGER MODE Input
The value of MODE on input determines the operation performed by ZFFT1M.
On input:
  • MODE=0 : only initializations (specific to the value of N) are performed; this is usually followed by calls to the same routine with MODE=-1 or 1.
  • MODE=-1 : forward transforms are performed. Initializations are assumed to have been performed by a prior call to ZFFT1M.
  • MODE=1 : backward (reverse) transforms are performed. Initializations are assumed to have been performed by a prior call to ZFFT1M.
  • MODE=-2 : initializations and forward transforms are performed.
  • MODE=2 : initializations and backward transforms are performed.

INTEGER M Input
On input: M is the number of sequences to be transformed.

INTEGER N Input
On input: N is the length of the complex sequences in X

COMPLEX*16 X(N*M) Input/Output
On input: X contains the M complex sequences of length N to be transformed. Element i of sequence j is stored in location i+(j-1)*N of X.
On output: X contains the transformed sequences.

COMPLEX*16 COMM(3*N+100) Input/Output
COMM is a communication array. Some portions of the array are used to store initializations for subsequent calls with the same sequence length N. The remainder is used as temporary store.

INTEGER INFO Output
On output: INFO is an error indicator. On successful exit, INFO contains 0. If INFO = -i on exit, the i-th argument had an illegal value.

     Example:
             CALL ZFFT1M(0,1,N,X,COMM,INFO)
             CALL ZFFT1M(-1,2,N,X,COMM,INFO)
             DO 10 I = 1, N
                X(I,3) = X(I,1)*DCONJG(X(I,2))
                X(I,2) = DCMPLX(0.0D0,1.0D0)*X(I,2)
        10   CONTINUE
             CALL ZFFT1M(1,2,N,X(1,2),COMM,INFO)