VSFFT
C
C * * * * * * * * * * * * * *
C * *
C * VSFFTPK *
C * *
C * * * * * * * * * * * * * *
C
C
C (VERSION 1, AUGUST 1985)
C
C A VECTORIZED PACKAGE OF FORTRAN SUBPROGRAMS FOR THE FAST
C TRANSFORM OF MULTIPLE REAL SEQUENCES DEFINED ON A STAGGERED GRID
C
C BY
C
C LINDA L. LINDGREN AND ROLAND A. SWEET
C
C SCIENTIFIC COMPUTING DIVISION
C NATIONAL BUREAU OF STANDARDS
C BOULDER, COLORADO 80303
C
C
C * * * * * * * * * * * * * *
C * *
C * PURPOSE *
C * *
C * * * * * * * * * * * * * *
C
C
C THIS PACKAGE HAS BEEN WRITTEN TO PERFORM FAST TRANSFORMS OF
C DISCRETE FUNCTIONS DEFINED ON A 'STAGGERED' GRID, I.E. A GRID ON
C WHICH BOUNDARY VALUES ARE IMPOSED, NOT AT A GRID POINT, BUT AT A
C POINT MIDWAY BETWEEN TWO GRID POINTS. SUCH TRANSFORMS MAY BE
C USED TO EFFICIENTLY SOLVE POISSON-TYPE PARTIAL DIFFERENTIAL
C EQUATIONS. EACH TRANSFORM IS DESCRIBED IN THE DOCUMENTATION FOR
C EACH INDIVIDUAL ROUTINE.
C
C
C NOTATION: TO SIMULATE THE MATHEMATICAL SYMBOL 'SIGMA'
C THAT REPRESENTS SUMMATION, WE DEFINE THE NOTATION
C
C SUM(L=IS,IF)[ Y(L) ] = Y(IS) + Y(IS+1) + . . . + Y(IF) .
C
C
C
C * * * * * * * * * * * * * * * * * * * * *
C * *
C * DESCRIPTION OF PACKAGE *
C * *
C * * * * * * * * * * * * * * * * * * * * *
C
C
C THIS PACKAGE CONSISTS OF SEVERAL SUBROUTINES THAT PERFORM FAST
C STAGGERED GRID TRANSFORMS ON MULTIPLE REAL SEQUENCES. EACH
C TRANSFORM ROUTINE CONSISTS OF THREE TASKS: A PRE-PROCESSING STEP
C THAT COMPUTES A NEW SEQUENCE FROM THE GIVEN DATA, CALLS THE
C APPROPRIATE ROUTINE IN THE VECTORIZED FAST FOURIER TRANSFORM
C PACKAGE VRFFTPK TO CALCULATE AN FFT OF THE NEW SEQUENCE, AND THEN
C AS A POST-PROCESSING STEP COMPUTES THE REQUIRED TRANSFORM FROM THE
C REAL PERIODIC TRANSFORM. EACH TRANSFORM ROUTINE HAS AN ASSOCIATED
C INITIALIZATION ROUTINE THAT MUST BE CALLED BEFORE THE TRANSFORM.
C
C THE USER-CALLABLE SUBROUTINES ARE:
C
C 1. VSRFTI INITIALIZATION ROUTINE FOR VSRFTF AND VSRFTB
C 2. VSCOSI INITIALIZATION ROUTINE FOR VSCOSF AND VSCOSB
C 3. VSSINI INITIALIZATION ROUTINE FOR VSSINF AND VSSINB
C (THIS ROUTINE EXISTS ONLY AS AN ENTRY POINT IN
C VSCOSI.)
C 4. VSCSQI INITIALIZATION ROUTINE FOR VSCOSQ
C 5. VSSNQI INITIALIZATION ROUTINE FOR VSSINQ (THIS ROUTINE
C EXISTS ONLY AS AN ENTRY POINT IN VSCSQI.)
C 6. VSRFTF ANALYSIS (FORWARD TRANSFORM) OF MULTIPLE REAL
C STAGGERED GRID SEQUENCES INTO FOURIER COEFFICIENTS
C 7. VSRFTB SYNTHESIS (BACKWARD TRANSFORM) OF MULTIPLE
C FOURIER COEFFICIENTS INTO REAL STAGGERED GRID
C SEQUENCES
C 8. VSCOSF ANALYSIS (FORWARD TRANSFORM) OF MULTIPLE REAL
C STAGGERED GRID SEQUENCES INTO FOURIER COSINE
C COEFFICIENTS
C 9. VSCOSB SYNTHESIS (BACKWARD TRANSFORM) OF MULTIPLE FOURIER
C COSINE COEFFICIENTS INTO REAL STAGGERED GRID
C SEQUENCES
C 10. VSCOSQ ANALYSIS AND SYNTHESIS (FORWARD AND BACKWARD
C TRANSFORM) OF MULTIPLE REAL STAGGERED GRID
C SEQUENCES INTO FOURIER COSINE QUARTER-WAVE
C COEFFICIENTS
C 11. VSSINF ANALYSIS (FORWARD TRANSFORM) OF MULTIPLE REAL
C STAGGERED GRID SEQUENCES INTO FOURIER SINE
C COEFFICIENTS
C 12. VSSINB SYNTHESIS (BACKWARD TRANSFORM) OF MULTIPLE FOURIER
C SINE COEFFICIENTS INTO REAL STAGGERED GRID
C SEQUENCES
C 13. VSSINQ ANALYSIS AND SYNTHESIS (FORWARD AND BACKWARD
C TRANSFORM) OF MULTIPLE REAL STAGGERED GRID
C SEQUENCES INTO FOURIER SINE QUARTER-WAVE
C COEFFICIENTS
C
C ALL VECTOR LENGTHS ARE EQUAL TO THE NUMBER OF VECTORS BEING
C TRANSFORMED.
C