nag_fft_hermitian (c06ebc) calculates the discrete Fourier transform of a Hermitian sequence of complex data values. (No extra workspace required.)
Given a Hermitian sequence of
complex data values
(i.e., a sequence such that
is real and
is the complex conjugate of
, for
), nag_fft_hermitian (c06ebc) calculates their discrete Fourier transform defined by
(Note the scale factor of
in this definition.) The transformed values
are purely real (see also the
c06 Chapter Introduction).
To compute the inverse discrete Fourier transform defined by
this function should be preceded by a call of
nag_conjugate_hermitian (c06gbc) to form the complex conjugates of the
.
nag_fft_hermitian (c06ebc) uses the fast Fourier transform (FFT) algorithm (see
Brigham (1974)). There are some restrictions on the value of
(see
Section 5).
Some indication of accuracy can be obtained by performing a subsequent inverse transform and comparing the results with the original sequence (in exact arithmetic they would be identical).
Not applicable.
This example reads in a sequence of real data values which is assumed to be a Hermitian sequence of complex data values stored in Hermitian form. The input sequence is expanded into a full complex sequence and printed alongside the original sequence. The discrete Fourier transform (as computed by nag_fft_hermitian (c06ebc)) is printed out. It then performs an inverse transform using
nag_fft_real (c06eac) and
nag_conjugate_hermitian (c06gbc), and prints the sequence so obtained alongside the original data values.