##### Parameters

`Complex32[]`

samples

Sample vector, where the FFT is evaluated in place.

- MathNet.Numerics
- MathNet.Numerics.Differentiation
- MathNet.Numerics.Distributions
- MathNet.Numerics.Financial
- MathNet.Numerics.IntegralTransforms
- MathNet.Numerics.Integration
- MathNet.Numerics.Interpolation
- MathNet.Numerics.LinearAlgebra
- MathNet.Numerics.LinearAlgebra.Complex
- MathNet.Numerics.LinearAlgebra.Complex.Solvers
- MathNet.Numerics.LinearAlgebra.Complex32
- MathNet.Numerics.LinearAlgebra.Complex32.Solvers
- MathNet.Numerics.LinearAlgebra.Double
- MathNet.Numerics.LinearAlgebra.Double.Solvers
- MathNet.Numerics.LinearAlgebra.Factorization
- MathNet.Numerics.LinearAlgebra.Single
- MathNet.Numerics.LinearAlgebra.Single.Solvers
- MathNet.Numerics.LinearAlgebra.Solvers
- MathNet.Numerics.LinearAlgebra.Storage
- MathNet.Numerics.LinearRegression
- MathNet.Numerics.OdeSolvers
- MathNet.Numerics.Optimization
- MathNet.Numerics.Optimization.LineSearch
- MathNet.Numerics.Optimization.ObjectiveFunctions
- MathNet.Numerics.Optimization.TrustRegion
- MathNet.Numerics.Providers
- MathNet.Numerics.Providers.FourierTransform
- MathNet.Numerics.Providers.LinearAlgebra
- MathNet.Numerics.Providers.SparseSolver
- MathNet.Numerics.Random
- MathNet.Numerics.RootFinding
- MathNet.Numerics.Statistics
- MathNet.Numerics.Statistics.Mcmc

**Type** Fourier

**Namespace** MathNet.Numerics.IntegralTransforms

Complex Fast (FFT) Implementation of the Discrete Fourier Transform (DFT).

Applies the forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
##### Parameters

`Complex32[]`

samplesSample vector, where the FFT is evaluated in place.

Applies the forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
##### Parameters

`Complex[]`

samplesSample vector, where the FFT is evaluated in place.

Applies the forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
##### Parameters

`Complex32[]`

samplesSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
##### Parameters

`Complex[]`

samplesSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
##### Parameters

`Single[]`

realReal part of the sample vector, where the FFT is evaluated in place.

`Single[]`

imaginaryImaginary part of the sample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
##### Parameters

`Double[]`

realReal part of the sample vector, where the FFT is evaluated in place.

`Double[]`

imaginaryImaginary part of the sample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the forward Fast Fourier Transform (FFT) to a two dimensional data in form of a matrix.
##### Parameters

`Matrix<T>`

samplesSample matrix, where the FFT is evaluated in place

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the forward Fast Fourier Transform (FFT) to two dimensional sample data.
##### Parameters

Data available organized column by column instead of row by row can be processed directly by swapping the rows and columns arguments.

`Complex[]`

samplesRowWiseSample data, organized row by row, where the FFT is evaluated in place

`int`

rowsThe number of rows.

`int`

columnsThe number of columns.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the forward Fast Fourier Transform (FFT) to two dimensional sample data.
##### Parameters

Data available organized column by column instead of row by row can be processed directly by swapping the rows and columns arguments.

`Complex32[]`

samplesRowWiseSample data, organized row by row, where the FFT is evaluated in place

`int`

rowsThe number of rows.

`int`

columnsThe number of columns.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the forward Fast Fourier Transform (FFT) to multiple dimensional sample data.
##### Parameters

`Complex32[]`

samplesSample data, where the FFT is evaluated in place.

`Int32[]`

dimensionsThe data size per dimension. The first dimension is the major one. For example, with two dimensions "rows" and "columns" the samples are assumed to be organized row by row.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the forward Fast Fourier Transform (FFT) to multiple dimensional sample data.
##### Parameters

`Complex[]`

samplesSample data, where the FFT is evaluated in place.

`Int32[]`

dimensionsThe data size per dimension. The first dimension is the major one. For example, with two dimensions "rows" and "columns" the samples are assumed to be organized row by row.

`FourierOptions`

optionsFourier Transform Convention Options.

Packed Real-Complex forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
Since for real-valued time samples the complex spectrum is conjugate-even (symmetry),
the spectrum can be fully reconstructed form the positive frequencies only (first half).
The data array needs to be N+2 (if N is even) or N+1 (if N is odd) long in order to support such a packed spectrum.
##### Parameters

`Double[]`

