ILNumerics Ultimate VS

ILMathifftnsym Method (InArrayfcomplex, InArrayInt64)

ILNumerics Ultimate VS Documentation
ILNumerics - Technical Application Development
Inverse fast fourier transform (n-D, fcomplex hermitian, specific size)

[ILNumerics Computing Engine]

Namespace:  ILNumerics
Assembly:  ILNumerics.Computing (in ILNumerics.Computing.dll) Version: (5.5.7503.3146)

public static RetArray<float> ifftnsym(
	InArray<fcomplex> A,
	InArray<long> dims


Type: ILNumericsInArrayfcomplex
Complex hermitian input array, n-D
Type: ILNumericsInArrayInt64
Transformation lengths, specifies the length of the dimensions for the transformation array. The length of dims must be > or equal to the number of dimensions of A. For elements in dim being smaller than corresponding dimension length in A, the dimensions will be truncated, otherwise zeros will be padded.

Return Value

Type: RetArraySingle
Transformation result, real array of the size specified by the 'dims' parameter

ArgumentExceptionis thrown if the dim parameter is null, its length is less then the number of dimensions of A or any element of dims is non-negative

The n-dimensional transformation is computed for the n-dimensional array A. Before the transform, the input is resized according to the 'dims' parameter. Dimensions larger than corresponding entries in 'dim' are truncated, dimensions smaller than corresponding entries in 'dim' are zero padded.

The n-dimensional transformation is equivalent to repeatedly (inplace) computing one dimensional transformations along all dimensions of A. However, using this function may be of magnitudes faster than using 1D transformations. This depends on the algorithm and API provided by the underlying native library.

Since a transform of fcomplex hermitian input data results in the output having the imaginary part equals zero, only the real part is returned for convenience reasons.

No check is made for A being hermitian! If A is not hermitian (by means of round-off errors), the result will be wrong!

The forward fourier transform and the inverse fourier transform of a given data array A are mathematically equivalent. It's only a scaling factor which is needed to make sure, A equals ifft(fft(A)). That scaling is introduced in the inverse transform.

The transformation is computed by use of the native library which currently is set up for your processor and OS version. The underlying library is automatically choosen at ILNumerics startup and accessed via the static member ILMath.FFT. See the online documentation for more details in how to tune/configure and select dedicated native libraries.

[ILNumerics Computing Engine]

See Also