Class DiscreteFourierTransform

java.lang.Object
org.ojalgo.data.transform.DiscreteFourierTransform
All Implemented Interfaces:
DataTransform<Access1D<?>,MatrixStore<ComplexNumber>>
Direct Known Subclasses:
DiscreteFourierTransform.FFT, DiscreteFourierTransform.FullMatrix, DiscreteFourierTransform.Single

public abstract class DiscreteFourierTransform extends Object implements DataTransform<Access1D<?>,MatrixStore<ComplexNumber>>
The discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a complex-valued function of frequency. The interval at which the DTFT is sampled is the reciprocal of the duration of the input sequence. An inverse DFT is a Fourier series, using the DTFT samples as coefficients of complex sinusoids at the corresponding DTFT frequencies. The DFT is therefore said to be a frequency domain representation of the original input sequence.

The fast Fourier transform (FFT) is an algorithm for computing the DFT; it achieves its high speed by storing and reusing results of computations as it progresses.

Calling the factory method newInstance(int) will return an FFT implementation if the size is a power of 2, and a full matrix implementation otherwise.