[ILNumerics Computing Engine]

**Namespace:**ILNumerics

**Assembly:**ILNumerics.Computing (in ILNumerics.Computing.dll) Version: 5.3.0.0 (5.3.7131.2749)

#### Parameters

- A
- Type: ILNumericsInArraycomplex

Complex hermitian input array, n-D - dims
- 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: RetArrayDoubleTransformation result, real array of the size specified by the 'dims' parameter

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

ArgumentException | is 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 complex 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]