naginterfaces.library.sum.withdraw_fft_real_1d_multi_rfmt¶
- naginterfaces.library.sum.withdraw_fft_real_1d_multi_rfmt(m, n, x, init, trig)[source]¶
withdraw_fft_real_1d_multi_rfmt
computes the discrete Fourier transforms of sequences, each containing real data values. This function is designed to be particularly efficient on vector processors.Deprecated since version 27.2.0.0:
withdraw_fft_real_1d_multi_rfmt
will be removed in naginterfaces 30.2.0.0. Please usefft_realherm_1d_multi_row()
orfft_realherm_1d_multi_col()
instead. See also the Replacement Calls document.For full information please refer to the NAG Library document for c06fp
https://www.nag.com/numeric/nl/nagdoc_29.3/flhtml/c06/c06fpf.html
- Parameters
- mint
, the number of sequences to be transformed.
- nint
, the number of real values in each sequence.
- xfloat, array-like, shape
The data must be stored in as if in a two-dimensional array of dimension ; each of the sequences is stored in a row of the array. In other words, if the data values of the th sequence to be transformed are denoted by , for , the elements of the array must contain the values
- initstr, length 1
Indicates whether trigonometric coefficients are to be calculated.
Calculate the required trigonometric coefficients for the given value of , and store in the array .
or
The required trigonometric coefficients are assumed to have been calculated and stored in the array in a prior call to one of
withdraw_fft_real_1d_multi_rfmt
orwithdraw_fft_hermitian_1d_multi_rfmt()
. The function performs a simple check that the current value of is consistent with the values stored in .- trigfloat, array-like, shape
If or , must contain the required trigonometric coefficients that have been previously calculated. Otherwise need not be set.
- Returns
- xfloat, ndarray, shape
The discrete Fourier transforms stored as if in a two-dimensional array of dimension . Each of the transforms is stored in a row of the array in Hermitian form, overwriting the corresponding original sequence. If the components of the discrete Fourier transform are written as , then for , is contained in , and for , is contained in . (See also the C06 Introduction.)
- trigfloat, ndarray, shape
Contains the required coefficients (computed by the function if ).
- Raises
- NagValueError
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, .
Constraint: , or .
- (errno )
On entry, but and array incompatible.
- Notes
In the NAG Library the traditional C interface for this routine uses a different algorithmic base. Please contact NAG if you have any questions about compatibility.
Given sequences of real data values , for , for ,
withdraw_fft_real_1d_multi_rfmt
simultaneously calculates the Fourier transforms of all the sequences defined by(Note the scale factor in this definition.)
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 (see also the C06 Introduction).
The discrete Fourier transform is sometimes defined using a positive sign in the exponential term:
To compute this form, this function should be followed by forming the complex conjugates of the ; that is , for .
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 . This function is designed to be particularly efficient on vector processors, and it becomes especially fast as , the number of transforms to be computed in parallel, increases.
- 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