sinq1b
Return to Main Contents
NAME
SINQ1B - real backward quarter-sine fast Fourier transform
SYNOPSIS
SUBROUTINE SINQ1B (N, INC, R, LENR, WSAVE, LENSAV, WORK, LENWRK, IER)
INTEGER N, INC, LENR, LENSAV, LENWRK, IER
REAL R(LENR), WSAVE(LENSAV), WORK(LENWRK)
DESCRIPTION
FFTPACK 5.0 routine SINQ1B computes the one-dimensional Fourier
transform of a sequence which is a sine series with odd wave
numbers. This transform is referred to as the backward transform
or Fourier synthesis, transforming the sequence from spectral to
physical space.
This transform is normalized since a call to SINQ1B followed
by a call to SINQ1F (or vice-versa) reproduces the original
array within roundoff error.
Input Arguments
N Integer length of the 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 R,
of two consecutive elements within the sequence.
R Real array of length LENR containing the sequence to be
transformed.
LENR Integer dimension of R array. LENR must be at least
INC*(N-1)+ 1.
WSAVE Real work array of length LENSAV. WSAVE's contents must
be initialized with a call to subroutine SINQ1I before the
first call to routine SINQ1F or SINQ1B for a given transform
length N. WSAVE's contents may be re-used for subsequent
calls to SINQ1F and SINQ1B with the same 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 at least LENWRK.
LENWRK Integer dimension of WORK array. LENWRK must be at least N.
Output Arguments
R Real output array R. For purposes of exposition,
assume R's range of indices is given by
R(INC:N*INC).
The output values of R are written over the input values.
For J=1,...,N
R(J*INC) =
N
SUM R(N1*INC)*SIN(J*(2*N1-1)*PI/(2*N))
N1=1
IER Integer error return
= 0 successful exit
= 1 input parameter LENR not big enough
= 2 input parameter LENSAV not big enough
= 3 input parameter LENWRK not big enough
= 20 input error returned by lower level routine