##### Parameters

`Complex[]`

samples

Sample vector, where the FFT is evaluated in place.

`FourierOptions`

options

Fourier Transform Convention Options.

- 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.Properties
- MathNet.Numerics.Providers.Common.Mkl
- MathNet.Numerics.Providers.FourierTransform
- MathNet.Numerics.Providers.FourierTransform.Mkl
- MathNet.Numerics.Providers.LinearAlgebra
- MathNet.Numerics.Providers.LinearAlgebra.Cuda
- MathNet.Numerics.Providers.LinearAlgebra.Mkl
- MathNet.Numerics.Providers.LinearAlgebra.OpenBlas
- 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).

- BluesteinForward
- BluesteinForward
- BluesteinInverse
- BluesteinInverse
- Forward
- Forward
- Forward
- Forward
- Forward
- Forward
- Forward2D
- Forward2D
- Forward2D
- ForwardMultiDim
- ForwardMultiDim
- ForwardReal
- ForwardReal
- FrequencyScale
- Inverse
- Inverse
- Inverse
- Inverse
- Inverse
- Inverse
- Inverse2D
- Inverse2D
- Inverse2D
- InverseMultiDim
- InverseMultiDim
- InverseReal
- InverseReal
- NaiveForward
- NaiveForward
- NaiveInverse
- NaiveInverse
- Radix2Forward
- Radix2Forward
- Radix2Inverse
- Radix2Inverse

Bluestein forward FFT for arbitrary sized sample vectors.
##### Parameters

`Complex[]`

samplesSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Bluestein forward FFT for arbitrary sized sample vectors.
##### Parameters

`Complex32[]`

samplesSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Bluestein inverse FFT for arbitrary sized sample vectors.
##### Parameters

`Complex32[]`

spectrumSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Bluestein inverse FFT for arbitrary sized sample vectors.
##### Parameters

`Complex[]`

spectrumSample 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

`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 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 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 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 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.

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.

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 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.

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

`Complex32[]`

spectrumSpectrum data, where the iFFT is evaluated in place.

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.

`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

`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 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 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.

Naive forward DFT, useful e.g. to verify faster algorithms.
##### Parameters

##### Return

`Complex[]`

samplesTime-space sample vector.

`FourierOptions`

optionsFourier Transform Convention Options.

`Complex[]`

Corresponding frequency-space vector.

Naive forward DFT, useful e.g. to verify faster algorithms.
##### Parameters

##### Return

`Complex32[]`

samplesTime-space sample vector.

`FourierOptions`

optionsFourier Transform Convention Options.

`Complex32[]`

Corresponding frequency-space vector.

Naive inverse DFT, useful e.g. to verify faster algorithms.
##### Parameters

##### Return

`Complex[]`

spectrumFrequency-space sample vector.

`FourierOptions`

optionsFourier Transform Convention Options.

`Complex[]`

Corresponding time-space vector.

Naive inverse DFT, useful e.g. to verify faster algorithms.
##### Parameters

##### Return

`Complex32[]`

spectrumFrequency-space sample vector.

`FourierOptions`

optionsFourier Transform Convention Options.

`Complex32[]`

Corresponding time-space vector.

Radix-2 forward FFT for power-of-two sized sample vectors.
##### Parameters

`Complex32[]`

samplesSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Radix-2 forward FFT for power-of-two sized sample vectors.
##### Parameters

`Complex[]`

samplesSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Radix-2 inverse FFT for power-of-two sized sample vectors.
##### Parameters

`Complex[]`

spectrumSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.

Radix-2 inverse FFT for power-of-two sized sample vectors.
##### Parameters

`Complex32[]`

spectrumSample vector, where the FFT is evaluated in place.

`FourierOptions`

optionsFourier Transform Convention Options.