cfftmb
Return to Main Contents
NAME
CFFTMB - complex, multiple backward fast Fourier transform
SYNOPSIS
SUBROUTINE CFFTMB (LOT, JUMP, N, INC, C, LENC, WSAVE, LENSAV,
1 WORK, LENWRK, IER)
INTEGER LOT, JUMP, N, INC, LENC, LENSAV, LENWRK, IER
COMPLEX C(LENC)
REAL WSAVE(LENSAV), WORK(LENWRK)
DESCRIPTION
FFTPACK 5.0 routine CFFTMB computes the one-dimensional Fourier
transform of multiple periodic sequences within a complex array.
This transform is referred to as the backward transform or Fourier
synthesis, transforming the sequences from spectral to physical
space.
This transform is normalized since a call to CFFTMF followed
by a call to CFFTMB (or vice-versa) reproduces the original
array within roundoff error.
Input Arguments
LOT Integer number of sequences to be transformed within
array C.
JUMP Integer increment between the locations, in array C,
of the first elements of two consecutive sequences
to be transformed.
N Integer length of each sequence to be transformed. The
transform is most efficient when N is a product of
small primes.
INC Integer increment between the locations, in array C,
of two consecutive elements within the same sequence
to be transformed.
C Complex array containing LOT sequences, each having
length N, to be transformed. C can have any number
of dimensions, but the total number of locations must
be at least LENC.
LENC Integer dimension of C array. LENC must be at
least (LOT-1)*JUMP + INC*(N-1) + 1.
WSAVE Real work array of length LENSAV. WSAVE's contents must
be initialized with a call to subroutine CFFTMI before the
first call to routine CFFTMF or CFFTMB for a given transform
length N.
LENSAV Integer dimension of WSAVE array. LENSAV must be at least
2*N + INT(LOG(REAL(N))) + 4.
WORK Real work array of dimension LENWRK.
LENWRK Integer dimension of WORK array. LENWRK must be at
least 2*LOT*N.
Output Arguments
C For index L*JUMP+J*INC+1 where J=0,...,N-1 and
L=0,...,LOT-1, (that is, for the Jth element of the Lth
sequence),
C(L*JUMP+J*INC+1) =
N-1
SUM C(L*JUMP+K*INC+1)*EXP(I*J*K*2*PI/N)
K=0
where I=SQRT(-1).
At other indices, the output value of C does not differ
from input.
IER = 0 successful exit
= 1 input parameter LENC not big enough
= 2 input parameter LENSAV not big enough
= 3 input parameter LENWRK not big enough
= 4 input parameters INC,JUMP,N,LOT are not consistent.
The parameters integers INC, JUMP, N and LOT are
consistent if equality
I1*INC + J1*JUMP = I2*INC + J2*JUMP for I1,I2 < N
and J1,J2 < LOT implies I1=I2 and J1=J2.
For multiple FFTs to execute correctly, input variables
INC, JUMP, N and LOT must be consistent ... otherwise at
least one array element mistakenly is transformed more
than once.