HP MLIB User's Guide Vol. 2 7th Ed.

580 HP MLIB User’s Guide
SRC3FT/DRC3FT Real-to-complex three-dimensional FFT
Alternatively, the three-dimensional, real, inverse discrete Fourier transform of
Z(m
1
,m
2
,m
3
), for m
1
= 1, 2, ..., l
1
, m
2
= 1, 2, ..., l
2
, and m
3
= 1, 2, ..., l
3
, is
defined by
for n
1
= 1, 2, ..., l
1
, n
2
= 1, 2, ..., l
2
, and n
3
= 1, 2, ..., l
3
.
For best performance, these subprograms require that l
1
, l
2
, and l
3
be products
of powers of 2, 3, and 5, that is, of the form
where p
k
, q
k
, r
k
0, k = 1, 2, 3, and where either l
1
= 1 or l
1
is even.
Usage VECLIB:
INTEGER*4 l1, l2, l3, ldx, mdx, iopt, ier
REAL*4 x(ldx, mdx, l3)
CALL SRC3FT(x, l1, l2, l3, ldx, mdx, iopt, ier)
INTEGER*4 l1, l2, l3, ldx, mdx, iopt, ier
REAL*8 x(ldx, mdx, l3)
CALL DRC3FT(x, l1, l2, l3, ldx, mdx, iopt, ier)
VECLIB8:
INTEGER*8 l1, l2, l3, ldx, mdx, iopt, ier
REAL*4 x(ldx, mdx, l3)
CALL SRC3FT(x, l1, l2, l3, ldx, mdx, iopt, ier)
INTEGER*8 l1, l2, l3, ldx, mdx, iopt, ier
REAL*8 x(ldx, mdx, l3)
CALL DRC3FT(x, l1, l2, l3, ldx, mdx, iopt, ier)
Input x Array of data to be transformed.
For a forward real-to-complex transform, the real data
point z(n
1
, n
2
, n
3
) is stored in x(n
1
, n
2
, n
3
),
n
1
= 1, 2, ..., l1, n
2
= 1, 2, ..., l2,
n
3
= 1, 2, ...,2, ..., l3.
zn
1
n
2
n
3
,,()
1
l
1
l
2
l
3
--------------
Zm
1
m
2
m
3
,,()
e
+2πim
1
1()n
1
1()l
1
e
+2πim
2
1()n
2
1()l
2
e
+2πim
3
1()n
3
1()
×
m
3
1=
l
3
m
2
1=
l
2
m
1
1=
l
1
=
l
k
2
p
k
3
q
k
5
r
k
,=