dataData array of length N+2 (if N is even) or N+1 (if N is odd).

`int`

nThe number of samples.

`FourierOptions`

optionsFourier Transform Convention Options.

Packed Real-Complex forward Fast Fourier Transform (FFT) to arbitrary-length sample vectors.
Since for real-valued time samples the complex spectrum is conjugate-even (symmetry),
the spectrum can be fully reconstructed from the positive frequencies only (first half).
The data array needs to be N+2 (if N is even) or N+1 (if N is odd) long in order to support such a packed spectrum.
##### Parameters

`Single[]`

dataData array of length N+2 (if N is even) or N+1 (if N is odd).

`int`

nThe number of samples.

`FourierOptions`

optionsFourier Transform Convention Options.

Generate the frequencies corresponding to each index in frequency space.
The frequency space has a resolution of sampleRate/N.
Index 0 corresponds to the DC part, the following indices correspond to
the positive frequencies up to the Nyquist frequency (sampleRate/2),
followed by the negative frequencies wrapped around.
##### Parameters

`int`

lengthNumber of samples.

`double`

sampleRateThe sampling rate of the time-space data.

Applies the inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
##### Parameters

`Double[]`

realReal part of the sample vector, where the iFFT is evaluated in place.

`Double[]`

imaginaryImaginary part of the sample vector, where the iFFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
##### Parameters

`Complex32[]`

spectrumSpectrum data, where the iFFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
##### Parameters

`Complex[]`

spectrumSpectrum data, where the iFFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
##### Parameters

`Complex[]`

spectrumSpectrum data, where the iFFT is evaluated in place.

Applies the inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
##### Parameters

`Complex32[]`

spectrumSpectrum data, where the iFFT is evaluated in place.

Applies the inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
##### Parameters

`Single[]`

realReal part of the sample vector, where the iFFT is evaluated in place.

`Single[]`

imaginaryImaginary part of the sample vector, where the iFFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the inverse Fast Fourier Transform (iFFT) to two dimensional sample data.
##### Parameters

Data available organized column by column instead of row by row can be processed directly by swapping the rows and columns arguments.

`Complex32[]`

spectrumRowWiseSample data, organized row by row, where the iFFT is evaluated in place

`int`

rowsThe number of rows.

`int`

columnsThe number of columns.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the inverse Fast Fourier Transform (iFFT) to two dimensional sample data.
##### Parameters

`Complex[]`

spectrumRowWiseSample data, organized row by row, where the iFFT is evaluated in place

`int`

rowsThe number of rows.

`int`

columnsThe number of columns.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the inverse Fast Fourier Transform (iFFT) to a two dimensional data in form of a matrix.
##### Parameters

`Matrix<T>`

spectrumSample matrix, where the iFFT is evaluated in place

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the inverse Fast Fourier Transform (iFFT) to multiple dimensional sample data.
##### Parameters

`Complex32[]`

spectrumSpectrum data, where the iFFT is evaluated in place.

`Int32[]`

dimensionsThe data size per dimension. The first dimension is the major one. For example, with two dimensions "rows" and "columns" the samples are assumed to be organized row by row.

`FourierOptions`

optionsFourier Transform Convention Options.

Applies the inverse Fast Fourier Transform (iFFT) to multiple dimensional sample data.
##### Parameters

The data size per dimension. The first dimension is the major one. For example, with two dimensions "rows" and "columns" the samples are assumed to be organized row by row.

`Complex[]`

spectrumSpectrum data, where the iFFT is evaluated in place.

`Int32[]`

dimensions`FourierOptions`

optionsFourier Transform Convention Options.

Packed Real-Complex inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
Since for real-valued time samples the complex spectrum is conjugate-even (symmetry),
the spectrum can be fully reconstructed form the positive frequencies only (first half).
The data array needs to be N+2 (if N is even) or N+1 (if N is odd) long in order to support such a packed spectrum.
##### Parameters

`Single[]`

dataData array of length N+2 (if N is even) or N+1 (if N is odd).

`int`

nThe number of samples.

`FourierOptions`

optionsFourier Transform Convention Options.

Packed Real-Complex inverse Fast Fourier Transform (iFFT) to arbitrary-length sample vectors.
Since for real-valued time samples the complex spectrum is conjugate-even (symmetry),
the spectrum can be fully reconstructed form the positive frequencies only (first half).
The data array needs to be N+2 (if N is even) or N+1 (if N is odd) long in order to support such a packed spectrum.
##### Parameters

`Double[]`

dataData array of length N+2 (if N is even) or N+1 (if N is odd).

`int`

nThe number of samples.

`FourierOptions`

optionsFourier Transform Convention Options.