naginterfaces.library.sum.fft_​realherm_​1d_​multi_​col

naginterfaces.library.sum.fft_realherm_1d_multi_col(direct, n, m, x)[source]

fft_realherm_1d_multi_col computes the discrete Fourier transforms of sequences, each containing real data values or a Hermitian complex sequence stored column-wise in a complex storage format.

For full information please refer to the NAG Library document for c06pq

https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/c06/c06pqf.html

Parameters
directstr, length 1

If the forward transform as defined in Notes is to be computed, must be set equal to ‘F’.

If the backward transform is to be computed, must be set equal to ‘B’.

nint

, the number of real or complex values in each sequence.

mint

, the number of sequences to be transformed.

xfloat, array-like, shape

The real or Hermitian data sequences to be transformed.

if , the real data sequences, , for , should be stored sequentially in , with a stride of between sequences.

if , the Hermitian data sequences, , for , should be stored sequentially in , with a stride of between sequences.

In other words:

if , must contain , for , for ;

if , and must contain the real and imaginary parts respectively of , for , for . (Note that for the sequence to be Hermitian, the imaginary part of , and of for even, must be zero.)

Returns
xfloat, ndarray, shape

If then the sequences, , for stored as described on entry for

if then the sequences, , for stored as described on entry for

Raises
NagValueError
(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: or .

(errno )

An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.

Notes

Given sequences of real data values , for , for , fft_realherm_1d_multi_col simultaneously calculates the Fourier transforms of all the sequences defined by

The transformed values are complex, but for each value of the form a Hermitian sequence (i.e., is the complex conjugate of ), so they are completely determined by real numbers (since is real, as is for even).

Alternatively, given Hermitian sequences of complex data values , this function simultaneously calculates their inverse (backward) discrete Fourier transforms defined by

The transformed values are real.

(Note the scale factor in the above definition.)

A call of fft_realherm_1d_multi_col with followed by a call with will restore the original data.

The function uses a variant of the fast Fourier transform (FFT) algorithm (see Brigham (1974)) known as the Stockham self-sorting algorithm, which is described in Temperton (1983). Special coding is provided for the factors , , and .

References

Brigham, E O, 1974, The Fast Fourier Transform, Prentice–Hall

Temperton, C, 1983, Fast mixed-radix real Fourier transforms, J. Comput. Phys. (52), 340–350