[ILNumerics Computing Engine]

**Namespace:**ILNumerics

**Assembly:**ILNumerics.Computing (in ILNumerics.Computing.dll) Version: 5.5.0.0 (5.5.7503.3146)

#### Parameters

- A
- Type: ILNumericsInArrayfcomplex

input array - m
- Type: SystemUInt32

Transformation column length - n
- Type: SystemUInt32

Transformation row length

#### Return Value

Type: RetArrayfcomplexTransformation result

Exception | Condition |
---|---|

ArgumentException | is thrown if n or m is negative. In versions greater than 4.12 the API changed to UInt32 length paramters, making this exception obsolete. |

The transformation is computed for the first 2 dimensions, regardless of those dimensions being singleton or non-singleton. If A is an n-d array, the transformation is repeated for trailing dimensions of A respectively.

The data to be transformed (based on the A array) are resized according to the length parameter m and n. If m or n is larger then the length of the corresponding dimension of A, zeros will be padded, otherwise the dimensions are truncated respectively.

The two dimensional transformation is equivalent to repeatedly transforming the columns and after that transforming the rows 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.

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]