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